一、数据类型
计算机语言 - 写程序 - 解决生活中的问题
作为一门语言,必须有能力描述生活中的问题
C语言中的数据类型:
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
在屏幕上打印一个整数 - %d
sizeof - 关键字 - 操作符 - 计算类型或变量所占空间的大小。单位是字节。
图中前面是代码部分,放到主函数中;竖线后面是运行控制台,是运行代码的结果,意思为对应数据类型所占的空间大小,单位是字节。
计算机中的单位:bit
byte - 字节=8bit
kb = 1024 byte
mb = 1024 kb
gb = 1024 mb
tb = 1024 gb
pb = 1024 tb
为什么 long 和 int 所占的空间一样大呢 - C语言标准:sizef(long) >= sizeof(int)
二、变量和常量
生活中的一些数据:有些是不能变的,血型、性别、圆周率等是不能变的数据;有些数据是能变的,年龄、工资、体重,这些数据是能变的。
常量:不能改变的量
变量:能被改变的量
1、变量
由类型创建一个变量。变量的值是可以被改变的。有两种写法:
类型 变量名字 = 初始化值; //这里类型和变量名字之间只有一个空格,我这里方便辨识多加了 //几个,//是注释的意思,不会参加代码的运行。
类型 变量名字; //这种写法是被允许的但是不推荐这样写
变量的定义方法可以参考上面代码。
整数类型在屏幕上显示用%d
单精度浮点数在屏幕上显示用%f
双精度浮点数在屏幕上显示用%lf
变量的分类:局部变量、全局变量
局部变量:在函数内部定义的变量都是局部变量
全局变量:在函数外部定义的变量都是全局变量
当局部变量和全局变量名字冲突时,局部变量优先使用。但是不建议把局部变量和全局变量定义成一样的名字。
scanf函数是输入函数。
&时取地址操作,将输入的值放入变量对应的地址中去。
代码的目的是求输入的两个int型数值的和并输出。
2、常量
不变的量就是常量。
常量的分类:
- 字面常量
- const 修饰的常变量
- #define 定义的标识符常量
- 枚举常量
字面常量:
const 修饰的常变量:
num就是常变量,具有常属性(不能被改变的属性)。
虽然是常变量,具有不能被改变的属性,但是他依旧不是一个常量,下面给出证明:
这里定义了一个变量 n ,然后我想在定义数组的时候用这个变量去定义数组中元素的个数,程序会报错,错误为输入的应该是常量表达式。然后我们用const 修饰 n ,让 n 成为一个常变量,再尝试用n 去表示数组中元素的个数,结果还是报错,依然是没有输入常量表达式,由此可以得出结论:常变量虽然不能被改变,但是他依旧不等于常量。
3、#define 定义的标识符常量
定义格式:#define 常量名 常量值 //注意常量名和常量值中间有一个空格
#define 在大括号(main()函数)外面定义也可以,在大括号内部定义也可以。
4、枚举常量
枚举常量就是可以一一列举的常量。
一定要先声明枚举常量,然后再使用,不然会报“没有被定义”的错误。
枚举常量都是有值的,他的初值都是由0开始的,而且不能改变,除非在定义的时候你就给枚举变量赋初值。
以上就是我分享的初识数据类型、常量和变量的内容了,下次会分享初识字符串和转义字符,一起加油吧!