快速掌握C语言关键字

描述

C语言中的32个关键字你知道多少个呢?根据关键字的作用分为四类:数据类型关键字、控制语句关键字、存储类型关键字和其它关键字。

字符

1.1 基本数据类型

  1. int:用于声明整数类型的变量。
  2. char:用于声明字符类型的变量。
  3. float:用于声明单精度浮点数类型的变量。
  4. double:用于声明双精度浮点数类型的变量。


 

1.2 修饰符

这些修饰符用于改变基本数据类型的存储大小和范围。

1. short:用于声明短整数类型的变量,通常比int短。

2. long:用于声明长整数类型的变量,通常比int长。

3. signed:用于声明有符号数类型的变量(默认情况下,整数类型是有符号的)。

4. unsigned:用于声明无符号数类型的变量。

1.3 派生类型

这些关键字用于声明复杂类型的变量。

  1. struct:用于声明结构体类型。
  2. union:用于声明共用体类型。
  3. enum:用于声明枚举类型。
     

1.4 类型定义

  1. typedef:用于给现有类型起别名。
  2. void:用于声明无类型,常用于函数返回类型。

 

1.5 类型限定符
 

这些限定符用于改变变量的存储和优化方式。

  1. const:用于声明常量,表示变量的值不能被修改。
  2. volatile:用于声明易变变量,表示变量的值可能被程序之外的因素改变,编译器不会对其进行优化。
  3. restrict:用于指针声明,表示指针是唯一访问对象的方式,能够帮助编译器优化代码。

1.6 复合类型

  1. _Bool:用于声明布尔类型的变量。
  2. _Complex:用于声明复数类型的变量(C99)。
  3. _Imaginary:用于声明虚数类型的变量(C99)。

1.7 标准库类型

通过标准库中的头文件,可以引入更多的数据类型关键字,例如 stddef.h 中的 size_t, stdint.h 中的 int32_t 等。这些关键字构成了C语言的数据类型系统,允许程序员根据需要声明和定义各种变量和数据结构。


 

字符

2.1 条件控制语句
 

if:用于条件判断。

if (condition) {     

// code to be executed if condition is true 

}

else:用于与if配合,处理条件为假的情况。

if (condition) {    

// code to be executed if condition is true 

} else {    

// code to be executed if condition is false 

}

else if:用于在if和else之间检查其他条件。

if (condition1) {   

 // code to be executed if condition1 is true 

} else if (condition2) {    

// code to be executed if condition2 is true 

} else {    

// code to be executed if both conditions are false 

}

2.2 选择控制语句

switch:用于根据变量的值进行多分支选择。

switch (variable) {    

case value1:        

// code to be executed if variable == value1        

break;    

case value2:       

 // code to be executed if variable == value2        

break;    

// other cases    

default:        

// code to be executed if variable doesn't match any case}

case:用于定义switch语句中的分支。

default:用于定义switch语句中的默认分支。

 

2.3 循环控制语句

while:用于条件控制的循环,在每次循环前检查条件。

while (condition) {     // code to be executed repeatedly while condition is true  

}

do...while:用于条件控制的循环,在每次循环后检查条件,保证循环体至少执行一次。
 

do {     

// code to be executed repeatedly  

} while (condition);

for:用于计数控制的循环。
 

for (initialization; condition; increment) {     

// code to be executed repeatedly while condition is true  

}

 

2.4 跳转控制语句

break:用于退出当前的循环或switch语句。

break;

continue:用于跳过当前循环中的剩余代码,直接进入下一次循环。

continue;

return:用于从函数中返回。
 

return value;‍

goto:用于无条件跳转到标号为label的语句。
 

goto label; 

// other code 

label:

// code to be executed after the jump


 

2.5 其他控制语句

sizeof:用于获取变量或类型的大小(以字节为单位)。

sizeof(type);‍

assert:用于在调试时检查条件是否为真,条件为假时终止程序执行(需要包含assert.h头文件)。
 

assert(condition);

这些关键字帮助程序员控制程序的执行流程,实现条件判断、循环、跳转等功能。

 

字符

auto:是局部变量的默认存储类。它表示变量具有自动存储持续时间,即变量在进入其作用域时被创建,在退出其作用域时被销毁。通常用于函数内部的局部变量,现代编译器可以省略此关键字。
 

auto int x = 10; // 等同于 int x = 10;

register:建议编译器将变量存储在CPU寄存器中,而不是在内存中,从而提高访问速度。寄存器变量不能取地址(即不能使用&操作符)。

register int counter = 0;

static:有三种主要用途:1.在函数内部:表示局部变量在函数调用之间保持其值,而不是每次调用时重新创建。

void func() {    

static int count = 0; // count在第一次调用时被初始化,后续调用时保持其值    

count++;    

printf("%d\n", count); 

}

2.在函数外部:表示变量在整个程序的生命周期内可见,但仅在定义它的文件内可见(即具有文件作用域)。

static int globalVar = 100; // 仅在定义它的文件内可见

3.在函数声明前:表示函数仅在定义它的文件内可见。

static void helperFunction() {    

// 仅在定义它的文件内可见 

}

extern:用于声明在其他文件中定义的变量或函数,使得可以在当前文件中引用它们。它表示变量或函数的定义在其他地方(可能是其他文件),但可以在当前文件中使用。

extern int globalVar; // 引用其他文件中定义的变量extern void someFunction(); // 引用其他文件中定义的函数

_Thread_local:用于声明线程局部存储(TLS)变量,每个线程都有独立的实例。可以与static或extern结合使用。
 

_Thread_local int threadVar = 0; // 每个线程都有独立的threadVar实例

这些存储类型关键字提供了灵活的方式来管理变量的存储、作用域和生命周期,从而优化程序性能和内存使用。

字符


 

C语言中有34种运算符,涵盖了算术运算、关系运算、逻辑运算、位运算、赋值运算和其他特殊运算。以下是这些运算符的详细分类和用法:

字符

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分