Skip to content

C语言大纲

第1组:程序结构与开发环境

目标:能写出并运行第一个C程序

  • C语言是什么?为什么学它?(简要历史、特点、应用场景)
  • 开发环境搭建(推荐:VS Code + GCC / Dev-C++ / Code::Blocks)
  • Hello World 程序解析
    • #include <stdio.h>
    • int main() 函数
    • printf()\n
    • 编译与运行流程(源代码 → 编译 → 可执行文件)
  • 注释:///* */

第2组:变量、数据类型与运算符

目标:能声明变量、存储数据、进行基本计算

  • 数据类型:
    • 整型:int, short, long
    • 浮点型:float, double
    • 字符型:char
    • 布尔逻辑(用 int 表示 true/false)
  • 变量命名规则与规范(标识符)
  • 常量:const#define
  • 基本运算符:
    • 算术:+ - * / %
    • 赋值:=, +=, ++
    • 关系:== != < > <= >=
    • 逻辑:&& || !
  • 类型转换(隐式与显式)

第3组:输入与输出(I/O)

目标:能与用户交互,读取和显示数据

  • printf() 格式化输出:
    • 占位符:%d %f %c %s
    • 控制宽度、精度
  • scanf() 格式化输入:
    • 注意取地址符 &
    • 输入缓冲区问题(简单提及)

第4组:流程控制(分支与循环)

目标:能根据条件执行不同代码,能重复执行任务

  • 分支结构:
    • if / else if / else
    • switch-case(配合 break
  • 循环结构:
    • while 循环
    • for 循环(重点:三要素)
    • do-while(了解)
  • 控制语句:break / continue

第5组:函数

目标:理解模块化编程,能自定义函数

  • 为什么需要函数?(复用、结构清晰)
  • 函数定义:返回值、参数、函数体
  • 函数声明(原型)与定义分离
  • 参数传递:值传递(强调C中没有“引用传递”)
  • 返回值:return 语句
  • 库函数 vs 自定义函数

第6组:数组

目标:能处理一组同类型数据

  • 一维数组:
    • 声明、初始化、访问(下标从0开始!)
    • 数组与循环结合(遍历、查找、排序)
  • 二维数组(简要):
    • 矩阵表示、初始化、遍历
  • 数组作为函数参数(退化为指针,先不深究)

第7组:指针(入门)

目标:理解“地址”概念,掌握基本指针操作

  • 内存地址与变量的关系(图解)
  • 指针变量:*&
    • 声明:int *p;
    • 取地址:p = &a;
    • 解引用:*p = 10;
  • 指针与数组的关系(arr[i] 等价于 *(arr + i)
  • 指针作为函数参数(实现“修改实参”)
  • ⚠️ 强调:空指针、野指针风险(只提,不深挖)

第8组:字符串与字符数组

目标:能处理文本数据

  • C语言中没有“字符串类型”,用 char[] 表示
  • 字符串以 \0 结尾
  • 常用字符串函数(<string.h>):
    • strlen(), strcpy(), strcat(), strcmp()
  • 字符串输入:scanf("%s", str) vs fgets()(防溢出)

第9组:结构体(struct)

目标:能组合不同类型数据

  • 结构体定义与使用
  • 结构体变量与指针
  • 结构体数组(如:学生信息数据存储形式)

第10组:补充与进阶引导

目标:了解C语言生态,为后续学习铺路

  • 文件操作基础(FILE*, fopen, fread, fprintf
  • 动态内存分配(malloc, free —— 简要介绍)
  • 头文件与多文件编程(.h.c 分离)
  • 调试技巧(断点、printf 调试)
  • 推荐后续方向:数据结构、操作系统、嵌入式开发

尘埃虽微,积之成集;问题虽小,记之为鉴。 雾中低语,心之所向;思绪飘渺,皆可成章。