在C语言中,一共有32个关键字,这些关键字我们可以将其非为两类:分别是数据类型关键字和流程控制类关键字。其中数据类关键字又可以分为A基本数据类型(5个)、B类型修饰关键字(4个)、C复杂类型关键字(5个)和D存储级别关键字(6个);而流程控制类关键字可以分为A跳转结构(4个)、B分级结构(5个)和C循环结构(3个),示意图如下所示:

下面分别对于这些关键字做一些具体的介绍:

目录

1. 数据类型关键字

1.1 A基本数据类型

1.1.1 void

1.1.2 char

1.1.3 int

1.1.4 float

1.1.5 double

1.2 B类型修饰关键字

1.2.1 short

1.2.2 long

1.2.3 signed

1.2.4 unsigned

1.3 C复杂类型关键字

1.3.1 struct

1.3.2 union

1.3.3 enum

1.3.4 typedef

1.3.5 sizeof

1.4 D存储级别关键字

1.4.1 auto

1.4.2 register

1.4.3 static

1.4.4 extern

1.4.5 const

1.4.6 volative

2. 流程控制关键字

2.1 A跳转结构

2.1.1 return

2.1.2 break

2.1.3 continue

2.1.4 goto

2.2 B分支结构

2.2.1 if

2.2.2 else

2.2.3 switch

2.2.4 default

2.3 C循环结构

2.3.1 for

2.3.2 while

2.3.3 do


1. 数据类型关键字

1.1 A基本数据类型

1.1.1 void

void用于在声明没有返回值或者没有参数的函数,在C语言和C++中,如果函数没有返回值,需要在声明函数的类型是void,如果没有该说明,那么程序会报错,同时void也可以声明无类型的指针,如果函数是无类型指针的话,就需要声明为void类型。

1.1.2 char

char用于定义字符型数据,是C语言中最为常见的几种数据类型之一,可以用来存储一个字符,char的大小为1个字节,即8bit,同时char也是整型数据的一种特殊形式,因为char类型实际存储的是一个整数而不是一个字符。、

1.1.3 int

C语言中int是“integer”的简写,用于定义整形数据,又被成为是“基本整型”,是C语言中最常见的关键字。int关键字的大小为4个字节,即32bit,int通常用来表示正整数、负整数和0,int类型变量的范围是-2^31~2^31-1。

1.1.4 float

float在C语言中表示的单精度浮点类型,属于浮点数类型,小数点保存后6位,一般系统用32位来存储一个单精度的浮点数,其中8位用于表示指数和符号,其余的24位用来表示有效数字位以及符号位。float的范围是-3.40E+38~+3.40E+38。

1.1.5 double

double在C语言中表示的双精度浮点类型,属于浮点数类型,相较于float的精度更高,可以精确到15到16位。一般系统用64位来存储一个双精度的浮点数,其中12位是符号位和指数位,其余的52位表示尾数位,其数值范围-1.7E+308~+1.7E+308。

1.2 B类型修饰关键字

1.2.1 short

short在C语言中表示短整型类型,short占2个字节,即16bit。short是short int的简写,可以省略修饰的int。在C语言中,short类型的变量的范围是-2^15~+2^15。

1.2.2 long

long在C语言中表示长整数类型,long占4个字节,即16bit,在32位编译系统long和int占用的内存是相同的。long是long int的简写,可以省略修饰的int。long类型的变量的范围是-2^31~+2^31-1。

1.2.3 signed

signed在C语言中表示的是有符号数据类型,用来修饰整形数据,signed表示带符号位的存储方式。在C语言中,如果没有特别指定,定义的变量默认为有符号位的,因此signed相较于unsigned来说使用较少。

1.2.4 unsigned

unsigned在C语言中表示的是无符号数据类型,用来修饰整形数据,unsigned表示无符号位的存储方式。无符号类型的仅仅可以表示位大于0的数据。如果一个表示中既有有符号数又有无符号数,那么带符号数会自动转换为无符号数。

1.3 C复杂类型关键字

1.3.1 struct

C语言中struct用于结构体声明。C语言中使用结构体来存放一组类型的不同的数据,结构体中可以声明变量、指针以及数组等,程序员可以使用结构体来封装一些属性。

1.3.2 union

union用于共用体声明,共用体又被称为联合体,共用体是一种类似于结构体的数据结构,允许在相同内存位置中存储不同的数据类型,但是需要强调的是共用体中在一个内存单元中某一个时刻只可以有一个确定的值。

1.3.3 enum

