发新帖本帖赏金 30.00元(功能说明)我要提问
返回列表

C语言-来复习一波C语言的关键字吧-1

[复制链接]
198|0
手机看帖
扫描二维码
随时随地手机跟帖
王小琪|  楼主 | 2023-3-10 09:43 | 显示全部楼层 |阅读模式
本帖最后由 王小琪 于 2023-3-9 21:35 编辑

众所周知,C语言中一共有32个关键字,按照从a到z排列,依次为auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while
随便打开一个keil工程,可以看到下图中标蓝色的就是所谓的关键字,下面就一起来复习复习这些关键字的用法吧。
387306409d97ad331b.png
由于C语言关键字比较多,一次写不完,所以分多次进行分享,本次先分享关键字从a-c,即auto、break、case、char、const、continue的含义和用法
1、关键字auto
说实话,这个关键字我用的比较少,找了下网上的资料,它是这样描述的auto用于定义自动变量。自动变量是在函数内部定义的变量,其作用域仅限于函数内部,函数执行完毕后,自动变量的值就会被销毁。
举例如下:
void func()
{
    auto int a = 10;  // 定义自动变量a,初始值为10
    printf("%d\n", a);
}
在上面的代码中,变量a是一个自动变量,它的作用域仅限于函数func内部。当函数执行完毕后,变量a的值就会被销毁。
需要注意的是,C语言中的变量默认情况下就是自动变量,因此在定义变量时,可以不加auto关键字,如下所示:
void func()
{
    int a = 10;  // 定义自动变量a,初始值为10
    printf("%d\n", a);
}
大家可以对比一下,其实我在函数内部定义变量的话,加不加auto效果都是一样的,该变量只作用在我函数内部,难怪这个变量用的比较少,说实话,真**肋。

2、关键字break
和auto的冷门不同,break就热门的多了。break用于跳出当前循环语句(for、while、do-while)或switch语句。
在循环语句中,当满足某个条件时,可以使用break语句跳出循环,不再执行循环体内的语句,直接执行循环后面的语句。
举例如下:
for(int i=0; i<10; i++)
{
    if(i == 5)
        {
        break;
    }
    printf("%d ", i);
}
上面的代码会输出0 1 2 3 4,当i等于5时,执行break语句跳出循环。
再譬如在switch语句中,当满足某个条件时,可以使用break语句跳出switch语句,不再执行后面的case语句。
举例如下:
switch(score)
{
    case 90:
        printf("优秀\n");
        break;
    case 80:
        printf("良好\n");
        break;
    case 70:
        printf("中等\n");
        break;
    default:
        printf("不及格\n");
        break;
}
上面的代码根据score的值输出不同的结果,当score等于90时,执行完case 90的语句后,使用break语句跳出switch语句,不再执行后面的case语句。
总之,break语句可以让程序在满足某个条件时跳出循环或switch语句,提高程序的执行效率。


3、关键字case
case常用于switch语句中,表示不同的分支情况。如果你不懂switch的意思,那么可以等学会了switch的用法再回来看这个关键字。
switch语句是一种多分支的选择结构,它根据一个表达式的值,从若干个分支中选择一个分支执行。每个分支都有一个与之关联的常量表达式,当表达式的值与某个分支的常量表达式相等时,就执行该分支的语句。
switch语句的举例如下:
switch (ch) 
{
    case 'A':
        printf("非常优秀\n");
        break;
    case 'B':
        printf("优秀\n");
        break;
    case 'C':
        printf("一般\n");
        break;
    case 'D':
        printf("继续加油\n");
        break;
    default:
        printf("重新输入\n");
        break;
}
该语句根据变量ch的值,输出相应的成绩等级。如果ch的值为'A',就输出"非常优秀",如果ch的值为'B',就输出"优秀",以此类推。如果ch的值不是'A'、'B'、'C'、'D'中的任何一个,就输出"重新输入"。


4、关键字char
char是C语言的关键字,用于定义字符类型变量或数组。它可以用来存储一个单个字符或一串字符,例如:
char ch = 'A'; // 定义一个字符变量ch,赋值为'A'
char str[] = "Hello, world!"; // 定义一个字符数组str,赋值为"Hello, world!"
在C语言中,char类型的变量通常占用一个字节(8位),可以表示256个不同的字符,包括字母、数字、符号等。在ASCII编码中,每个字符都有一个唯一的编码值,可以用整数表示,例如:
char ch = 65; // 定义一个字符变量ch,赋值为ASCII码值为65的字符'A'
char类型的变量可以与其他类型的变量进行运算、比较等操作,例如:
char ch1 = 'A';
char ch2 = 'B';
int num = ch2 - ch1; // 计算字符'B'和字符'A'的ASCII码值之差,赋值给整数变量num
if (ch1 < ch2)
{ // 比较字符'A'和字符'B'的大小关系
    printf("ch1 is less than ch2\n");
}
需要注意的是,char类型的变量在进行运算时,会自动转换为整数类型进行计算,因此需要注意类型转换的问题。


5、关键字const
C语言中的关键字const用于声明常量,即不可变的值。const关键字可以用于变量、函数参数和函数返回值。
1. 声明常量变量
const int a = 10;
这里的a是一个常量,其值不能被修改。
2. 声明常量指针
const int *p = &a;
这里的p是一个指向常量的指针,即指针所指向的值不能被修改。
3. 声明指向常量的指针
int b = 20;
const int *q = &b;
这里的q是一个指向常量的指针,即指针所指向的值不能被修改。但是变量b的值可以被修改。
4. 声明常量函数参数
int add(const int x, const int y)
{
    return x + y;
}
这里的x和y都是常量,其值不能被修改。
5. 声明函数返回值为常量
const int max(const int x, const int y)
{
    return x > y ? x : y;
}
这里的返回值是一个常量,即函数返回的值不能被修改。
总结:const关键字的作用是用来声明常量,可以用于变量、函数参数和函数返回值。


6、关键字continue
continue是C语言中的一个关键字,用于在循环语句中控制程序的执行流程。当程序执行到continue语句时,会直接跳过当前循环中的剩余语句,然后继续执行下一次循环。
continue语句通常用于for循环和while循环中,可以帮助我们在循环中跳过某些特定的情况,以达到更高效的程序控制和优化。
例如,下面的代码演示了如何使用continue语句来跳过循环中的某些特定情况:
#include <stdio.h>

int main()
{
    int i;
    for (i = 1; i <= 10; i++) {
        if (i == 5 || i == 7) {
            continue;  // 跳过i等于5或7的情况
        }
        printf("%d ", i);
    }
    return 0;
}
输出结果为:1 2 3 4 6 8 9 10
在上面的代码中,当i等于5或7时,程序会跳过当前循环中的剩余语句,然后继续执行下一次循环,直到循环结束。这样就可以避免在循环中处理不必要的情况,提高程序的执行效率。
未完待续~

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 30.00 元 2023-04-17

相关帖子

发新帖 本帖赏金 30.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

227

主题

578

帖子

6

粉丝