c语言入门自学32关键字,【C语言入门知识】C语言32个关键字9条语句

【C语言入门知识】C语言32个关键字9条语句

C语言32个关键字如下图:

一、基本数据类型

1、unsigned :无符号的 ---用来声明一个无符号的变量

例如:unsigned char var; /var的范围:0~255

2、signed :有符号的(可以省略不写) ---用来声明一个有符号的变量

例如:signed char var; /var的范围:-128~127

3、char :字符型---用来声明一个字符型变量,占一个字节(8bit)空间

例如:char var=1; /var的范围:-128~127

4、int :整型---用来声明一个整型变量,C51:占两个字节空间,ARM:占四个字节

例如:int var=1;

5、float :浮点型---用来声明一个浮点型(实型)变量,最多能表示到7个有效数据位,占四个字节空间。

例如:float var=1.23;

6、double :双精度型---用来声明一个双精度实型变量,最多能表示到15~16个有效数据位,占四个字节空间

,有的系统占八个字节.

例如: double var=2.321;

7、short :短整型---用来声明一个短整型变量,C51:跟int一样,ARM:占两个字节

例如: short var=1;

8、long :长整型 ---用来声明一个长整型变量,ARM:跟int一样,C51:占四个字节

例如:long var=1;

9、void :空型----表示一个函数没有返回值,或者无形参

例如:void function(void);

二、构造数据类型

1、struct ---用来声明一种结构体类型

例如:

struct stu

{

char sex;

int age;

float score;

struct stu *Next;

};

struct stu var;

2、union---用来声明一种共用体类型

例如:

union non

{

char sex;

int age;

float score;

};

union non var;

3、enum---用来声明一种枚举类型,规定枚举类型的变量,只能在限定的范围内取值, 否则,编译会出现警告

例如:

enum em

{

a = 23,

b,

c,

d = 56,

e

}; /b=24,c=25,e=57

enum em var;

三、数据的存储类别

1、auto

:自动的(一般省略不写)---定义一个局部变量,默认为auto类型的,当它所在的函数调用结束时,释放内存使用时才分配内存,用完即释放。

例如:auto char var;

2、static :静态的

①定义一个局部变量,该变量在定义时只进行一次初始化,以后每次调用它所在的函数,其值

都会保持上一次调用的结果,它所在的空间不会被释放

②被static修饰的全局变量,则只能在它所在的C源文件中使用,其它文件不能调用,(内部全局变量)

③被static修饰的函数,只能在该函数所在的C源文件中被调用,其它文件不能调用,(内部函数)

例如:

static char var;

static void function();

3、extern :外部的

①想要调用别的C源文件中的某一个全局变量,可以使用该关键字在该文件中修饰声明该变量即可调用(前提是该变量没有被static修饰)该类型的变量也是一直占着内存不释放

②想要调用别的C源文件中的某一个函数,可以使用该关键字在该文件中修饰声明该函数

即可调用(前提是该函数没有被static修饰)

例如:

extern char var;

extern void function();

4、register :寄存器的

被这个关键字修饰的变量,建议编译器将该变量在使用时放到CPU内部寄存器中,以提高执行效率

注意:该关键字只是建议,到底有没有将变量放到寄存器中无从得知。一般使用在循环次数比较多的地方。在使用时才分配内存,用完即释放

例如:

register long i = 30000;

5、const :常的

常变量:被const关键字声明的变量,其值不能被改变。即在声明该变量时必须要初始化该变量。

var本身还是一个变量。

const char var = 100;

例如:

char *const p;

/指针变量p不可改变,但是它指向的地址里面的值可变

char const *p; 或 const char *p;

/指针变量p可以改变,但是它所指向的地址里面的值不能改变

const char * const p;

/p地址不可改变,里面的值也不能变

6、volatile :随时会改变的

被volatile修饰的变量或寄存器会意想不到地发生改变。

①某些变量或寄存器(如状态寄存器)可能会受硬件影响;

②在多线程任务中,被其它线程修改(共享内存段);

③编译器会对C程序进行优化;

为了保证程序不被优化,保证CPU取到的数据是最新的(即提醒CPU每次都必须到内存中取出变量当前的值而不是取cache或者寄存器中的备份),使用该关键字修饰。

四、9条语句

四种结构:

1、顺序结构:0条

2、选择结构:2条

①、if -else if -else if ... else

例如:

if(表达式1)

{

语句s;

}

else if(表达式2)

{

语句s;

}

else if(表达式3)

{

语句s;

}

else

{

语句s;

}

用法:顺序判断if后的表达式是否为真如果碰到为真的情况,则执行其下面的{}里的语句执行完后,即退出这个多选一的结构。

②、switch-case-break

例如:

switch(变量)

{

case 常量1:语句;...;break;

case 常量2:语句;...;break;

case 常量3:语句;...;break;

default:语句;

}

用法:顺序判断变量是否与常量相等,如果相等,则执行该常量:后的语句s,遇到break即跳出这个结构。

3、循环结构:3条

①、for

例如:

for(语句1;语句2;语句3)

{

语句4;

语句...;

}

用法:语句1:条件初始化,语句2:判断语句,判断是否成立,语句3:增值语句先执行语句1,再进行对语句2的判断,如果成立则执行{}里的语句4...,再执行语句3,在判断语句2是否依然成立,。当语句2不成立时,结束循环。

②、while

例如:

while(表达式)

{

语句;

....;

}

用法:先判断“表达式”是否成立,如果成立则执行{}里的语句,执行完再次判断“表达式”是否依然成立,成立则继续执行{},不成立则结束此循环结构。

③、do-while

例如:

do

{

语句1;

...;

}while(表达式);

用法:先执行{}里的语句,执行完后,判断表达式是否成立,如果成立,继续执行{};如果不成立,则结束循环。

4、转移结构:4条

①、break

例如:

while(t--)

{

dat++;

if(dat == 3)

break;/跳出while()结构。

}

用法:仅用于跳出循环结构,且仅能跳出一层循环结构。

②、continue

例如:

char buf = 10;

while(buf--)

{

a++;

b++;

continue;/遇到continue则结束这次循环

d++; /这条永远都不会执行到

e++; /这条永远都不会执行到

}

用法:用于终止本次循环,继续从下次循环开始。

③、goto

例如:

unsigned char dat=10;

while(dat--)

{

a++;

b++;

Lable: c++;

if(c == 3)

goto Lable;/直接跳到Lable标号去

d++;

}

用法:无条件转移,直接跳到Lable标号去运行。

④、return

例如:

void function()

{

char a,b;

a++;

return; /遇到return即返回调用处

b++; /不会被执行

return; /不会被执行

}

用法:用于函数返回,在函数调用时,遇到return即返回。如果需要返回某个值,在其后加上返回值。返回值类型必须和函数类型一致。

五、其它:

1、typedef : 类型重定义(重新起名)

例如:

typedef unsigned char uchar;

/用uchar重新定义unsigned char

2、sizeof---用来求类型所占的字节数

例如:

int var = 10;

char g;

g = sizeof(var++);/g = 4;

免责声明:本文系网络转载,版权归原作者所有。如涉及版权,请联系删除!

如果喜欢这篇文章,欢迎在文章底部点赞,欢迎关注航天惯性导航软件!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值