在day1中简单介绍了一下printf、strlen和sizeof函数的使用方式
今天我们来看一下C语言中的数据类型和变量
1. 数据类型
在C语言中主要有内置类型和自定义类型:
以下是一些内置类型(布尔型是C99新引入的):
上面的整型有四种,主要区别就是取值范围的大小有所不同,
而浮点型有三种,主要是精度的区别,
布尔型的值为true(非0)或者false(0)。
这里提一下上期漏掉的知识点,
这里可以看到s的值依然是2,说明sizeof里面的表达式并不执行,只是通过表达式的形式算出对应的内存大小。
1.1 signed和unsigned的修饰
这两个关键词只能用来修饰字符型和整型,signed表示类型带有正负号,包含负值,
而unsigned 关键字,表示该类型不带有正负号,只能表示零和正整数。
加了unsigned的后,虽然只能取零和整数,但是无形之间就把正数能取的范围扩大了一倍(本来用于存储负数的部分也用来存储正数了)。
值得注意的是,如果一个char类型没有加signed或unsigned,它是否带正负号就是由系统决定的了。并不能默认成signed。
2. 变量
2.1变量的初始化
格式为:类型+名称+值;
2.2 变量的分类
变量分为全局变量和局部变量
全局变量就是能在整段代码都可以使用的变量,而局部变量是在一定范围使用后会自动销毁的变量。并且在全局变量和局部变量冲突的时候是优先使用局部变量的(如上图)。
2.3 变量的运算
首先是加减乘除
+
-
*
/
“/”要注意,当除号左右的操作数至少有一个是浮点型的时候,最后的结果才会使浮点型,否则仍然是整型
“%” 表示的是求余数
“=” 表示赋值
+=
-=
*=
%=
/=
上面这5个由两个符号组成的复合运算就是分别加减乘除后再赋值的意思
“==”两个等号才是判断是否等于的意思
“++” “--”这两个操作符就有点东西了,他们既可以放在变量的左边,也可以放在变量的右边。
第一个:a原来是10,先+1,后a变成了11,再使用就是赋值给b,b得到的也是11,所以计算后,a和b都是11,
第二个:a原来是10,先使用,就是先赋值给b,b得到了10,然后再+1,然后a变成了11,所以结束后a是 11,b是10,
“--”也是同样的道理。
最后,
如果上述代码或者代码解释有问题,欢迎一起讨论~