C语言常用关键字

C语言常用关键字

1. 数据类型

  • int:表示整型数据。

  • float:表示单精度浮点型数据。

  • double:表示双精度浮点型数据。

  • char:表示字符型数据。

  • void:表示无类型,通常用于函数返回类型。

  • int a = 10;
    float b = 3.14;
    double c = 5.123456;
    char d = 'A';
    void func();  // 声明一个无返回值的函数
    

2. 控制语句

  • if:条件语句,用于执行条件为真的代码块。

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

  • switch:多分支选择语句。

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

  • default:用于switch语句中,当所有case都不匹配时执行。

  • for:用于执行固定次数的循环。

  • while:用于执行条件为真的循环。

  • do:与while配合使用,用于先执行后判断的循环。

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

  • continue:用于跳过当前循环中的剩余语句,继续下一次循环。

  • return:用于从函数中返回。

  • int x = 5;
    if (x > 0) {
        printf("x is positive\n");
    } else {
        printf("x is not positive\n");
    }
    
    for (int i = 0; i < 10; i++) {
        printf("%d\n", i);
    }
    
    while (x > 0) {
        printf("x = %d\n", x);
        x--;
    }
    
    switch (x) {
        case 0:
            printf("x is zero\n");
            break;
        default:
            printf("x is not zero\n");
    }
    

3. 存储类

  • auto:自动存储类型,局部变量的默认存储类型。

  • register:建议编译器将变量存储在CPU寄存器中,而不是内存中。

  • static:声明静态变量,变量在程序的整个生命周期内保持存在。

  • extern:声明外部变量,指向其他文件中定义的变量。

  • const:定义常量,变量的值不可改变。

  • auto int y = 0;       // 自动存储类型,局部变量
    register int z = 1;   // 寄存器变量,建议存储在寄存器中
    static int count = 0; // 静态变量,跨函数调用保持值
    extern int g_var;     // 外部变量声明,在其他文件中定义
    const int MAX = 100;  // 常量,值不可改变
    

4. 类型定义与结构体

  • struct:定义结构体类型。

  • union:定义共用体类型。

  • typedef:为类型定义新的名称。

  • enum:定义枚举类型。

  • struct Point {
        int x;
        int y;
    };
    
    typedef struct Point Point;  // 定义新的类型名称
    
    enum Weekday { MON, TUE, WED, THU, FRI, SAT, SUN };  // 枚举类型
    

5. 指针和内存

  • sizeof:返回数据类型或变量的字节大小。

  • volatile:指示变量可能会被外部因素修改,禁止编译器优化。

  • goto:无条件跳转语句,通常不建议使用。

  • int *p = &x;        // 定义一个指向整数的指针
    int size = sizeof(int);  // 获取int类型的大小
    volatile int v;     // 声明一个易变的变量
    goto label;         // 无条件跳转
    label:
    printf("Jumped to label\n");
    

6. 其他关键字

  • inline:提示编译器将函数定义为内联函数。

  • volatile:声明变量的值可能会被程序之外的因素改变。

  • restrict:指示指针是唯一访问某对象的方式,用于优化。

  • inline void say_hello() {
        printf("Hello, World!\n");
    }
    
    restrict int *ptr = malloc(sizeof(int) * 10);  // 限制指针访问
    

7. 内存管理

  • malloc:动态分配内存,返回指向分配空间的指针。

  • free:释放由malloc或其他内存分配函数分配的内存。

  • calloc:分配零初始化的内存块,返回指向该块的指针。

  • realloc:调整已分配内存块的大小。

  • int *arr = (int *)malloc(10 * sizeof(int));  // 动态分配内存
    if (arr != NULL) {
        free(arr);  // 释放内存
    }
    

8. 预处理指令

  • #define:定义宏,通常用于常量或简单的代码替换。

  • #include:引入头文件,用于包含外部定义的函数或数据类型。

  • #ifdef / #ifndef:条件编译,用于检查宏是否定义。

  • #endif:结束条件编译块。

  • #undef:取消宏定义。

  • #pragma:特定于编译器的指令,用于控制编译过程中的行为。

  • #define PI 3.14  // 定义宏
    #include <stdio.h>  // 包含标准输入输出库
    
    #ifdef DEBUG
        printf("Debug mode\n");
    #endif
    

9. 库函数(常用标准库)

虽然这些不是关键字,但常与C语言关键字一起使用:

  • printf:输出格式化字符串到标准输出。

  • scanf:从标准输入读取格式化输入。

  • strlen:计算字符串长度。

  • strcpy:复制字符串。

  • #include <stdio.h>
    #include <string.h>
    
    int main() {
        char str[100] = "Hello";
        printf("Length: %lu\n", strlen(str));  // 计算字符串长度
        strcpy(str, "World");  // 复制字符串
        printf("New String: %s\n", str);
        return 0;
    }
    

10. 其他常用关键字

  • signed:声明有符号类型变量。

  • unsigned:声明无符号类型变量。

  • long:声明长整型数据类型,表示更大的整数。

  • short:声明短整型数据类型,表示较小的整数。

  • unsigned int positive = 10;  // 无符号整数
    signed int negative = -10;   // 有符号整数
    long int large = 100000L;    // 长整型
    short int small = 5;         // 短整型
    
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值