如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/53021879

C语言一共有32个关键字,如下表所示:

关键字

说明

auto

声明自动变量

short

声明短整型变量或函数

int

声明整型变量或函数

long

声明长整型变量或函数

float

声明浮点型变量或函数

double

声明双精度变量或函数

char

声明字符型变量或函数

struct

声明结构体变量或函数

union

声明共用数据类型

enum

声明枚举类型

typedef

用以给数据类型取别名

const

声明只读变量

unsigned

声明无符号类型变量或函数

signed

声明有符号类型变量或函数

extern

声明变量是在其他文件正声明

register

声明寄存器变量

static

声明静态变量

volatile

说明变量在程序执行中可被隐含地改变

void

声明函数无返回值或无参数,声明无类型指针

if

条件语句

else

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

switch

用于开关语句

case

开关语句分支

for

一种循环语句

do

循环语句的循环体

while

循环语句的循环条件

goto

无条件跳转语句

continue

结束当前循环,开始下一轮循环

break

跳出当前循环

default

开关语句中的“其他”分支

sizeof

计算数据类型长度

return

子程序返回语句(可以带参数,也可不带参数)循环条件

参看:C语言32个关键字详解

 1数据类型关键字
 A)基本数据类型(5个)
 void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果
 char:字符型类型数据,属于整型数据的一种
 int:整型数据,通常为编译器指定的机器字长
 float:单精度浮点型数据,属于浮点数据的一种
 double:双精度浮点型数据,属于浮点数据的一种
 B)类型修饰关键字(4个)
 short:修饰int,短整型数据,可省略被修饰的int。
 long:修饰int,长整形数据,可省略被修饰的int。
 signed:修饰整型数据,有符号数据类型
 unsigned:修饰整型数据,无符号数据类型
 C)复杂类型关键字(5个)
 struct:结构体声明
 union:共用体声明
 enum:枚举声明
 typedef:声明类型别名
 sizeof:得到特定类型或特定类型变量的大小
 D)存储级别关键字(6个)
 auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配
 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
 extern:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外文件声明的对象的一个“引用“
 const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)
 volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值

 2流程控制关键字
 A)跳转结构(4个)
 return:用在函数体中,返回特定值(或者是void值,即不返回值)
 continue:结束当前循环,开始下一轮循环
 break:跳出当前循环或switch结构
 goto:无条件跳转语句
 B)分支结构(5个)
 if:条件语句
 else:条件语句否定分支(与if连用)
 switch:开关语句(多重分支语句)
 case:开关语句中的分支标记
 default:开关语句中的“其他”分治,可选。
 C)循环结构(3个)
 for:for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2...循环,其中2为循环条件
 do:do循环结构,do 1 while(2);的执行顺序是1->2->1...循环,2为循环条件
 while:while循环结构,while(1) 2;的执行顺序是1->2->1...循环,1为循环条件
 以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。

下面来详细介绍各个关键字:

(简单的就一笔带过,有必要的会另起一篇文章,详细讲述。)

基本数据类型(5个)
 void
 char
 int
 float
 double
类型修饰关键字(4个)
 short
 long
 signed
 unsigned

1)在windows,32位系统中
char         1个字节
short        2个字节
int            4个字节
long         4个字节
double    8个字节
float         4个字节

2)数据类型和占位符之间的对应关系
char和unsingned char     %c
short                                  %hd
unsigned short                 %hu
long                                   %ld
unsigned long                  %lu
int                                      %d
unsigned int                     %u
float                                   %f/%g
double                               %lf/%lg

%f和%lf会保留小数点后面多余的0   如 3.1400000   .2%f得 3.14
%g和%lg不会保留   如 3.14

规定整型值相互之间大小的规则:

长整型至少应该和整型一样长,而整型至少应该和短整型一样长。

扩展:C语言再学习 5--浮点数

扩展:C语言再学习 19 -- 负数

3)signed、unsigned关键字

signed char取值范围是 -2^7 到 2^7-1
unsigned char取值范围是 0 到 2^8

signed int取值范围是 -2^31 到 2^31-1
unsigned int取值范围是 0 到 2^32

留两个问题思考:
1), int i = -20;
unsigned j = 10;
i+j 的值为多少?为什么?

-10   应该是按照有符号的来计算的

2), 下面的代码有什么问题?
unsigned i ;
for (i=9;i>=0;i--)
{
printf("%u\n",i);
}

一直打印无法停止,到了0 后,变成-1。因为-1是有符号的了,再变成 4294967295一直又减下去了

4)void关键字:

参看:C语言再学习 19 -- void

复杂类型关键字(5个)
 struct
 union
 enum
 typedef
 sizeof

1)struct

参看:C语言再学习 -- 关键字struct(转)

2)union、enum

参看:C语言再学习 -- 结构和其他数据形式

3)typedef

参看:C语言再学习 -- 关键字typedef

4)sizeof

参看:C语言再学习 -- sizeof与strlen

存储级别关键字(6个)
 auto
 static
 register
 extern
 const
 volatile

1)auto、static、register、extern

参看:C语言再学习 -- 存储类型关键字

2)const

