C语言关键字一共是auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while
为什么有的标红,有的标蓝呢,因为在“C语言-来复习一波C语言的关键字吧-1”中,已经将标红的6个关键字进行了一波分析和复习,今天就复习标蓝色的六个关键字。
1、关键字default
default用于switch语句中的默认情况,表示当所有case条件都不满足时,执行default后的语句。例如:
switch (num)
{
case 1:
printf("num is 1\n");
break;
case 2:
printf("num is 2\n");
break;
default:
printf("num is neither 1 nor 2\n");
break;
}
如果num不等于1也不等于2,那么就会执行default后的语句,输出"num is neither 1 nor 2"。
注意,default语句可以放在任意位置,但是通常放在最后。
2、关键字do
do通常与while关键字一起使用,组成do-while循环结构。
do-while循环结构的语法如下:
```
do {
// 循环体
} while (条件表达式);
```
do-while循环结构的执行流程如下:
1. 先执行do后面的循环体。
2. 然后判断条件表达式的值,如果为真,则继续执行循环体,否则跳出循环。
需要注意的是,do-while循环结构至少会执行一次循环体,即使条件表达式一开始就为假。
下面是一个简单的例子,演示了do-while循环结构的用法:
```
#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d\n", i);
i++;
} while (i < 5);
return 0;
}
```
输出结果为:
```
0
1
2
3
4
```
在这个例子中,我们使用do-while循环结构输出了0到4这5个数字。循环体中先输出i的值,然后将i加1,直到i的值大于等于5时跳出循环。由于do-while循环结构至少会执行一次循环体,所以即使i的初始值为0,循环体也会被执行一次。
3、关键字double
double是用来定义双精度浮点型变量。双精度浮点型变量可以表示更大范围的数值和更高精度的小数。
双精度浮点型变量的定义格式为:
双精度浮点型变量的赋值方式与其他变量相同,可以使用赋值运算符“=”来给变量赋值。
例如:
双精度浮点型变量可以进行各种数**算,包括加减乘除、取余数、比较大小等等。
例如:
double b = 2.7182818;
double c = a + b;
double d = a * b;
double e = a / b;
double f = a % b;
if (a > b)
{
printf("a is greater than b\n");
} else
{
printf("a is less than or equal to b\n");
}
4、关键字else
else用于在if语句中表示当条件不成立时要执行的操作。else语句必须紧跟在if语句的花括号后面,并且else语句中的代码块也必须用花括号括起来。else语句可以单独使用,也可以与if语句一起使用,形成if-else语句,如下所示:
```
if (condition)
{
// 如果条件成立,执行这里的代码
} else {
// 如果条件不成立,执行这里的代码
}
```
if-else语句可以根据条件执行不同的代码块,非常适合用于编写程序中的分支结构。
5、关键字enum
enum用于定义枚举类型。枚举类型是一种用户自定义的数据类型,可以用来定义一组有限的取值,这些取值称为枚举常量。
枚举类型的语法格式如下:
```
enum 枚举类型名
{
枚举常量1,
枚举常量2,
...
};
```
其中,枚举常量可以是整型常量、字符常量或者枚举常量本身。枚举常量的值默认从0开始自动递增,也可以手动指定其值。
使用枚举类型可以增加程序的可读性和可维护性。例如:
```
enum Weekday
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
int main()
{
enum Weekday today = Monday;
if (today == Saturday || today == Sunday)
{
printf("It's weekend!\n");
} else {
printf("It's a weekday.\n");
}
return 0;
}
```
以上代码定义了一个Weekday枚举类型,表示一周的七天。在main函数中,将today变量初始化为Monday,然后根据today的值判断是周末还是工作日。
6、关键字extern
extern它用于声明外部变量或函数。
1. 声明外部变量
当在一个文件中声明一个变量,但该变量的定义在另一个文件中时,可以使用extern关键字来声明该变量。这样,在编译时,编译器就知道该变量是在其他文件中定义的,并且在链接时,链接器会将所有文件中的变量定义进行合并。
例如,在一个文件中声明一个全局变量:
```c
extern int global_var;
```
然后在另一个文件中定义该变量:
```c
int global_var = 10;
```
这样,在编译时,编译器就知道global_var是在其他文件中定义的。
2. 声明外部函数
当在一个文件中调用一个函数,但该函数的定义在另一个文件中时,也可以使用extern关键字来声明该函数。这样,在编译时,编译器就知道该函数是在其他文件中定义的,并且在链接时,链接器会将所有文件中的函数定义进行合并。
例如,在一个文件中声明一个函数:
```c
extern void func();
```
然后在另一个文件中定义该函数:
```c
void func()
{
printf("Hello World!\n");
}
```
这样,在编译时,编译器就知道func是在其他文件中定义的。
总之,extern关键字用于声明外部变量或函数,使得程序可以跨文件使用这些变量或函数。
|