C语言程序设计
C语言课程内容与案例整理
⭐ 高优先级:必须掌握,所有 C 语言程序都由这些关键字组合而成
关键字(Keywords)是 C 语言中预保留且具有特殊含义的单词,不能用作变量名、函数名或其他用户定义的标识符。C 语言共有 32 个关键字,掌握它们就等于掌握了 C 语言的核心。
关键字按功能大致分为:
| 关键字 | 说明 | 示例 |
|---|---|---|
void |
声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 | void func(void); |
char |
字符型数据,属于整型数据的一种,通常占 1 字节 | char c = 'A'; |
int |
整型数据,通常为编译器指定的机器字长 | int age = 25; |
float |
单精度浮点型数据,小数点后保存 6 位有效数字 | float pi = 3.14f; |
double |
双精度浮点型数据,小数点后保存 15-16 位有效数字 | double e = 2.71828; |
| 关键字 | 说明 | 示例 |
|---|---|---|
short |
修饰 int,短整型数据,可省略被修饰的 int | short s = 100; |
long |
修饰 int,长整型数据,可省略被修饰的 int | long l = 100000L; |
signed |
修饰整型数据,有符号数据类型(默认) | signed int i = -10; |
unsigned |
修饰整型数据,无符号数据类型,只能表示正数 | unsigned int u = 10; |
| 关键字 | 说明 | 示例 |
|---|---|---|
struct |
结构体声明,将不同类型的数据组合在一起 | struct Student { int age; char name[20]; }; |
union |
共用体声明,不同类型数据共享同一内存空间 | union Data { int i; float f; }; |
enum |
枚举声明,定义一组命名的整数常量 | enum Color { RED, GREEN, BLUE }; |
| 关键字 | 说明 | 作用域 | 生命周期 |
|---|---|---|---|
auto |
自动变量,由编译器自动分配及释放,通常在栈上分配 | 局部 | 临时 |
static |
静态变量,分配在静态变量区;修饰函数时限定作用域为文件内部 | 局部/全局 | 永久 |
register |
寄存器变量,建议编译器将变量存储到寄存器中以提高访问速度 | 局部 | 临时 |
extern |
外部变量,声明变量或函数在其他文件中定义 | 全局 | 永久 |
typedef |
类型别名,为已有类型定义新的名称 | - | - |
提示
auto 是局部变量的默认存储类型,很少显式使用。static 用于限制变量作用域或延长生命周期。register 只是建议,编译器可能忽略。extern 用于跨文件共享变量和函数。typedef 不创建新类型,只是为现有类型创建别名。| 关键字 | 说明 | 示例 |
|---|---|---|
if |
条件判断语句 | if (x > 0) { ... } |
else |
与 if 配合使用,条件不满足时执行 | else { ... } |
switch |
多分支选择语句 | switch (day) { ... } |
case |
switch 中的分支标签 |
case 1: ...; |
default |
switch 中的默认分支 |
default: ...; |
| 关键字 | 说明 | 示例 |
|---|---|---|
for |
for 循环语句 |
for (int i = 0; i < 10; i++) { ... } |
while |
while 循环语句 |
while (condition) { ... } |
do |
do-while 循环语句,先执行后判断 |
do { ... } while (condition); |
| 关键字 | 说明 | 示例 |
|---|---|---|
break |
跳出当前循环或 switch 语句 |
break; |
continue |
结束本次循环,开始下一次循环 | continue; |
goto |
无条件跳转语句(不推荐) | goto label; |
return |
从函数返回,可带回返回值 | return 0; |
| 关键字 | 说明 | 示例 |
|---|---|---|
sizeof |
计算特定类型或变量的大小(字节) | int size = sizeof(int); |
C 语言 32 个关键字按字母顺序排列:
1 | auto break case char const continue |
💡 C99 新增
_Bool、_Complex、_Imaginary;C11 新增_Alignas、_Generic等。传统的 32 个关键字仍是最核心、最常用的一组。
struct vs union、while vs do-while 等。