一、存储类
存储类是C语言中用于控制变量的生命周期、作用域和存储位置的关键字。C语言中有四种存储类:自动存储类、静态存储类、寄存器存储类和外部存储类。下面分别介绍这四种存储类的特点和用法。
- 自动存储类(auto) 自动存储类是C语言中默认的存储类,用于定义局部变量。自动存储类的变量在函数内部定义,函数调用结束后会自动销毁。自动存储类的变量没有默认值,需要手动初始化。
示例:
void func() {
auto int num; // 自动存储类的变量
num = 10;
printf("%d\n", num);
}
- 静态存储类(static) 静态存储类用于定义静态变量,静态变量在程序执行期间一直存在,不会在函数调用结束后销毁。静态存储类的变量默认初始化为0。
示例:
void func() {
static int count = 0; // 静态存储类的变量
count++;
printf("%d\n", count);
}
- 寄存器存储类(register) 寄存器存储类用于定义寄存器变量,它告诉编译器将变量存储在寄存器中,以便快速访问。但是,寄存器存储类的变量不能取地址,因为寄存器的地址是无法获取的。
示例:
void func() {
register int i; // 寄存器存储类的变量
for (i = 0; i < 10; i++) {
printf("%d\n", i);
}
}
- 外部存储类(extern) 外部存储类用于定义全局变量,全局变量在程序的任何地方都可以访问。外部存储类的变量可以在其他文件中使用,需要使用extern关键字进行声明。
示例:
// file1.c
extern int count; // 外部存储类的变量声明
// file2.c
int count = 0; // 外部存储类的变量定义
二、运算符
运算符是C语言中用于进行各种运算操作的符号。C语言提供了多种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。下面介绍几种常用的运算符及其用法。
- 算术运算符 算术运算符用于进行基本的数学运算,包括加法(+)、减法(-)、乘法(*)、除法(/)和取模(%)等。
示例:
int a = 10, b = 5;
int sum = a + b; // 加法
int difference = a - b; // 减法
int product = a * b; // 乘法
int quotient = a / b; // 除法
int remainder = a % b; // 取模
- 关系运算符 关系运算符用于比较两个值的大小关系,返回结果为真(非零值)或假(0)。包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。
示例:
int a = 10, b = 5;
int result1 = a > b; // 大于
int result2 = a < b; // 小于
int result3 = a >= b; // 大于等于
int result4 = a <= b; // 小于等于
int result5 = a == b; // 等于
int result6 = a != b; // 不等于
- 逻辑运算符 逻辑运算符用于对多个条件进行逻辑运算,返回结果为真(非零值)或假(0)。包括逻辑与(&&)、逻辑或(||)和逻辑非(!)等。
示例:
int a = 10, b = 5, c = 0;
int result1 = (a > b) && (a > c); // 逻辑与
int result2 = (a > b) || (a > c); // 逻辑或
int result3 = !(a > b); // 逻辑非
- 位运算符 位运算符用于对二进制位进行操作,包括按位与(&)、按位或(|)、按位异或(^)和按位取反(~)等。
示例:
int a = 10, b = 5;
int result1 = a & b; // 按位与
int result2 = a | b; // 按位或
int result3 = a ^ b; // 按位异或
int result4 = ~a; // 按位取反
三、判断
判断是C语言中用于根据条件执行不同代码块的结构。C语言提供了if语句和switch语句来实现判断功能。
- if语句 if语句用于根据条件执行不同的代码块。如果条件为真,则执行if语句中的代码块;如果条件为假,则跳过if语句。
示例:
int num = 10;
if (num > 0) {
printf("num is positive\n");
} else if (num < 0) {
printf("num is negative\n");
} else {
printf("num is zero\n");
}
- switch语句 switch语句用于根据表达式的值选择执行不同的代码块。根据表达式的值,选择与之匹配的case标签,并执行相应的代码块。
示例:
int num = 2;
switch (num) {
case 1:
printf("num is 1\n");
break;
case 2:
printf("num is 2\n");
break;
default:
printf("num is not 1 or 2\n");
break;
}
四、循环
循环是C语言中用于重复执行一段代码的结构。C语言提供了for循环、while循环和do-while循环来实现不同类型的循环。
- for循环 for循环用于指定一个初始条件、循环条件和每次循环后的操作,循环条件为真时执行循环体。
示例:
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
- while循环 while循环用于在指定条件为真时重复执行一段代码
int i = 0;
while (i < 10) {
printf("%d\n", i);
i++;
}
- do-while循环 do-while循环先执行一次循环体,然后在指定条件为真时重复执行循环体。
示例:
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 10);
五、跳转
跳转是C语言中用于改变程序执行流程的结构。C语言提供了break语句、continue语句和return语句来实现不同类型的跳转。
- break语句 break语句用于终止当前循环或switch语句,并跳出循环或switch语句的代码块。
示例:
for (int i = 0; i < 10; i++) {
if (i == 5) {
break;
}
printf("%d\n", i);
}
- continue语句 continue语句用于跳过当前循环的剩余代码,并开始下一次循环。
示例:
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue;
}
printf("%d\n", i);
}
- return语句 return语句用于结束函数的执行,并返回一个值给调用者。
示例:
int add(int a, int b) {
return a + b;
}

3万+

被折叠的 条评论
为什么被折叠?