参看:C语言再学习 -- 关键字const

3)volatile

参看:C语言再学习 -- 关键字volatile

2、流程控制关键字
 A)跳转结构(4个)
 return
 continue
 break
 goto

1)return

参看:C语言再学习 -- 关键字return和exit

2)continue、break、goto

参看:C语言再学习 -- 分支与跳转语句

 B)分支结构(5个)
 if
 else
 switch
 case
 default

1)if、else、switch、case、default

参看:C语言再学习 -- 分支与跳转语句

 C)循环结构(3个)
 for
 do
 while

1)for、do、while

参看:C语言再学习 -- 循环语句

如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/53021879

C语言再学习--关键字相关推荐

  1. C语言再学习 -- 关键字const

    const 关键字其实我们并不陌生,之前有讲过const修饰数组和指针.现在来详细介绍这个关键字. 参看:[C/C++和指针]著名的<const的思考> 一.const 介绍 1.cons ...

  2. C语言再学习 -- 关键字typedef

    参看:C语言再学习 -- 结构和其他数据形式 参看:C语言再学习 -- 关键字struct(转) 参看:常见typedef 用法 参看:关于typedef的用法总结 一.typedef 介绍 type ...

  3. C语言再学习 -- 关键字volatile

    上周确实事情挺多的,年会.公司聚餐,一到过年就有忙不完的事分心.还好C语言再学习总结的已经差不多了,年前也不展开别的了,接下来这十几天.总结几篇典型的面试题吧. 言归正传,接下来看看关键字 volat ...

  4. C语言再学习 -- 关键字struct(转)

    参看:C语言再学习 -- 结构和其他数据形式 参看:c语言中的关键字struct(结构体)的用法 整理总结: 结构体的一般定义形式为: 标签(tag)字段允许为成员列表提供一个名字,这样它就可以在后续 ...

  5. C语言再学习 -- 关键字return和exit ()函数

    终于到了最后一个关键字 return 了.感觉时间过的飞快,转眼间又是一年,如果时间可以 return 就好了. 一.return 介绍 参看:C语言中return 用法 1.含义: return 表 ...

  6. C语言再学习 -- 关键字sizeof与strlen

    sizeof  一.简单介绍 sizeof 是 C 语言的一种单目操作符,如 C 语言的其他操作符++.--等.它并不是函数.C 规定 sizeof 返回 sieze_t 类型的值.这是一个无符号整数 ...

  7. C语言再学习 -- 关键字void

    参看:C语言关键字 void 用途: 1.对函数返回的限定,用于强调函数没有返回值.如,void func(int x); 2.对函数参数的限定,用于强调函数没有任何参数.如,int func(voi ...

  8. C语言再学习 -- 存储类型关键字

    定义: 是对声明的实现或者实例化.连接器(linker)需要它(定义)来引用内存实体.与上面的声明相应的定义如下:参看:C语言再学习 -- 存储类.链接 C语言中有 5 个作为存储类说明符的关键字,分 ...

  9. C语言再学习 -- 详解C++/C 面试题 2

    (经典)C语言测试:想成为嵌入式程序员应知道的0x10个基本问题. 参看:嵌入式程序员面试问题集锦 1.用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define ...

最新文章

  1. django学习笔记【003】创建第一个带有model的app
  2. Webpack vs Rollup
  3. Apache ZooKeeper - ZooKeeper 数据模型回顾
  4. Python基础教程:七种运算符
  5. EF Core3.0+ 通过拦截器实现读写分离与SQL日志记录
  6. matlab7.0编辑运行,手把手解答win10系统运行matlab7.0时提示Runtime error的操作方案
  7. C#多线程之Thread
  8. CV新赛事 | 水下鱼类物种识别
  9. 请求之前~HttpHandler实现媒体文件和图像文件的盗链
  10. 夺命雷公狗---node.js---7fs模块初步
  11. 应用实战:从Redis到Aerospike,我们踩了这些坑
  12. notepad2正则表达式替换字符串
  13. 向量加减法首尾规律_向量的加减法
  14. tomcat端口号修改
  15. 华为计算机视觉算法,【华为图像算法面试】计算机视觉算法岗,第一面就挂了-看准网...
  16. 简单的diy固态硬盘
  17. 基于随机森林算法的多因子选股方法分析与实现(2,代码实现)
  18. 【WWW 2021】【阿里小蜜】QAMaker:一站式的文档问答对抽取
  19. 迅闪2011安装指南
  20. 深圳绿道-观澜段-乡村一号_我是亲民_新浪博客

热门文章

  1. iis 防火墙防止恶意ip攻击
  2. Activity的launchMode和任务栈小结
  3. window下安装nvm、node.js、npm的步骤
  4. cvThreshold()函数理解
  5. 九度题库(所有题目整理,适合计算机考研和面试的人用)
  6. variable与get_variable
  7. jdbc获取结果行数_如何获取JDBC中的行数?
  8. [云炬创业基础笔记]第九章企业的法律形态测试3
  9. [云炬创业基础笔记]第一章创业环境测试11
  10. [云炬创业基础笔记]第一章创业环境测试1