ANSI C标准 关键字

由ANSI标准定义的C语言关键字共32个 :

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static

根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。

1 数据类型关键字

A基本数据类型(5个)

void [v??d]:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果

char [t?ɑr]:字符型类型数据,属于整型数据的一种

int [?nt]:整型数据,通常为编译器指定的机器字长

float [flot]:单精度浮点型数据,属于浮点数据的一种

double [‘d?b!]:双精度浮点型数据,属于浮点数据的一种

B 类型修饰关键字(4个)

short [??rt]:修饰int,短整型数据,可省略被修饰的int。

long [l??]:修饰int,长整形数据,可省略被修饰的int。

signed [sa?nd]:修饰整型数据,有符号数据类型

unsigned [?n‘sa?nd]:修饰整型数据,无符号数据类型

C 复杂类型关键字(5个)

struct [str?kt]:结构体声明

union [‘junj?n]:共用体声明

enum [i.nju:m?]:枚举声明

typedef [ta?pd?f]:声明类型别名

sizeof [sa?zɑv]:得到特定类型或特定类型变量的大小

D 存储级别关键字(6个)

auto [‘?to]:指定为自动变量,由编译器自动分配及释放。通常在栈上分配

static [‘stæt?k]:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部

register [‘r?d??st?]:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数

extern [‘?kst?n]:指定对应变量为外部变量,即在另外的目标文件中定义,可以认为是约定由另外文件声明的外部变量

const [‘k?nst?nt]:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)

volatile [‘vɑl?t!]:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值

2 流程控制关键字

A 跳转结构(4个)

return [r?‘t?n]:用在函数体中,返回特定值(或者是void值,即不返回值)

continue [k?n‘t?nju]:结束当前循环,开始下一轮循环

break [brek]:跳出当前循环或switch结构

goto :无条件跳转语句

B 分支结构(5个)

if [?f]:条件语句

else [?ls]:条件语句否定分支(与if连用)

switch [sw?t?]:开关语句(多重分支语句)

case [kes]:开关语句中的分支标记

default [d?‘f?lt]:开关语句中的“其他”分治,可选。

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 [hwa?l]:while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件

以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。

时间: 2024-11-06 03:37:44

ANSI C标准 关键字的相关文章

C51中的关键字和ANSIC标准关键字

C51中的关键字和ANSIC标准关键字 作       者:武力戡乱 修改日期:2017-09-05 备       注: 1.总备注信息 2.联系方式 3.其它博文链接:武力戡乱博客目录总表 内       容: 1.C51中的关键字 关键字 用 途 说 明 auto 存储种类说明 用以说明局部变量,缺省值为此 break 程序语句 退出最内层循环 case 程序语句 Switch语句中的选择项 char 数据类型说明 单字节整型数或字符型数据 const 存储类型说明 在程序执行过程中不可更

GNU C 、ANSI C、标准C、标准c++区别和联系

GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的.它的目标是创建一套完全自由的操作系统.它在编写linux的时候自己制作了一个标准成为 GNU C标准.ANSI 美国国家标准协会,它对C做的标准ANSI C标准后来被国际标准协会接收成为 标准C 所以 ANSI C 和标准C是一个概念 总体来说现在linux也支持标准C,以后标准C可以跨平台,而GUN c 一般只在linux c下应用 18.1 ANSI C和标准C++的差别 这里的ANSI C指的是

《C专家编程》笔记(一)——C语言的历史、K&R C和ANSI C

1. C语言的许多特性是为了方便编译器设计者而建立的.于是C语言的语言特性有:数组下标从0而非1开始:C语言的基本数据类型直接与底层硬件相对应:auto关键字只对创建符号表入口的编译器设计者有意义:表达式中的数组名可以看作是指针:float被自动扩展为double(ANSI C中不再如此):不允许嵌套函数(简化了编译器):register关键字,为编译器设计者提供线索,却把包袱丢给了程序员. 2. C编译器不曾实现的一些功能必须通过其他途径实现(编译器实现的功能,如加减乘除.指针.取地址).在C

深入C(关键字)

C语言标准定义的32个关键字 关键字 意 义 auto 声明自动变量,缺省时编译器一般默认为auto int 声明整型变量 double 声明双精度变量 long 声明长整型变量 char 声明字符型变量 float 声明浮点型变量 short 声明短整型变量 signed 声明有符号类型变量 unsigned 声明无符号类型变量 struct 声明结构体变量 union 声明联合数据类型 enum 声明枚举类型 static 声明静态变量 switch 用于开关语句 case 开关语句分支 d

UNIX标准

背景 人们在UNIX编程环境和C 程序设计语言的标准化方面已经做了很多工作.虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相当容易,但是2 0 世 纪 80年代UNIX版本种类 的剧增以及它们之间差别的扩大,导致很多大用户( 如美国政府)呼吁对其进行标准化. 对于我们程序员来说,了解基本的标准和背景是有必要,本文主要对ISO C    POSIX    Sigle UNIX Specification 3个标准进行说明 ISO C 1989年,c程序设计语言的ANSI的标准X3.1

1.C语言关键字(auto break case char const swtich)

ANSI C标准C语言共有32个关键字,分别为: 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 1)auto:一个自动存储变量的关键字,也就是声明一块

ANSI C、ISO C、Standard C联系与区别

本博客文章合集:本博客文章合集 做C语言开发的人,经常会遇到"ANSI C"."ISO C"与"Standard C"三种术语,经常会让人傻傻分不清楚.博主之前按也是搞不清三者的关系,于是某天下定决心,一定要搞清楚三者的关系,先百度上搜下.下面是在百度百科上搜索关键字"ANSI C"得到的结果: ================================分割线=================== ANSI C_百度百科

[整理]标准C中的"布尔"类型

C语言提供的基本数据类型:char , int ,float, double. 为什么没有其他语言中常见bool布尔数据类型呢? 1.在标准C语言(ANSI C)中并没有bool数据类型 标准C中,表达式的值0为假,非0为真.一般,为了提高代码可阅读性,自定义3个int类型的宏: #include <stdio.h> #define bool int #define false 0 #define true 1 int main(){ bool result = true;//true的值实际

windows下的c语言和linux 下的c语言以及C标准库和系统API

1.引出我们的问题? 标准c库都是一样的!大家想必都在windows下做过文件编程,在linux下也是一样的函数名,参数都一样.当时就有了疑问,因为我们非常清楚 其本质是不可能一样的,源于这是俩个操作系统啊!但由于c标准库的封装就实现了接口一样.但是如果往深入,我们就非常清楚了在这层封装上还有一层封装其实就是操作系统对文件操作的封装,也就是文件IO.而我们c语言的封装叫标准IO,他们有什么区别那?显然标准iO是基于文件io的,标准IO调用了文件IO,也优化了文件IO,例如引入缓存机制. 2.上面