关键字
C语言的关键字(保留字)是编程时具有特殊含义的预定义标识符,不能用作变量名、函数名或其他用户自定义标识符。根据它们的功能和用途,C语言的关键字可以分为以下几类:
存储类型关键字
auto:声明自动存储期限的局部变量,在函数执行完毕后自动释放。static:用于声明静态存储期限的变量或函数,对于局部变量意味着生存期从程序开始到结束,对于全局变量则限制其作用域在当前文件内。register:建议编译器将变量存储在寄存器中以提高访问速度,但不保证一定存储在寄存器中。extern:声明一个外部链接的变量或函数,可以在其他文件中定义。
数据类型关键字
char:声明字符型变量或函数。double:声明双精度浮点型变量或函数。enum:声明枚举类型。float:声明单精度浮点型变量或函数。int:声明整型变量或函数。long:与int一起使用表示长整型,或者单独用于声明长双精度浮点型(例如long double)。short:与int一起使用表示短整型。signed:指定类型的变量为有符号类型,默认情况下,int类型既可以是有符号也可以是无符号的。struct:声明结构体类型。union:声明联合类型。unsigned:指定类型的变量为无符号类型。void:表示函数没有返回值或指针类型没有指向的数据类型。
控制语句关键字
break:终止循环或switch语句的执行。case:switch语句中的分支标签。continue:结束当前循环迭代,跳转到下一次循环条件判断。default:switch语句的默认分支。do:do-while循环的开始部分。else:if语句或switch-case结构中未匹配情况的后续代码块。for:循环控制结构。goto:无条件跳转到同一函数内的标记处,不推荐使用。if:条件控制结构。return:从函数返回并可选地带有返回值。switch:多分支选择结构。while:循环控制结构。
其他关键字
const:声明只读变量或指针所指对象不可修改。sizeof:运算符,计算变量或类型的大小(以字节为单位)。_Bool:C99标准引入的布尔类型关键字,对应bool。_Complex和Imaginary:C99标准引入的复数和虚数类型关键字。Alignas、_Alignof:C11标准引入的对齐说明符。_Atomic:C11标准引入的原子类型属性关键字。_Static_assert:编译时断言,C11标准引入。_Noreturn:表明函数不会返回的属性关键字。_Thread_local:C11标准引入的线程局部存储属性关键字。_Generic:C11标准引入的泛型选择表达式关键字。
常量与变量
在C语言中,常量和变量是两种基本的数据存储形式,它们在程序运行时具有不同的性质。
常量(Constants)
常量是在程序执行过程中其值始终保持不变的量。一旦定义了常量,就不能再更改它的值。C语言中的常量可以是数值型、字符型或其他类型,并且可以通过直接赋值或使用预处理器宏来定义。
示例
直接常量(字面常量)
整型常量:
int const myInteger = 100;浮点型常量:
double const myFloat = 3.1415926535;字符常量:
char const myChar = 'A';字符串常量:
const char *myString = "Hello, World!";
符号常量(通过#define预处理器定义)
#define PI 3.1415926535 // 定义一个浮点数常量PI
int main() {
double circumference = 2 * PI * 5; // 使用符号常量计算圆周长
return 0;
}const关键字定义的常量
const int MAX_ELEMENTS = 100; // 定义一个整型常量MAX_ELEMENTS变量(Variables)
变量是在程序运行过程中其值可以改变的量。在C语言中,变量必须先声明后使用,声明时需要指定变量的类型和名称,并且可以初始化。
命名规则
变量名必须以字母(a-z或A-Z)或下划线(_)开头。不能以数字开始。
变量名可以包含后续的字母、数字和下划线,也就是说变量名的有效字符集包括 a-z、A-Z、0-9 和 。
C语言是大小写敏感的,因此
myVariable与myvariable是两个不同的变量名。变量名不能是C语言的关键字。例如,不能将变量命名为
for、while、int 等,因为这些是C语言保留的关键字。变量名中不允许有空格或其他特殊字符(除了下划线 )。
命名应当直观且具有可读性,最好能够反映变量的用途或所存储的数据类型,如
studentName、age、maxTemperature等。虽然C语言没有严格的长度限制,但在实践中应尽量保持变量名简洁且有意义,避免过长的变量名,但如果必要,可以通过去掉冗余部分或者使用缩写来缩短名称,但需确保缩写仍然清晰易懂。
在同一程序中,每个变量名都应该是唯一的,即不可重复定义同名变量。
示例
#include <stdio.h>
int main() {
int age; // 声明一个整型变量age,但未初始化
float weight = 75.5; // 声明并初始化一个浮点型变量weight
// 给age赋值
age = 30;
// 输出变量的值
printf("Age: %d\n", age);
printf("Weight: %.2f\n", weight);
// 在程序执行过程中,这些变量的值可以被重新赋值和修改
return 0;
}总结来说,在C语言中,常量是为了表示不可变的固定值而存在的,确保程序执行过程中的安全性和一致性;而变量则是用于存储可变数据的核心机制,允许程序根据条件或循环等结构动态地处理信息。
评论区