1. 程序结构
一个C语言程序由函数组成,其中 main 函数是程序的入口。程序从 main 函数开始执行,到 main 函数结束。
c
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
2. 数据类型
C语言提供了丰富的数据类型,主要分为基本类型、构造类型、指针类型和空类型。
| 类型 | 关键字 | 大小(字节) | 取值范围 |
|---|---|---|---|
| 字符型 | char | 1 | -128 ~ 127 |
| 短整型 | short | 2 | -32768 ~ 32767 |
| 整型 | int | 4 | -2147483648 ~ 2147483647 |
| 长整型 | long | 4 或 8 | 取决于平台 |
| 单精度浮点型 | float | 4 | 约 3.4E-38 ~ 3.4E+38 |
| 双精度浮点型 | double | 8 | 约 1.7E-308 ~ 1.7E+308 |
| 无符号字符型 | unsigned char | 1 | 0 ~ 255 |
| 无符号整型 | unsigned int | 4 | 0 ~ 4294967295 |
3. 变量与常量
3.1 变量定义
变量是程序运行过程中值可以改变的量,定义格式为「类型 + 变量名」。
c
int age = 25;
float price = 99.5;
char grade = 'A';
3.2 常量
常量是程序运行过程中值不可改变的量,使用 const 关键字或 #define 宏定义。
c
const int MAX_SIZE = 100;
#define PI 3.14159
4. 运算符与表达式
4.1 算术运算符
| 运算符 | 含义 | 示例 |
|---|---|---|
| + | 加法 | a + b |
| - | 减法 | a - b |
| * | 乘法 | a * b |
| / | 除法 | a / b |
| % | 取余 | a % b |
4.2 关系运算符
关系运算符用于比较两个值的大小关系,结果为真(1)或假(0)。
c
int a = 5, b = 3;
if (a > b) {
printf("a 大于 b\n");
}
4.3 逻辑运算符
| 运算符 | 含义 | 示例 |
|---|---|---|
| && | 逻辑与 | (a > 0) && (b > 0) |
| || | 逻辑或 | (a > 0) || (b > 0) |
| ! | 逻辑非 | !(a > 0) |
5. 流程控制语句
5.1 条件语句
c
int score = 85;
if (score >= 90) {
printf("优秀\n");
} else if (score >= 60) {
printf("及格\n");
} else {
printf("不及格\n");
}
5.2 switch 语句
c
int day = 3;
switch (day) {
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
default:
printf("其他\n");
break;
}
5.3 循环语句
for 循环:
c
for (int i = 0; i < 5; i++) {
printf("i = %d\n", i);
}
while 循环:
c
int i = 0;
while (i < 5) {
printf("i = %d\n", i);
i++;
}
do-while 循环:
c
int i = 0;
do {
printf("i = %d\n", i);
i++;
} while (i < 5);
6. 数组
数组是相同类型元素的集合,通过下标访问元素,下标从 0 开始。
c
int numbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
printf("numbers[%d] = %d\n", i, numbers[i]);
}
7. 函数
函数是完成特定任务的代码块,可以接收参数并返回结果。
c
int add(int a, int b) {
return a + b;
}
int main() {
int result = add(3, 5);
printf("3 + 5 = %d\n", result);
return 0;
}
8. 指针
指针是存储变量地址的变量,是C语言的精髓所在。
c
int value = 42;
int *ptr = &value;
printf("value = %d\n", *ptr); // 通过指针访问值
9. 结构体
结构体用于将不同类型的数据组合成一个整体。
c
struct Student {
char name[50];
int age;
float score;
};
int main() {
struct Student stu = {"张三", 20, 88.5};
printf("姓名:%s\n", stu.name);
printf("年龄:%d\n", stu.age);
printf("成绩:%.1f\n", stu.score);
return 0;
}
10. 总结
以上是C语言的核心语法要点,包括程序结构、数据类型、变量常量、运算符、流程控制、数组、函数、指针和结构体。掌握这些基础语法后,就可以开始编写简单的C语言程序,并逐步深入学习更高级的主题,如动态内存管理、文件操作和链表等数据结构。