目录

前言

一、关键字是什么?

二、关键字使用方法

1.关键字分类

2.使用方法(详解)

1.数据类型关键字

  • int,float,double,char
  • short,long,signed,unsigned
  • union,struct()
  • enum

2.存储类型关键字

  • auto
  • static
  • register
  • extern

3.控制语句关键字

  • for ,do ,while
  • if,else, switch, case, default
  • goto ,continue,break,return
  • const,typedef,sizeof,volatile

总结



前言

对于刚入门c语言的小白而言,了解C语言的关键字,包括其含义、用法,对分析和编写C程序都有着极其重要的作用

一、关键字是什么?

关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字,关键字不能用作变量名、函数名等

下面是小编总结的c语言常用的32个关键字

autobreakcasecharconst
continuedefaultdodoubleelse
enumexternfloatforgoto
ifintlongregisterreturn
shortsignerdsizeofstaticstruct
switchtypedeftunionunsignedvoid
volatilewhile

二、关键字使用方法

1.关键字分类

  • 数据类型关键字(12个)
int整型变量或函数
char字符型变量或函数
float浮点型变量或函数
double双精度变量或函数
enum枚举类型
short短整型变量或函数
long长整型变量或函数
signed有符号类型变量或函数
unsigned无符号类型变量或函数
struct结构体变量或函数
union联合数据类型
void修饰函数,说明函数无返回值
修饰指针,说明指针是不确定数据类型的指针
函数无返回值或无参数,无类型指针
  • 存储类型关键字(4个)
auto声明自动变量
static声明静态变量
register声明存储器变量
extern

声明变量,在其他文件中声明,亦引用变量

  • 控制语句关键字(12个)
跳转结构goto无条件跳转语句
continue结束当前循环,开始下一轮循环
break跳出当前循环或switch结构
return子程序返回语句,可带或不带参数
循环结构forfor循环结构
do循环语句的循环体
while循环语句的循环条件
分支结构if条件语句
else条件语句否定分支(与 if 连用)
switch用于开关语句
case开关语句分支
default开关语句中的“其他”分支,可选
  • 其他关键字

const声明只读变量
sizeof计算对象所占内存空间大小
typedef给数据类型取别名
volatile说明变量在程序执行中可被隐含地改变

2.使用方法(详解)

1.数据类型关键字

  • int,float,double,char

#define _CRT_SECURE_NO_WARNINGS 1#include int main(){int a = 1;//定义一个整型数a,并且初始化为1float b = 2;//定义一个单精度浮点型数b,初始化为2double c = 10;//定义一个双精度浮点数c,初始化为10char ch1 = 'x';//定义一个字符型数ch1,把字符x放入ch1中printf("%d %f %lf %c\n", a, b, c,ch1);return 0;}
  • short,long,signed,unsigned

#include int main(){long int a = 4;//定义长整型数a,初始化为4short int b = 7;//定义一个短整型数b,初始化为7signed int d = 2;//定义一个有符号整型数d,初始化为2unsigned int c = 8;//定义一个无符号整型数c,初始化为8printf("%u", c);return 0;}
  • union,struct()

定义格式为

union 共用体名

{
成员列表
};

如:

#include union book{float price;char name[40];int id[20];};//此共用体包含三个成员,分别是价格price,书名name,书籍序列号id

struct用法与union一样两者不同的是结构体的各个成员会占用不同的内存,互相之间没有影响;而共用体的所有成员占用同一段内存,修改一个成员会影响其余所有成员

  • enum

定义格式为:

enum 枚举名

{枚举值名表};

如:

#include enum {Jan,Fed,Mar,Apr,May,Jun,Jul,Aug,Sept,Oct,Nov,Dec};//枚举一年中的1到12月

2.存储类型关键字

  • auto

#include void sub(float a){auto int i;//这个i被auto修饰,为局部变量,生命周期只在这个括号内}
  • static

小编对static函数进行了独立的讲解哦,可以点击下面链接观看

https://blog.csdn.net/m0_62588419/article/details/127418937?spm=1001.2014.3001.5501https://blog.csdn.net/m0_62588419/article/details/127418937?spm=1001.2014.3001.5501

  • register

寄存器变量也是自动变量,这种变量的值是保留在cpu的寄存器中,程序运行时,访问存于寄存器内的值要比访问存于内存中值要快得多,因此当程序对运行速度较高时,可把那些频繁引用的少数变量指定为register变量以提高运行速度

#include int main(){int power(int a, register int n);//函数声明int s;s = power(5, 3);printf("%d\n", s);}int power(int x, register int n)//函数定义{register int p;for (p = 1; n; n--)p = p * x;return p;}
  • extern

这个函数用代码举例可能没有文字描述直观,那小编就以字代码和大家唠唠吧

