C 语言关键字全解析:从简单到复杂,一文读懂

嘿,小伙伴们!今天咱们来一场 C 语言关键字的趣味之旅。C 语言的关键字就像是构建程序的魔法砖块,每一个都有着独特的功能和用途。为了让大家更容易理解,我将这些关键字分为两组:简单易懂的和稍微复杂一点的。无论你是初学者还是有一定经验的开发者,都能在这篇博客中找到有用的知识点。

目录

A组:简单易懂的关键字

int

char

float

double

if

else

for

while

do

break

continue

return

void

B组:稍微复杂一点的关键字

struct

union

typedef

enum

extern

static

const

volatile

sizeof

goto

switch

case

default

register

long

short

signed

unsigned

总结


A组:简单易懂的关键字

int

int 是 C 语言中最常见的关键字之一,用于声明整数类型的变量。它可以存储整数,比如 1、2、-3 等。几乎每个 C 程序都会用到它。

c

int age = 25; // 声明一个整数变量 age,并赋值为 25

char

char 是字符类型的关键字,用于存储单个字符,比如 'A'、'b'、'5' 等。它占用 1 个字节的空间。

c

char grade = 'A'; // 声明一个字符变量 grade,并赋值为 'A'

float

float 是浮点类型的关键字,用于存储小数,比如 3.14、-0.5 等。它占用 4 个字节的空间。

c

float pi = 3.14f; // 声明一个浮点变量 pi,并赋值为 3.14

double

double 是双精度浮点类型的关键字,用于存储更高精度的小数,比如 3.1415926 等。它占用 8 个字节的空间。

c

double pi = 3.1415926; // 声明一个双精度浮点变量 pi

if

if 是条件语句的关键字,用于根据条件执行不同的代码块。它是程序逻辑控制的基础。

c

int score = 80;
if (score >= 60) {
    printf("及格啦!\n");
}

else

elseif 配合使用,表示当条件不满足时执行的代码块。

c

int score = 50;
if (score >= 60) {
    printf("及格啦!\n");
} else {
    printf("需要努力!\n");
}

for

for 是循环语句的关键字,用于重复执行一段代码。它的结构是 for (初始化;条件;更新)

c

for (int i = 0; i < 5; i++) {
    printf("这是第 %d 次循环\n", i);
}

while

while 是另一种循环语句的关键字,用于在条件为真时重复执行代码。

c

int i = 0;
while (i < 5) {
    printf("i: %d\n", i);
    i++;
}

do

do ... while 是一种至少执行一次的循环语句。

c

int i = 0;
do {
    printf("i: %d\n", i);
    i++;
} while (i < 5);

break

break 用于跳出循环或 switch 语句。

c

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break; // 当 i 为 5 时,跳出循环
    }
    printf("%d\n", i);
}

continue

continue 用于跳过当前循环的剩余部分,直接进入下一次循环。

c

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue; // 跳过偶数
    }
    printf("%d\n", i); // 输出奇数
}

return

return 用于从函数中返回一个值,并结束函数的执行。

c

int add(int a, int b) {
    return a + b; // 返回两个数的和
}

void

void 表示“无类型”,常用于函数不返回值或指针不指向数据类型时。

c

void printMessage() {
    printf("Hello, World!\n");
}

B组:稍微复杂一点的关键字

struct

struct 用于定义结构体,结构体是一种用户自定义的数据类型,可以包含多个不同类型的成员。

c

struct Person {
    char name[50];
    int age;
    float height;
};

struct Person person1 = {"Alice", 25, 165.5};

union

unionstruct 类似,但它的所有成员共享同一块内存空间。

c

union Data {
    int i;
    float f;
    char str[20];
};

union Data data;
data.i = 10;
printf("data.i: %d\n", data.i);
data.f = 3.14;
printf("data.f: %f\n", data.f);

typedef

typedef 用于为已有的数据类型定义一个新的名字,方便简化代码。

c

typedef unsigned int uint;
uint num = 10; // 等价于 unsigned int num = 10;

enum

enum 用于定义枚举类型,枚举是一种用户自定义的数据类型,包含一组命名的常量。

c

enum Week {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};
enum Week today = Monday;

extern

extern 用于声明变量或函数是在其他文件中定义的,方便在多个文件中共享。

c

// file1.c
int globalVar = 10;

// file2.c
extern int globalVar;
printf("%d\n", globalVar); // 输出 10

static

static 用于声明静态变量,静态变量在程序的生命周期内都存在,而不是每次函数调用时重新创建。

c

void func() {
    static int count = 0;
    count++;
    printf("count: %d\n", count); // 每次调用都会累加
}

const

const 用于声明常量,常量的值在程序运行时不能被修改。

c

const int MAX_SIZE = 100; // MAX_SIZE 的值不能修改

volatile

volatile 用于声明变量可能会被程序之外的因素(如硬件中断)修改,防止编译器优化。

c

volatile int sensorData;

sizeof

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

c

int a;
printf("int 的大小是:%lu 字节\n", sizeof(a)); // 输出 int 的大小

goto

goto 用于无条件跳转到程序中的某个标签位置,但滥用 goto 会让代码难以维护。

c

goto end;
printf("这段代码不会被执行\n");
end:
    printf("跳转到这里\n");

switch

switch 用于多分支选择,搭配 casedefault 使用。

c

int option = 2;
switch (option) {
    case 1:
        printf("选择 1\n");
        break;
    case 2:
        printf("选择 2\n");
        break;
    default:
        printf("未知选择\n");
}

case

caseswitch 语句的一部分,表示一个分支。

c

// 见 switch 示例

default

defaultswitch 语句的一部分,表示默认分支。

c

// 见 switch 示例

register

register 用于建议编译器将变量存储在寄存器中,以提高访问速度,但现代编译器通常会自动优化。

c

register int x = 10; // 建议将 x 存储在寄存器中

long

long 是整数类型的修饰符,用于声明长整数。

c

long l = 123456789L; // 声明一个长整数

short

short 是整数类型的修饰符,用于声明短整数。

c

short s = 123; // 声明一个短整数

signed

signed 是整数类型的修饰符,表示有符号整数。

c

signed int num = -10; // 声明一个有符号整数

unsigned

unsigned 是整数类型的修饰符,表示无符号整数。

c

unsigned int num = 10; // 声明一个无符号整数

总结

小伙伴们,C 语言的关键字就像是构建程序的魔法砖块,每一个都有着独特的功能和用途。通过这篇博客,我们从简单到复杂,逐一解析了 C 语言中的所有关键字。无论是初学者还是有一定经验的开发者,都能从中找到有用的知识点。

希望这篇博客能帮助你更好地理解 C 语言的关键字,让你在编程的道路上越走越远。如果你有任何问题或建议,欢迎在评论区留言,我们一起交流学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值