C语言中enum用于枚举声明,枚举是C语言中一种基本数据类型,可以方便在一些较大的数组中调用需要的数据,枚举是一个集合,结合中元素是一些命名的整数常量,一般是编译器自动分配,如果编译器自己定义的话是从0开始,如果是用户定义的话,那么则从定义的那个值开始依次向后增加。

1.3.4 typedef

typedef用于声明类型别名,便于程序员对于一些较长的变量进行使用,typedef可以用于的数据类型包括内部数据类型以及程序员自定义的数据类型。

1.3.5 sizeof

C语言中,sizeof用于得到特定的类型或者特定类型变量的大小。关键字sizeof以字节的形式获取操作数存储的大小,其中操作数可以是一个表达式、数据类型或者是变量。

1.4 D存储级别关键字

1.4.1 auto

在C语言中,auto用于指定为自动变量,由编译器自动分配和释放,通常在栈上分配。自动变量是最常用的变量,如果不专门声明static存储类别的话,那么都是动态分配存储空间的。

1.4.2 register

在C语言中,register指定为寄存器变量,register的作用是建议编译器将变量存储到寄存器里面使用,可以建议编译器使用寄存器而不是使用堆栈,使用register可以提高效率。

1.4.3 static

C语言中static指的是静态变量,与全局变量的存储方式不同,该变量分配在静态变量区,不会随着函数调用的结束而被清除。如果该函数再次被调用的话,那么它的值是上一次调用结束后的值。

1.4.4 extern

extern用于指定变量为外部变量,即在另外的目标文件中定义,可以认定该变量是由另外文件所声明的。

1.4.5 const

在C语言中,关键字const是constant的缩写,关键字const与关键字volative合称为“cv特性”,如果一个变量被const所修饰,那么该变量将不能够改变。

1.4.6 volative

在C语言中,关键字volative与关键字const合称为“cv特性”,该关键字可以提醒编译器所定义的变量随时都可以发生改变,编译器可以直接从地址中读取数据。

2. 流程控制关键字

2.1 A跳转结构

2.1.1 return

return用在函数体中,用来表示返回特定的值(如果函数是void类型的话,则不返回值),同时return还有强制结束函数的作用,如果函数中执行了return语句,那么该函数后面的语句都将不会执行。

2.1.2 break

break语句用于跳出当前循环或者是switch结构。如果break是用在循环中可以用于终止循环,继续执行循环后的语句(如果是嵌套循环,则break用于跳出最内层循环);而在switch结构中,break用于跳出当前的case结束switch语句。

2.1.3 continue

在C语言中,continue语言用于结束当前循环,开始下一个循环。需要说明的是continue只是跳出当前这一次循环,如果这一个循环不是最后一次循环的话并不会跳出整个循环。

2.1.4 goto

C语言中goto表示的是无条件跳转语句,goto语句可以无视任何情况,执行goto语句后,程序会跳转执行指定的标识符后的语句,但是使用goto关键字的缺点是会使程序变得复杂,不易于维护。

2.2 B分支结构

2.2.1 if

在C语言中,if语句表示的是条件语句。当条件成立时,执行满足条件的内容,当条件不成立时候,则不执行该部门内容。

2.2.2 else

else语句表示的是条件语句否定分支。else语句,与if语句连用,当if语句的条件不成立时,则执行else语句;同时else也可以与if语句组成else if语句,表示如果if的判断没有通过,那么进行下面的else if语句,如果else if语句满足条件,则执行当前语句,如果不满足,则不会执行。

2.2.3 switch

switch用于多重分支语句。switch可以满足在实际问题中的多分支问题,如果嵌套的if和else较多会降低可读性,可以直接使用switch进行多分支选择。

2.2.4 default

在C语言中,default相当于多重分支语句中的“其他”,如果switch语句中包含default语句,那么如果前面的case均不满足条件,则会执行default语句。

2.3 C循环结构

2.3.1 for

在C语言中,关键字for用于for循环,for循环的形式是for(表达式1;表达式2;表达式3),如果表达1和表达式2均满足条件,则执行for循环中的内嵌语句再执行表达式3。

2.3.2 while

在C语言中,关键字while用于while循环和do-while循环中。在while循环中,如果while(表达式),如果while中的表达式满足条件,则执行while循环中的内嵌语句再验证下一次循环条件。

2.3.3 do

在C语言中,关键字do与关键字while配合起来构成do-while循环。在do-while循环中,先执行do-while的内嵌语句,在对于条件进行验证,do-while循环中最少执行一次。

