printf函数常用的输出格式(未来还会继续补充):
C语言的32个关键字:
数据类型关键字(12个):
char、short、int、long、signed、unsigned、float、double、struct、union、enum、void
控制语句关键字(12个):
1、循环控制:for、do、while、break、continue
2、条件语句:if、else、goto
3、开关语句:switch、case、default
4、返回语句:return
存储类型关键字(5个)
auto、extern、register、static、typedef
其他关键字(3个)
const、sizeof、volatile
『short=short int long =long int 「在这里int被省略了没写而已」』
注意:C语言本身并没有字符串类型,我们在C语言程序中使用的字符串实际上是字符数组,即多个字符构成的就是字符串!
Q:为什么会有这么多的类型?
A:一方面是能够存储更加多样的数据,便于进行数据处理;另一方面的原因就是为了能够更好节约我们的内存空间。
Q:每种类型的大小是多少?
这里需要注意sizeof不是函数,是关键字也是运算符。(关键字≠运算符)
这里我们用到了之前讲到的printf、%d、\n、sizeof、数据类型。
以第五行为例,意思是——在屏幕上以十进制的形式(%d)打印(printf)数据类型char的大小(sizeof),并换行(\n)。
所以我们得到了数据类型char的大小为1个字节(byte)。
其他基本的数据类型大小由上图可知,这里不再赘述。
现在我们知道了这些数据类型的大小,下面我们来列举一下他们的作用。
Eg:让我们先看一下图片中的第5行与第10行,char a = 'b',这里的意思是以字符形式定义a为b。然后以字符形式(%c)打印a,所以在运行框中的行显示了结果为b。
再看一下第8行与第16行,以小数形式定义d为3.14,以.1f形式来打印d,此处的.1f就是我们之前解释到的printf的输出格式。
四、常量与变量
1.如何定义变量
声明变量的公式:数据类型 + 标识符 + 分号
int age666 = 150;
float w_eight = 45.5f;(加f原因:编译器默认为double类型。)
char BBQ = 'w';
在这里我们引入标识符这个概念:
当我们自定义标识符的时候应遵守以下原则:
2.如何使用变量
变量的使用要遵循“先定义后使用的原则”。
显而易见的,张图片的代码是遵循先定义后使用的原则,是正确的,
第二张图片则反之,让我们一起看一下报错信息。
所以我们需要遵循先定义后使用的原则
3.变量的赋值与初始化
我们思考一下,下面的代码,它的打印出来的数值是多少呢?
请注意:变量可以多次赋值,但是不能被多次初始化。
4.变量的作用域及生命周期
话不多说,先上代码,大家可以思考一下这段代码的结果是什么。
运行结果如下:
这里先不做解释,我们一起来看一下作用域和生命周期的定义:
这里还有一些内容不做介绍,在未来的分支与循环结构的内容中还会再次解释。
字面常量
const 修饰的常变量
#define定义的标识符常量
-
枚举常量
①字面常量:
②const修饰的常变量:
这里我们用define定义了LHaisland的值为2022。与const不同的是define定义的就是一个真常量了!这里也需要注意,因为是真常量,所以不可被更改。
思考:使用define定义的好处是什么?
A:我们并没有直接写LHaisland=2022,而是定义了一个标识符常量LHaisland。这样做有什么好处呢?比如,我们这个程序很庞大,LHaisland不仅仅被用在main函数中,还被用在其他很多函数里面。如果有一天,这个数值需要改变了。那么我们就需要到每一个使用过的地方进行修改,这样修改起来会非常麻烦。但是,我们定义了LHaisland的数值,只需要修改这个符号常量所代表的值即可。希望读者朋友们能够理解我想表达的意思,如果不能理解的话,这里换一个商品价值3元的例子,假设商品涨价为4元,那么所有的超市都需要去修改原来的售价,工程量非常大,需要修改的地方非常多,如果我们用define定义过这个商品,那么我们只需要修改一次即可达到我们想要的目的。
枚举常量使用方法:enum 枚举类型名 { 常量1,常量2,… };
例如定义一个性别的枚举常量:enum Sex {MALE,FEMALE,SECRET};
这里我们将MALE=1
这里进行错误演示,更改枚举常量,令SECRET=10
导致编译器报错
责编:霖海岛LHaisland
审核:霖海岛LHaisland
图文来源:霖海岛LHaisland