初识C语言之关键字

大家好,今天来说一说有关C语言常见关键字用法的内容,那么接下来就正式进入今天的学习啦\( ̄︶ ̄)/


再讲关键字具体用法前,我先说明一个概念,关键字是C语言提供的,不能自己创建,尤其注意关键字不能是变量名!! 

接下来看下面这张图,挪列了一些关键字,我将挑部分常见常用的为大家一一讲解


auto:

大家看到这个关键字时肯比较陌生,其实这个关键字是声明一个变量为自动变量的,auto是C语言中应用最广泛的一种类型,在函数内定义变量时,如果没有被声明为其他类型的变量都是自动变量,但是一般都会省去类型说明符auto,所以说不常见到,但却应用极广。如下图所示:

 在定义int类型num1时,加上了auto,而在定义int类型num2以及double和char类型时都省略了auto,但其本质都是自动变量,打印出来结果如上图所示,并无明显变化。

auto也存在以下的情况,例如:

auto num;

像这种省略数据类型,只使用auto修饰变量,C语言默认变量为int型

 当然了,通过监视窗口可以清楚的看出num属于int类型的,详细看下面的截图哦


break:

这个关键字可以说是非常熟悉了,在后面的switch语句和循环语句中常常会看见它的身影,今天先大致讲讲它的用法,为后面的语句打好基础。

break的主要作用是跳出当前循环(for、while、do while)或switch语句。

(鉴于还没有发有关循环的博客,这里先以较为简单的switch语句做示范哦)

当break用于switch语句中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句, 则将继续执行下面的语句,如下所示:

switch语句break的情况:

 switch语句没有break的情况:

 经过观察可以发现,有break时,输入一个数字就会打印对应的值,但没有break时,不仅会打印对应的值,还会打印后面所有的值,那么我在case 2后面加上break,程序会不会是我们想的那样呢

 很明显,与我们的结论完全一致,大家有没有初步理解break的作用呢?

有关break在循环语句中的用法,后期在讲循环语句时会讲到٩(๑•̀ω•́๑)۶


 case,default:

这两个关键字的主要用法都是在switch语句中,其中case后面的是switch语句中所需要输入的整型常量表达式,而default是指case后面出现过的整型常量之外所有的没有出现过的,如下所示:

若输入case后出现过的数字:

若输入case后没有出现过的数字:

 通过上面两个例子可以看出,若输入case所对应的数字,则会打印对应的内容,若输入case后未出现过的,则会打印default后的内容,这便是这两个关键字的主要用法啦。


char,short,int,void,long,float,double:

这些关键字都是我们常见的C语言数据类型,如果有疑问请关注我的C语言之数据类型那篇博客,解释比较详细。


if,else,while,for,do while,struct:

这些都是和后面即将学到的循环语句,分支语句,结构体中的关键字,期待后面讲到这些语句时的讲解啦


enum:

这个是有关枚举的关键字,前面的博客没有讲到,这里作以补充

enum是用来定义枚举类型,例如:

首先强调一下格式,每一个枚举常量和后面的枚举常量都有逗号隔开,最后一个没有,并且,大括号后面必须要有分号!这里也要说明一下:枚举常量一般习惯大写字母表示!

其中MON,TUE,WED,THU,FRI,SAT,SUN便是我们定义的枚举常量

有了这些枚举常量,我们就可以给接下来的枚举变量赋值,比如说:

enum Day one = FRI;

 这里就给变量one赋值为FRI,他们便等价了,从下图第一个打印结果可以明显的看出这个结果

 枚举常量是有具体值的,若不具体声明则从0开始,如第二个打印结果,前四个依次是0,1,2,3

但若是有具体声明是几的,所声明的接下来的枚举常量代表的数值按顺序递增,例如上图的代码我们稍稍修改一下,可以使我们清楚观察到这个规律:

 以上便是枚举常量的具体内容啦╰(*´︶`*)╯


signed,unsigned:

这两个关键字就非常简单啦,signed表示有符号的,unsigned便表示无符号的。


 typedef:

这个关键字是类型重命名,举个例子:

 定义a的类型为无符号整型,感觉名字太长了便可以使用typedef重命名为u_int,比较方便些,大家看图便能大致理解所说的意思啦


register:

寄存器关键字

int num1 = 1;
register int num2 = 2;

意思就是建议将2放在寄存器内,大家稍作了解即可


return:

return便是返回,在我们所书写的大部分的主函数中,都会出现return 0;这个关键字便是返回值的意思。


static:

这个关键字一般修饰变量和函数

修饰局部变量时:不销毁

静态局部变量,出了局部范围不销毁,下次进入函数时依然存在

修饰全局变量时:一个全局变量本身具有外部链接属性的,但是被static修饰后,变为了内部链接属性,只能在源文件内部使用,不能在其他文件内部使用

修饰函数时:一个函数本身具有外部链接属性的,但是被static修饰后,变为了内部链接属性,只能在源文件内部使用,不能在其他文件内部使用

这里我们只讲修饰局部变量时的情况,比较常见且容易掌握些,上代码啦

不加static:

 加static:

 大家肯定发现结果是截然不同的吧,不加static的代码,在每次for循环后,生命周期都会结束,变量被销毁,所无法保持上一次计算的数值(有关生命周期不了解的,可以关注我发的博客初识C语言之数据结构,生命周期那一个哦)

而加上了static后,变量num出了局部范围不销毁,下次进入my_test函数时,仍存在,所以会出现以上两种不同的结果,大家明白了吗(´▽`)ノ♪


 这便是今天初识C语言之关键字的全部内容啦,感谢大家的观看,我们下个博客再见啦o

(*^▽^*)o♪

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>