简述C语言中32个关键字相关推荐

  1. c语言中ANSI标准的关键字,C语言中32个关键字详解

    C语言中32个关键字详解 由 ANSI 标准定义的 C 语言关键字共32个,根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类. 一.数据类型关键字 A 基本数据类型(5个) vo ...

  2. c语言程序关键字是什么,C语言中32个关键字详解

    C语言中32个关键字详解 由 ANSI 标准定义的 C 语言关键字共32个,根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类. 一.数据类型关键字 A 基本数据类型(5个) vo ...

  3. c语言4钟存储类型关键字用法,求C语言中的32个关键字及其意思? C语言中32个关键字的意思和用法~!...

    C语言中的32个关键字及其意思如下: 1.auto    声明自动变量 2.short    声明短整型变量或函数 3.int    声明整型变量或函数 4.long    声明长整型变量或函数 5. ...

  4. 简述C语言中.h文件和.c文件作用和区别

    简述C语言中.h文件和.c文件作用和区别 在c语言学习过程中,对.h文件和.c文件不甚了解,参考其他资料后对它进行简要分析: .h文件和.c文件作用 使用.h文件和.c文件的原因 .h文件和.c文件作 ...

  5. C语言中printf是不是关键字,C语言中printf是什么意思

    换行. printf("\n")表示输出换行符,"\n"是个转义字符,系统识别到转义字符时会自动换行.窗口是不会显示\n的,会直接换到下一行. 在不同的语言中, ...

  6. c语言中extern关键字_了解C语言中的extern关键字

    c语言中extern关键字 In this article, we'll take a look at understanding the extern keyword in C. 在本文中,我们将了 ...

  7. go语言中的type关键字

    type关键字 type是go语法里的重要而且常用的关键字,type绝不只是对应于C/C++中的typedef.搞清楚type的使用,就容易理解go语言中的核心概念struct.interface.函 ...

  8. python global函数_如何使用python语言中的global关键字获取函数值

    在python语言中,如果在函数外层定义了一个全局变量a,函数内部又有一个同名的局部变量,想要这个全局变量的值改成为局部变量的值,可以使用global.下面利用一个实例说明如何实现这个场景,操作如下: ...

  9. C语言中的extern关键字用法

    在C语言中,修饰符extern用在变量或者函数的声明前,用来说明"此变量/函数是在别处定义的,要在此处引用". 1. extern修饰变量的声明.举例来说,如果文件a.c需要引用b ...

最新文章

  1. IDEA解决SSM项目的静态资源路径问题:HTML,CSS,JS--详解
  2. python笔记基础-python学习笔记之基础一(第一天)
  3. 实战SSM_O2O商铺_22【商铺列表】Service层开发
  4. 在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法...
  5. cd协议属于计算机网络的应用层,计算机网络 题库 必考 期末 期终 考试 复习 考研 必备...
  6. vijos 1198 最佳课题选择
  7. 线程同步--条件变量
  8. 2018--20179215--《文献管理与信息分析》第三讲 英文数据库资源的发展趋势和利用...
  9. 线扫相机 编码器_面阵和线扫工业相机选型
  10. mac地址转换_mac电脑格式转化工具
  11. Vue 脚手架结合 SpringBoot 构建前后端分离入门项目(实现增删改查)
  12. 梅特勒托利多xk3124电子秤说明书_梅特勒托利多电子秤校正标定方法
  13. Python笔记 之 居民身份证简单判断
  14. dos下masm的out of memory 怎么解决,求大佬指教
  15. 写一段情人节耳钉礼物文案,要求100字左右,以小红书的形式展示,带emoji表情包,带分段,吸引眼球,情绪化,最后加一些tag...
  16. 深入理解Android L新特性之 页面内容amp;共享元素过渡动画
  17. Rosetta stone安装过程中遇到的问题和解决方案
  18. 5G时代下的室内定位技术--精准室内定位--新导智能
  19. 学生学籍管理系统 jsp mysql_学生学籍管理系统的设计与实现(JSP,MySQL)
  20. faker和劫的图片_Faker喜迎23岁生日 生涯回顾:双劫三冠都比不上最后一图

热门文章

  1. 极简自然语言处理技术发展史
  2. 网络编程基础 --> 网络通信机理、报文与协议、套接字通信预备
  3. Plugin: Memory Dump by aeon update 12.10
  4. 从零开始写一个小米便签
  5. GridView冻结列方法
  6. 超市收银系统服务器搭建教程,超市收银系统快速收银步骤? 你需要学习了
  7. 灵机一栋团队alpha冲刺 Ⅰ
  8. 图片文字识别工具调研
  9. SQL Server最受欢迎技巧:解读DBA
  10. SEO 已死,LLMO 万岁