1、数据类型关键字(12个)

(1) char :声明字符型变量或函数

  注:char 占一个字节,也就是 8 个二进制位,但它表示的是有符号的类型,所以表示的范围是 -128~127 ;uchar 表示无符号的类型,所以表示的范围是 0~255

(2) double :声明双精度变量或函数

注:double 占的字节:16 位编译器下,double 占 8 个字节;32 位编译器下,double 占 8 个字节;64 位编译器下,double 占 8 个字节。

(3) enum :声明枚举类型

注:enum 是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。

(4) float :声明浮点型变量或函数

注: float 是C语言的基本数据类型中的一种,表示单精度浮点数,占 4 个字节。

(5) int : 声明整型变量或函数

注:数据类型占内存的位数与操作系统的位数以及编译器有关,一般情况下在当前主流的编译器中int 类型无论在 32 位或 64 位系统中都是 4 个字节。

(6) long :声明长整型变量或函数

注:C语言中 long 是4个字节,是一种数据类型,有两种表现形式:有符号和无符号。

在有符号中,long 的表示数的范围为:-2147483648~2147483647

在无符号中,long 的表示数的范围为:0~4294967295

(7) short :声明短整型变量或函数

注:short 是占两个字节。short 在C语言中是定义一种整型变量家族的一种,short  i ;表示定义一个短整型的变量 i 。

依据程序编译器的不同short定义的字节数不同。标准定义short短整型变量不得低于16位,即两个字节。编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。在32位平台下如windows(32位)中short一般为16位。

(8) signed :声明有符号类型变量或函数

注:signed 是默认的,表示这个变量是有符号的,可以存储整数和负数。
       signed 存储符号是有代价的,代价就是存储空间中的一个比特位专门用来存储符号,这一位不能表示数值。一般来说,同类型的 signed 能够存储的数的绝对值大小要小于 undigned 。

(9) struct :声明结构体变量或函数

注:在C语言中,可以使用结构体( Struct )来存放一组不同类型的数据。

结构体的定义形式为: struct 结构体名{结构体所包含的变量或数组};

结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员( Member )。

例:

(10) union :声明共用体(联合)数据类型

注:C语言中的 union 是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值。

(11) unsigned :声明无符号类型变量或函数

注:整型的每一种都有无符号( unsigned )和有符号( signed )两种类型( float 和 double 总是带符号的)

在默认情况下声明的整型变量都是有符号的类型( char 有点特别),如果需声明无符号类型的话就需要在类型前加上 unsigned 。

无符号版本和有符号版本的区别就是无符号类型能保存 2 倍于有符号类型的数据,比如 16 位系统中一个 int 能存储的数据的范围为 -32768~32767 ,而 unsigned 能存储的数据范围则是 0~65535。