在我们写代码时,在一个project工程下,我们建立一个test-1.c文件和一个test-2.c文件,假如我们在第一个test-1.c文件中自定义了一个函数,假使我们在test-2.c文件中还需要用到这个函数,我们就可以用auto+函数声明,此时就可以调用外部函数啦

3.控制语句关键字

  • for ,do ,while

C语言 for 循环语句的一般格式如下:

for(表达式1; 表达式2; 表达式3)
循环体语句;

#includeint main(){int a = 0;//定义一个整型数并且初始化为0for (a = 0; a <= 5; a++)//for循环,a从0开始,到5结束,每次循环完a自增1{printf("海绵宝宝");//循环一次打印一次海绵宝宝}return 0;}

在C语言中do while一般连用构成循环

do
{
语句;
}
while (表达式);

#includeint main(){int a = 5;do{a = a + 3;printf("%d\n", a);} while (a > 20);return 0;}
  • if,else, switch, case, default

一般情况下,else都是跟if连用的,所以我们放在一起

语法为:

if(表达式)

{语句}

if(表达式)

{语句}

else(表达式)

{语句}

if分支有单分支,双分支,多分志的结构,在这里我就例举一种情况来说明if else的用法

#include int main(){int a = 0;scanf("%d", &a);if (a > 2 && a 2,并且a<10{printf("我是大可爱");}else//否则(即a不在2-10的范围内){printf("我不可爱");}return 0;}

case, switch, default一般情况下在一起用,这里小编也放在一起和大家讲啦

switch 语句根据控制表达式的值,可以把程序流跳转到多个语句中的一个执行:括号里的表达式具有整数类型,并且这里的语句就是该 switch 主体,它包括了多个 case 情况,以及最多一个 default 。

括号里的表达式会被计算一次,并和 case 标签中的常量表达式做比较如果表达式的值匹配其中的某个 case 常量,程序流就会跳转到该 case 标签后面的语句。如果没有匹配的 case 常量,程序流就会跳转到 default 标签后的语句(如果存在 default 标签)。

switch语句的一般表达形式

switch(表达式)

{

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

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

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

default:语句n+1;

}

#includeint main(){int g=100;switch (g / 10){case 10:printf("perfect\n");case 9: printf("A\n");case 8: printf("B\n");case 7: printf("C\n"); break;//如果case结束后不加break,程序就会继续往下执行case 6: printf("D\n"); break;default: printf("over");}return 0;}

在这里小编还要强调的是,初学C语言的小伙伴一定要深究加break与不加break的区别,只有弄清楚这个,程序才能达到自己想要的结果哦

  • goto ,continue,break,return

goto语句成为无条件转向语句,一般形式:

goto 语句标号;

比如说,我们需要从键盘输入一组数据,以零作为结束输入数据标志,求这组数据之和,这是我们可以借助goto来实现

#define _CRT_SECURE_NO_WARNINGS 1#include int main(){int number = 0;int sum = 0;loop:scanf("%d", &number);//loop是配合goto使用的,相当于一个行标号sum += number;//sum=sum+numberif (number != 0)goto loop;//跳转到loop标记的那一行printf("the total sum is%d\n", sum);return 0;}

前面我们讲到,break用来跳转出switch语句当 break 关键字用于 while for循环时,会终止循环而执行整个循环语句后面的代码,满足条件时便跳出循环

continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。下面我们来看两个代码

#include int main(){int a = 0;int b = 0;for (a = 1; a  5)break;//跳出循环printf("%d ", b);}return 0;}//此程序的输出结果为1 2 3 4 5
#includeint main(){int a = 0;int b = 0;for (a = 1; a <= 10; a++)//a从1开始,到十结束循环,每次循环a自增一次{b = b + a;printf("%d ", a);if (a % 2 == 0)//如果a除以二的余数等于0continue;//跳出这次循环,继续下一次循环printf("%d\n",b);}return 0;}

return 语句的一般形式为:

return 表达式;

或者:

return (表达式);

就是对函数返回类型的说明

int func(){    printf("http://c.biancheng.net\n");}
  • const,typedef,sizeof,volatile

const

const int Max= 230;//用const修饰的变量,它的值不能被改变,在整个作用域中都保持固定

sizeof

sizeof使用形式: sizeof(type)  数据类型必须用括号括住: sizeof(int)
#includeint main(){int b = 2;printf("%d", sizeof(b));return 0;}

因为typedef和volatile所需要的篇幅较大,小编会在后期的文章中逐一讲解哦

总结

以上就是今天要讲的内容,本文仅仅简单介绍了C语言常用关键字的使用,而关键字在除本文介绍之外的用法,还有许多强大的功能,随着编程基础的提高,大家可以慢慢去探索哦