c语言有哪些合法关键字

什么是关键字

在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语言初学者有所帮助。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签