什么是关键字
在C语言中,关键字是指在编程语言中具有特殊用途或含义的单词,不能与任何标识符重名,也就是不能用来定义变量名、函数名等。
这些关键字是编程语言定义的保留字,一旦设置,就不能重新定义或者覆盖它们的含义。
在C语言中具有约40个关键字,下面我们将逐个介绍这些关键字。
C语言关键字列表
基本关键字
以下是C语言中最常用的基本关键字:
auto, break, case, char, const, continue, default, do, double, else, enum, extern,
float, for, goto, if, inline, int, long, register, restrict, return, short, signed,
sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while
扩展关键字
这里介绍一些其他的C语言扩展关键字:
_Bool, _Complex, _Imaginary,
Alignas, Alignof, Atomic,
Generic, Noreturn, Static_assert, Thread_local
关键字详解
auto
用来指定自动变量,用于在函数中定义局部变量,指示编译器存储数据在程序执行期间自动创建和销毁。
auto int x; /* 等同于 int x; */
break
用于退出循环,或者在switch语句中使用,以跳出当前的语句。
for(int i=0;i<10;i++)
{
if(i==5)
break;
printf("%d", i);
}
case
用于标记switch语句分支中的可执行代码,根据选择的值进行比较。
int num = 1;
switch (num)
{
case 1:
printf("num 等于 1");
break;
case 2:
printf("num 等于 2");
break;
default:
printf("我不知道 num 的值");
}
char
定义一个单字节字符,如字母、数字和标点符号等。
char ch = 'A';
const
定义一个常量,不允许在程序执行期间更改。如果尝试修改,将导致编译错误。
const int NUM = 5; /* NUM 是一个不可更改的常量 */
continue
被用于在循环中跳过一次迭代,执行下一个迭代。
for(int i=0;i<10;i++)
{
if(i==5)
continue;
printf("%d", i);
}
default
在switch语句中,用于标记未匹配任何case语句的情况。
int num = 3;
switch (num)
{
case 1:
printf("num 等于 1");
break;
case 2:
printf("num 等于 2");
break;
default:
printf("我不知道 num 的值");
}
do...while
用于执行一段语句并检查条件是否为真,如果为真将再次执行该语句。
int i = 0;
do {
printf("当前的 i 值是 %d\n", i);
i++;
} while (i < 5);
double
用于定义双精度浮点变量。
double d = 3.14159;
else
if语句不为真时执行的附加分支。
int num = 5;
if(num < 4)
{
printf("num 小于 4");
}
else
{
printf("num 大于等于 4");
}
enum
用于定义枚举数据类型,枚举是一组已命名的常量。
enum COLOR {RED, GREEN, BLUE} c;
extern
用于声明一个全局变量或函数,在其他文件中定义,可在当前文件中使用。
extern int x;
float
用于定义单精度浮点变量。
float f = 3.14;
for
用于执行循环控制,执行特定数量的次数。
for (int i=0; i<10; i++)
{
printf("%d ",i);
}
goto
通过标签跳转到带有提供标签的语句。
int i = 0;
loop:
printf("i 的值为 %d\n", i);
i++;
if (i < 5)
goto loop;
if
用于执行条件语句。
int num = 5;
if(num < 10)
{
printf("num 小于 10");
}
long
用于定义长整型变量。
long i = 100000;
register
用于声明变量位于CPU寄存器,并且允许快速访问。
register int counter;
return
用于从函数中返回值。
int add(int x, int y)
{
return x + y;
}
short
用于定义短整型变量。
short x = 32767;
signed
用于声明带符号变量。
signed int a = 1;
sizeOf
用于计算数据类型或变量占用的字节数。
printf("char 占用 %lu 字节\n", sizeof(char)); /* 输出 "char 占用 1 字节" */
printf("int 占用 %lu 字节\n", sizeof(int)); /* 输出 "int 占用 4 字节" */
printf("long 占用 %lu 字节\n", sizeof(long)); /* 输出 "long 占用 4 字节" */
printf("double 占用 %lu 字节\n", sizeof(double)); /* 输出 "double 占用 8 字节" */
static
用于声明静态变量,并在程序执行期间保持其值。
static int num = 0;
struct
用于定义复杂的数据类型,可以在一个结构体中组合多个变量。
struct Point {
int x;
int y;
};
struct Point p1 = {0, 0};
switch
用于根据条件从多个代码块中选择一个并执行。
int num = 3;
switch (num)
{
case 1:
printf("num 等于 1");
break;
case 2:
printf("num 等于 2");
break;
default:
printf("我不知道 num 的值");
}
typedef
用于为现有的数据类型定义别名。
typedef unsigned int uint32_t;
union
定义一个具有多种数据类型和值的变量。
union Data {
int i;
float f;
char str[20];
} data;
unsigned
用于声明无符号变量。
unsigned int a = 1;
void
用于指定没有返回值的函数,并且不能用于任何数据类型的数据声明。
void sayHello()
{
printf("Hello World");
}
while
用于运行特定的代码块,只要指定的条件是真的。
int i = 0;
while (i < 5)
{
printf("当前的 i 值是 %d\n", i);
i++;
}
总结
这篇文章介绍了C语言关键字的列表以及每个关键字的具体用法。掌握这些关键字是编写高效C程序的关键部分。希望这篇文章对C语言初学者有所帮助。