(12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

 注:void 被翻译为"无类型",相应的 void  * 为"无类型指针"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。

2、控制语句关键字(12个):

A循环语句

(1) for :一种循环语句

注:for 是C语言中的一个关键字,主要用来控制循环语句的执行

例:

a=0 是初始化部分;a<100 是循环判断条件部分(当满足此条件时才进入执行 for 循环中的语句);a++ 是执行完循环体语句后的操作 , b++ 是循环体语句。

(2) do :循环语句的循环体

注:C语言中 do 是执行某代码块的意思,do 关键字不能单独使用,通常用在 do...while
循环中。

在C语言中,do...while 循环是在循环的尾部检查它的条件,do...while 循环与 while 循环类似,但是 do...while 循环不管是真是假都要确保至少执行一次循环。

(3) while :循环语句的循环条件

注:while 语句创建了一个循环,重复执行直到测试表达式为假或0。

while 语句是一种入口条件循环,也就是说,在执行多次循环之前已决定是否执行循环。因此,循环有可能不被执行。

循环体可以是简单语句,也可以是复合语句。

(4) break :跳出当前循环

注:C 语言中 break 语句有以下两种用法:

  1. 终止,且程序流将继续执行紧接着循环的下一条语句。当 break 语句出现在一个循环内时,循环会立即
  2. 它可用于终止 switch 语句中的一个 case 。

如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

(5) continue :结束当前循环,开始下一轮循环

注:continue 跳过本次循环,进入下一次。而 break 是直接跳出循环。

比如 for 循环,遇到 contimue 生效后,直接重新执行 for 的表达式,也就是本循环中 continue 下面的语句就不执行,跳过循环中的一次。

contimue 其作用为结束本次循环。即跳出循环体中下面尚未执行的语句,对于 while 循环,继续求解循环条件。而对于 for 循环程序流程接着求解 for 语句头中的第三个部分 expression 表达式。

continue 语句只结束本次循环,而不终止整个循环的执行。而 break 语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

B条件语句

(1) if : 条件语句

注:if  (表达式) {语句;}

用于单分支选择结构;

如含有交叉关系,使用并列的if语句;

(2) else :条件语句否定分支(与 if 连用)

注: if (表达式) {语句;}    else  {语句;}

在C语言中 else 是与 if 一起使用的一个关键字,表示如果满足if条件则不执行 else ,否则执行else 。

(3) goto :无条件跳转语句

注:goto 语句可以使程序在没有任何条件的情况下跳转到指定的位置,所以 goto 语句又被称为是无条件跳转语句。

使用 goto 语句只能 goto 到同一函数内,而不能从一个函数里 goto 到另外一个函数里。

不能从一段复杂的执行状态中的位置 goto 到另外一个位置,比如,从多重嵌套的循环判断中跳出去就是不允许的。

应该避免向两个方向跳转。这样最容易导致"面条代码"。

C开关语句

(1) switch :用于开关语句

注:switch 语句也是一种分支语句,常常用于多分支的情况。

(2) case :开关语句分支

注:case 常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行 switch 语句时,根据 switch 的表达式,找到与之匹配的 case 语句,就从此 case 子句执行下去,不在进行判断,直到碰到 break 或函数结束为止。

c语言中 case 是和 switch 一起使用的,构成 switch—case 语句,进行判断选择,case 是用来表示选择结构的。

(3) default :开关语句中的“其他”分支

注:default 的作用就是switch语句里所有的 case 都不成立时所要执行的语句。

default 关键字用来标记switch语句中的默认分支。

D返回语句

return :子程序返回语句(可以带参数,也看不带参数)

注:return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由 return 后面的参数指定。

3、存储类型关键字(4个):

(1)auto :声明自动变量 一般不使用

(2) extern:声明变量是在其他文件正声明(也可以看做是引用变量)

注:extern 用在变量或函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”。

(3) register :声明积存器变量

注:用 register 声明的变量是寄存器变量,是存放在CPU的寄存器里的。而我们平时声明的变量是存放在内存中的。虽说内存的速度已经很快了,不过跟寄存器比起来还是差得远。

寄存器变量和普通变量比起来速度上的差异很大,毕竟CPU的速度远远大于内存的速度。寄存器有这么两个特点,一个是运算速度快,一个是不能取地址。

(4) static :声明静态变量

注:static 关键字不仅可以用来修饰变量,还可以用来修饰函数。在使用 static 关键字修饰变量时,我们称此变量为静态变量。静态变量的存储方式与全局变量一样,都是静态存储方式。静态变量属于静态存储方式,属于静态存储方式的变量却不一定就是静态变量。

4、其它关键字(4个):

(1) const :声明只读变量

注:const 是 constant 的缩写,意思是“恒定不变的”!它是定义只读变量的关键字,或者说 const 是定义常变量的关键字。

(2) sizeof :计算数据类型长度

注:sizeof 的作用就是返回一个对象或者类型所占的内存字节数。返回值类型为 size_t ,在头文件stddef.h 中定义

(3) typedef :用以给数据类型取别名

注:在C语言中,除系统定义的标准类型和用户自定义的结构体、共用体等类型之外,还可以使用类型说明语句 typedef 定义新的类型来代替已有的类型。

(4) volatile :说明变量在程序执行中可被隐含地改变

注:volatile 是一个类型修饰符(type specifier),就像我们熟悉的 const 一样,它是被设计用来修饰被不同线程访问和修改的变量; volatile 的作用是作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值。

C语言的32个基本关键字相关推荐

  1. C语言的32个常用关键字

    目录 前言 一.关键字是什么? 二.关键字使用方法 1.关键字分类 2.使用方法(详解) 1.数据类型关键字 int,float,double,char short,long,signed,unsig ...

  2. c语言关键字中文意思,C语言的32个关键字是什么意思啊

    C语言的32个关键字是什么意思啊 32个关键字是什么意思有谁知道的要简洁一点的 更新时间:2019-06-03 22:54 最满意答案 1. 数据类型关键字(12个): (1). char :声明字符 ...

  3. sqlite 无符号32_C语言的32个关键字

    图控大叔 构图传递思想 阅读从未如此简单!!! 01 前言 今天对C语言的32个关键字做一下分类整理. 02 具体内容 对C语言的32个关键字做分类,一共可以分成四大类.如下: 具体分类如下: 数据类 ...

  4. c语言的32个关键词

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105113770 c ...

  5. js与c语言效率_JavaScript控制流及关键字与C语言之比较

    学习JavaScript控制流及关键字概念前,对有过C语言学习经验的同学来说,那么关键字,控制语句概念并不陌生.我们先来看看C语言吧: C语言的32个关键字和9种控制语句 9种控制语句: if.if- ...

  6. (1)c语言学习总结之从关键字到循环结构

    一.关键字和标示符 1.关键字:c规定的有特殊含义的单词(也就是系统起的名字),全部是小写,有32个; 由关键字引出数据类型和流程类型 1.分类: (1)数据类型:整型用int标示,字符型用char表 ...

  7. C语言——变量篇(一)变量关键字static、auto、extern、register

    前言:笔者最近在看C语言时候遇到了一堆关键字,auto,static,extern,register等等.看上去头皮发麻,在这里整理一下,便于自己理解. 全局变量和局部变量 关于全局变量和局部变量,笔 ...

  8. mfc实现c语言的注释,C语言学习:标识符、关键字、注释、表达式和语句

    正文共:1526 字 2 图.预计阅读时间: 4 分钟. 文章由源世界原创,转载剽窃必究! 标识符 界说变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是程序员自己起的,一般能够表达 ...

  9. C语言学习—联合体Union和关键字Typedef

    C语言学习-联合体Union和关键字Typedef 前言 1 联合体Union 1.1 Union认知 1.2 Union应用 2 关键字typedef 前言 内容主要为联合体Union和关键字Typ ...

  10. c语言关键字_C语言初学者必须掌握的关键字!

    相信这么努力的你 已经星标了我 老九学堂 你身边的IT导师 其实小伙伴在写代码的时候,关键字还是用的比较多的,  今天大雄主要就平常中用到的常用关键字进行总结,便于小伙伴们更全面的理解其在代码中的意图 ...

最新文章

  1. 终于有人把中台说清楚了
  2. 数据读取与数据扩增方法
  3. 【BZOJ】3339: Rmq Problem 3585: mex(线段树+特殊的技巧)
  4. 201521123011 《java程序设计》 第9周学习总结
  5. 如何确定固定资产入账价值
  6. [C++调试笔记]初始化3种粒子数据initmaxw
  7. 评上了7月份的Microsoft MVP
  8. android 蒙层广告1,subnvue安卓机打开只显示蒙层,没有任何内容【报Bug】
  9. win7桌面运行html,手把手教你win7电脑如何运行config的操作教程
  10. Vue学习--MVVM模型
  11. Java异常处理机制(基础知识)
  12. 文件系统 83 linux,Linux文件系统
  13. 物联网嵌入式学习路线
  14. CTFshow-菜狗杯-misc(1-6)
  15. js修改div标签中的内容
  16. Python使用Reportlab处理PDF数据 - 自定义页眉和页脚
  17. php----拷贝兔源代码分析dl函数和getdata函数
  18. 计算机语言与语法,编程语言中语法和语义有什么区别?
  19. 【mongoDB】一一一一安装报错1058解决方案
  20. 用Android手机充当台式电脑的摄像头、麦克风和音箱

热门文章

  1. 计算机组成原理(白中英)简答题复习
  2. Effective Java 思维导图
  3. 【最新】Oracle官网Java SE各个版本JDK下载位置
  4. JVM,卷走面试官(二)—— 有党性的前端编译
  5. matlab 均值滤波实现
  6. 《Python数据分析与数据挖掘实战》第十五章学习——文本分析
  7. adb for linux的工具包,adb工具包下载_adb工具包官方下载「最新版」-太平洋下载中心...
  8. TIT 数据库实验一 在SQL Server中创建数据库(SQL入门教学一 从0到1)
  9. java考试知识点整理
  10. Java旅游管理系统本科生毕业设计任务书