0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言32个关键字可以分为这几类

信盈达 2021-12-31 15:28 次阅读
C语言是一种面向过程、抽象化的通用程序设计语言,广泛应用于嵌入式底层和系统开发。

C语言关键字共有32个,根据用途,可分为四类:

第一类:变量数据类型关键字:14个

第二类:9条基本语句用到的关键字:12个

第三类:存储类型关键字:5个

第四类:运算符关键字:1个

学技术,重在日拱一卒、一点一滴的积累。今天一起来分析C语言的32个关键字都有哪些,以及关键字的含义、用途。

以下内容,只代表个人观点,不一定对,仅供参考,随便看看。

36cc41c4-69c2-11ec-8d32-dac502259ad0.gif

C语言的32个关键字

C语言关键字总共有32个,根据关键字的用途,可分为四类:

第一类:变量数据类型关键字:14个

1.1 char 单字节整型数或字符型数据

1.2 short短整型数

1.3 int基本整型数

1.4 long长整型数

1.5 float单精度浮点型数

1.6 double双精度浮点型数

1.7 signed有符号数

二进制数据的最高位为符号位,最高位是1为负数,最高位是0为正数。

1.8 unsigned无符号数数据

1.9 void无数据类型、空数据类型

1.10 volatile 该变量在程序执行中可被隐含的改变

1.11 typedef 重新进行数据类型定义

1.12 struct 结构类型数据

1.13 enum 枚举类型数据

1.14 union 联合类型数据

第二类:9条基本语句用到的关键字:12个

2.1 if ,构成选择语句

2.2 else,构成选择语句

2.3 witch,构成选择语句

2.4 case,构成选择语句

2.5 break,跳出最内层循环

2.6 default,构成选择语句

2.7 for,构成循环语句

2.8 do,构成循环语句

2.9 while,构成循环语句

2.10 continue,转向下一次循环

2.11 goto,无条件转移语句

2.12 return,函数返回

第三类:存储类型关键字:5个

3.1 const 在程序执行过程中不可更改的常量值

3.2 extern 在其它程序模块中说明了的全局变量

3.3 static 静态变量

3.4 register使用CPU内部寄存器的变量

3.5 auto 用以说明局部变量,缺省值为此类型变量

第四类:运算符关键字:1个

4.1 sizeof 运算符,计算表达式或数据类型占用的,内存的字节数。

372ca974-69c2-11ec-8d32-dac502259ad0.gifC语言32个关键字的用法

C语言关键字总共有32个,其中第一类:变量数据类型关键字14个,会在后续C语言学习文章中讲解。

第二类:9条基本语句用到的关键字:12个已经在@老牛经济学 NJS2 浅谈C语言入门中分析过。

下面重点分析以下两类关键字的用法。

第三类:存储类型关键字:5个

3.1 const 在程序执行过程中不可更改的常量值

C语言程序范例:

charx=9;

const int a=1000;

const char *sp=&a;

char*const ss=&a;

const char *const sz=&a;

程序分析:

第一行代码:定义x为字符型变量,并赋值为9,后面x变量的值可以被改变。

第二行代码:定义a为整型变量,赋值为1000,且值不能被改变。

第三行代码:定义sp为字符型指针,且sp指针指向的地址里面的数不能被改变。

第四行代码:定义ss为字符型指针,指针的值,也就是指针指向的地址&a不能被改变,但指针指向地址里面的变量a可被改变。

第五行代码:定义sz为字符型指针,指针的值,也就是指针指向的地址&a不能改变,并且指针指向地址里面的变量a也不能被改变。

3.2 extern 在其它程序模块中说明了的全局变量

extern 关键字在C语言的一个工程中,有多个.c文件,这些.c文件中如果需要共用相同的变量,可以将该变量定义为extern变量。另外需要注意该变量的作用域。

3.3 static 静态变量

static关键字定义该变量为静态变量。

如果定义为全局变量的静态变量,则和全局变量完全相同,只是静态全局变量只能在该.c文件中使用。而全局变量在同一个工程文件中可以被多个.c文件使用。

如果定义为局部静态变量,作用域和局部变量完全相同。并且该局部变量占用的内存不会被优化,会一直存在。

定义为局部静态变量,没有赋值,默认为0。

3.4 register使用CPU内部寄存器的变量

register表示该变量存储在cpu的寄存器中,编译程序相应的变量将被频繁的使用,一般该变量可以加快存储的速度。

3.5 auto 用以说明局部变量,缺省值为此类型变量

auto char a;和char a;这两条赋值语句的含义完全相同。

第四类:运算符关键字:1个

4.1 sizeof 运算符,计算表达式或数据类型占用的,内存的字节数。

C语言程序范例:

unsigned char a,m,n,x,y,z;

unsigned int b;

unsigned char niu[10];

unsigned char*sp;

m=sizeof(a);

n=sizeof(b);

x=sizeof(niu);

y=sizeof(sp);

