C语言32个关键字

C语言是一种面向过程、抽象化的通用程序设计语言,广泛应用于嵌入式底层和系统开发。

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 联合类型数据

第二类:12个九条基本语句相关关键字

C语言只有9条有效的基本语句分四类:

第一类:0条顺序结构基本语句

第二类:2条选择结构基本语句

if(if-else、if-else if-else if-else)、switch-case-break-default

第三类:3条循环结构基本语句

for、while、do-while

第四类:4条转移结构基本语句

goto、break、continue、return。

1、顺序结构基本语句

如果没有基本语句,程序一般是从上到下,从右向左执行,有疑问加()。

例如:

i=1;

i=i+3;

b=3;

b=i+10;

c=i+b;

运行结果:c=18。

例如:

i=1;

i=i+3;

b=3;

b=(i+10)*2;

c=i+b;

运行结果:c=32。

2、选择结构基本语句

在C编程的时候,选择结构三种情况:

2.1 单种选择if(它是一条语句,也是一个关键字)

x=0;

if(i==3)  

{

    x=x+100;  

}

y=x;

语句分析:

if(i==3),如果i和3值相同就执行if后面{}括号里面的语句,否则跳过。  

如果i==3成立,那么y=100;

如果i==3不成立,那么y=0。

建议:凡是单种选择一定用if。

2.2 两种选择:if-else

  x=0;

  if(i==3)   

   {

          x=x+100;

   }

  else

  {

          x=10;

  }

   y=x;  

语句分析:

如果i和3值相同,执行if后{}里面语句,否则执行else后{}里面语句。

如果i==3成立,那么y=100;

如果i==3不成立,那么y=10。

建议凡是两种选择一定用if-else语句。

2.3 多种选择:

凡是多种选择一定用if-else if-else if-else或switch-case-break-default

(注意:这四个关键字缺1不可,否则就不是选择语句了)这两条基本语句。

if-else if-else if-else语句案例:

   unsigned char  i,x;  

   x=0;

   if(i==3)         x=100;

   else if(i==5)  x=200;

   else if(i==6)  x=250;

   else x=123;

   y=x;  

语句分析:

如果i是3,那么y=100; 

如果i是5,那么y=200;  

如果i是6,那么y=250;  

如果i是其它值,那么y=123。

switch-case-break-default语句应用案例:

  x=0;

  switch(i)

  {

      case 3:x=100;break;

      case 5:x=200;break;

      case 6:x=250;break;

      default:x=123;

  }

  y=x;

语句分析:

如果i是3,那么y=100; 

如果i是5,那么y=200;  

如果i是6,那么y=250;  

如果i是其它值,那么y=123。

小知识:注意switch-case-default语句不是选择语句,是确定语句。

switch(表达式)

{

case常量表达式1: 语句1;

case常量表达式2: 语句2;

case常量表达式n: 语句n;

default : 语句n+1;

}

其语义是:

计算表达式的值。并逐个与其后的常量表达式值相比较,

当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。

如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

switch-case-default语句应用案例:

  x=0;

  switch(i)

  {   

      case 3:     x=100;

      case 5:     x=200;

      case 6:     x=250;

      default:x=123;

  }

  y=x; 

语句分析:

该语句的执行过程为:

如果case后面的值和i不相同,就不执行case后面的语句;

如果case后的值和i相等,执行后面的语句,然后不再判定,继续执行后面所有的语句;

本例子程序无论i的值是多少,y的值永远为123.

这条语句已经不是选择结构的语句了,因为每行case后面少了break关键字!

这条语句是确定语句,永远执行default后面的语句。

这条语句,类似于鸡肋,程序开发中不建议使用。

break关键字,仅只用在switch语句或循环语句中,其作用是跳出switch语句或跳出本层循环,转去执行后面的程序。

3、循环结构基本语句

3.1 for:凡是有限循环就只用for语句,并且只用标准格式;

3.2 while:凡是无限循环就只用while

3.3 do-while:可以不用,因为可以用其它方式替换,不影响编程。

for语句应用案例

unsigned char i,x,y,z;

i=x=y=z=1;

for(i=0;i<3;i++)  

{                       

    x=x+1;    

}

语句分析:

第一次循环:i= 0,x=2;

第二次循环:i= 1,x=3; 

第三次循环:i= 2,x=4             

最终:x=4。          

for语句标准格式:

for(i=0;i<3;i++)  

{                       

    x=x+1;    

}

for语句变异格式1:

i=0;

for(;i<3;i++)  

{                       

    x=x+1;    

}

for语句变异格式2:

for(i=0;i<3;)  

{                       

    x=x+1;   

    i++;

}

for语句变异格式3:

i=0;

for(;i<3;)  

{                       

    x=x+1;   

    i++;

}

---

以上语句相同,格式不同,但功能相同,for语句至少有8种以上格式。

建议 :

for语句只用一种场合:有限循环;

只用一种格式:标准格式。

其它格式用了可以开发产品,不用也不影响开发产品。

以下两种都是无限循环语句,这两条语句功能完全等价,所以初学者可以有限循环只用for语句、无限循环只用while语句。

for(;;)   

{        

    x=x+1;

}

while(1)   

{            

    x=x+1;

}                   

建议:while语句只用于无限循环。

while(1)   

{           

    x=x+1;

}

y=x;    

语句说明:

先判定while后()里面值是否是为真(非0),是执行{}里面语句;如果不是跳出。

该语句是判定一次,执行一次。

do

{

    x=x+1;

}while(1);   

语句说明:

先执行{}里面语句,执行完再判定while后()的值是否为真(非0),为真继续执行,为0跳出。

以上语句完全可以用下面语句替换:

x=x+1;

while(1)   

{            

    x=x+1;

};

建议:do-while语句可以不用,因为不影响产品开发。

4、转移结构基本语句

4.1 break:仅仅只用于一种场合:跳出循环结构基本语句     

也就是说它仅只用于for、while和do-while三条循环语句的跳出。

4.2 return:

仅仅只用于一种场合:跳出子函数并返回。

4.3 goto:

它是无条件转移,一旦遇到它必须转移。可以不用,因为不影响开发产品。

4.4 continue:

它仅仅只用于程序调试或测试,正式程序不用。它是中止本次循环,继续大循环。

建议初学者:

用C编程,do-while、continue、goto三条语句可先不用,也不影响产品开发。

只要掌握其它6条基本语句就可以用C编写程序了。

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

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

C语言程序范例:

char x=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 liu[10];

unsigned char *sp;

m=sizeof(a);

n=sizeof(b);

x=sizeof(liu);

y=sizeof(sp);

z=sizoef(*sp);

程序分析:

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

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

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

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

程序运行结果:

m=1。

n=4。

x=10。

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

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

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

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘颖Eleven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值