侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 744 篇文章
  • 累计创建 64 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录
C

C语言学习小记(2)-关键字、常量与变量

zze
zze
2024-03-08 / 0 评论 / 0 点赞 / 33 阅读 / 12631 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

关键字

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语句的执行。

  • caseswitch语句中的分支标签。

  • continue:结束当前循环迭代,跳转到下一次循环条件判断。

  • defaultswitch语句的默认分支。

  • dodo-while循环的开始部分。

  • elseif语句或switch-case结构中未匹配情况的后续代码块。

  • for:循环控制结构。

  • goto:无条件跳转到同一函数内的标记处,不推荐使用。

  • if:条件控制结构。

  • return:从函数返回并可选地带有返回值。

  • switch:多分支选择结构。

  • while:循环控制结构。

其他关键字

  • const:声明只读变量或指针所指对象不可修改。

  • sizeof:运算符,计算变量或类型的大小(以字节为单位)。

  • _Bool:C99标准引入的布尔类型关键字,对应bool

  • _ComplexImaginary: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语言中,变量必须先声明后使用,声明时需要指定变量的类型和名称,并且可以初始化。

命名规则

  1. 变量名必须以字母(a-z或A-Z)或下划线(_)开头。不能以数字开始。

  2. 变量名可以包含后续的字母、数字和下划线,也就是说变量名的有效字符集包括 a-z、A-Z、0-9 和

  3. C语言是大小写敏感的,因此 myVariablemyvariable 是两个不同的变量名。

  4. 变量名不能是C语言的关键字。例如,不能将变量命名为 forwhile、int 等,因为这些是C语言保留的关键字。

  5. 变量名中不允许有空格或其他特殊字符(除了下划线 )。

  6. 命名应当直观且具有可读性,最好能够反映变量的用途或所存储的数据类型,如 studentNameagemaxTemperature 等。

  7. 虽然C语言没有严格的长度限制,但在实践中应尽量保持变量名简洁且有意义,避免过长的变量名,但如果必要,可以通过去掉冗余部分或者使用缩写来缩短名称,但需确保缩写仍然清晰易懂。

  8. 在同一程序中,每个变量名都应该是唯一的,即不可重复定义同名变量。

示例

#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语言中,常量是为了表示不可变的固定值而存在的,确保程序执行过程中的安全性和一致性;而变量则是用于存储可变数据的核心机制,允许程序根据条件或循环等结构动态地处理信息。

0

评论区