z=sizoef(*sp);

程序分析:

第一行代码:定义a,m,n,x,y五个变量为无符号字符型变量,这些变量在内存中各占用1个字节,它们的取值范围为0-255。

第二行代码:定义b变量为无符号整型变量,该变量在内存中占用4个字节。

第三行代码:定义niu为数组变量,该数组长度为10。

第四行代码:定义sp为指针变量,该指针指向的内存空间,存放的数为字符型变量。

程序运行结果:

m=1。

n=4。

x=10。

y=4//sizoef(sp)表示sp指针占用内存空间大小。C语言中不论是那种类型的指针,均默认占4个字节内存。

z=1。//sizoef(*sp)表示sp指针指向地址里面的数,占用的内存大小。

C语言的关键字,需要在编程中,有意识的去训练和实践,才能达到熟练应用的目标。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7591

    浏览量

    135770
收藏 人收藏

    评论

    相关推荐

    C语言关键字--typedef

    C语言关键字使用方法学习指南!
    的头像 发表于 10-07 12:44 145次阅读

    使用边缘AI和Sitara处理器进行关键字检测

    电子发烧友网站提供《使用边缘AI和Sitara处理器进行关键字检测.pdf》资料免费下载
    发表于 09-02 11:30 0次下载
    使用边缘AI和Sitara处理器进行<b class='flag-5'>关键字</b>检测

    typedef struct和直接struct的区别

    C语言中, typedef 和 struct 是两种不同的关键字,它们在定义和使用上有着明显的区别。 typedef struct 和直接 struct 在 C
    的头像 发表于 08-20 10:58 2141次阅读

    鸿蒙原生应用元服务开发-仓颉基本概念标识符

    在仓颉编程语言中,开发者可以给一些程序元素命名,这些名字也被称为“标识符”,标识符分为普通标识符和原始标识符两类,它们分别遵从不同的命名规则。 普通标识符不能和仓颉关键字相同,
    发表于 08-06 17:37

    快速掌握C语言关键字

    C语言中的32关键字你知道多少呢?根据关键字的作用分为
    的头像 发表于 07-06 08:04 275次阅读
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>关键字</b>

    嵌入式中C语言结构体基本实现

    C语言中的数组只能允许程序员定义存储相同类型数据。但是结构是C语言编程中允许您存储不同数据类型的数据。 结构体的定义     要想定义结构,必须用到 struct
    的头像 发表于 05-11 08:49 894次阅读
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>语言</b>结构体基本实现

    C语言中的typedef的应用

    C 语言提供了 typedef 关键字,您可以使用它来为类型取一新的名字。下面的实例为单字节数字定义了一
    发表于 03-06 11:34 320次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>中的typedef的应用

    嵌入式C语言面试大挑战

    C++中static关键字除了具有C中的作用还有在类中的使用在类中,static可以用来修饰静态数据成员和静态成员方法静态数据成员
    发表于 03-05 14:18 274次阅读
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>语言</b>面试大挑战

    关键字搜索文件夹中某个TXT文件

    文件夹中随时创造TXT文件,如何及时选出刚创造的文件?或关键字搜索出需要的TXT文件?
    发表于 02-06 15:22

    在NVM和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么?

    在 NVM 和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么? 还有与 32 位对齐的关键字怎么样。
    发表于 01-25 07:52

    探讨多线程编程中的volatile关键字应用

    有时候,我们可能需要在指针类型之间进行转换,而编译器会认为这是不安全的操作,从而导致编译错误。使用volatile关键字可以告知编译器,这个类型转换是有意义的,不应该引发错误。
    发表于 12-27 13:53 395次阅读

    你还记得这个C语言关键字吗?

    当你使用volatile关键字时,你告诉编译器该变量的值可能会在程序的执行过程中被外部因素更改,因此编译器不应该对该变量的读写进行优化。下面是一些使用volatile的例子,以及对它们的一些文字描述
    的头像 发表于 12-17 08:00 322次阅读
    你还记得这个<b class='flag-5'>C</b><b class='flag-5'>语言</b><b class='flag-5'>关键字</b>吗?

    vlookup提取关键字匹配多个结果

    是它能够基于关键字匹配提取多个结果。 当使用VLOOKUP提取多个结果时,需要遵循以下几个重要步骤。首先,您需要确保数据的组织和结构正确。数据应以表格格式排列,左侧为关键字列,右侧为相应的信息列。 首先,让我们考虑一实际的例子
    的头像 发表于 12-01 10:40 2260次阅读

    static关键字的三种用法

    C语言中,关键字"static"可以用于不同的上下文,具有不同的作用。以下是"static"在C语言
    的头像 发表于 11-10 08:00 480次阅读
    static<b class='flag-5'>关键字</b>的三种用法

    IAR能否在整个工程中搜索关键字

    像mdk可以在整个工程中搜索关键字 IAR应该也有类似的功能吧,但是我貌似没有找到
    发表于 11-08 07:21