初识C语言数据类型、常量、变量

一、数据类型

计算机语言 - 写程序 - 解决生活中的问题

作为一门语言,必须有能力描述生活中的问题

C语言中的数据类型:

char //字符数据类型

short //短整型

int //整形

long //长整型

long long //更长的整形

float //单精度浮点数

double //双精度浮点数

初识C语言数据类型、常量、变量_第1张图片

在屏幕上打印一个整数 - %d

7af76177f1044c2e8bed49737980c536.png

sizeof - 关键字 - 操作符 - 计算类型或变量所占空间的大小。单位是字节。

初识C语言数据类型、常量、变量_第2张图片

图中前面是代码部分,放到主函数中;竖线后面是运行控制台,是运行代码的结果,意思为对应数据类型所占的空间大小,单位是字节。

计算机中的单位: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、变量

由类型创建一个变量。变量的值是可以被改变的。有两种写法:

类型   变量名字 = 初始化值;     //这里类型和变量名字之间只有一个空格,我这里方便辨识多加了                                                     //几个,//是注释的意思,不会参加代码的运行。

类型   变量名字;  //这种写法是被允许的但是不推荐这样写

初识C语言数据类型、常量、变量_第3张图片

 变量的定义方法可以参考上面代码。

整数类型在屏幕上显示用%d

单精度浮点数在屏幕上显示用%f

双精度浮点数在屏幕上显示用%lf

 

变量的分类:局部变量、全局变量

局部变量:在函数内部定义的变量都是局部变量

全局变量:在函数外部定义的变量都是全局变量

当局部变量和全局变量名字冲突时,局部变量优先使用。但是不建议把局部变量和全局变量定义成一样的名字。

初识C语言数据类型、常量、变量_第4张图片

 scanf函数是输入函数。

&时取地址操作,将输入的值放入变量对应的地址中去。

初识C语言数据类型、常量、变量_第5张图片

 代码的目的是求输入的两个int型数值的和并输出。

2、常量

不变的量就是常量。

常量的分类:

  1. 字面常量
  2. const 修饰的常变量
  3. #define 定义的标识符常量
  4. 枚举常量

 字面常量:

初识C语言数据类型、常量、变量_第6张图片

 const 修饰的常变量:

初识C语言数据类型、常量、变量_第7张图片

 初识C语言数据类型、常量、变量_第8张图片

 num就是常变量,具有常属性(不能被改变的属性)。

虽然是常变量,具有不能被改变的属性,但是他依旧不是一个常量,下面给出证明:

初识C语言数据类型、常量、变量_第9张图片

 这里定义了一个变量 n ,然后我想在定义数组的时候用这个变量去定义数组中元素的个数,程序会报错,错误为输入的应该是常量表达式。然后我们用const 修饰 n ,让 n 成为一个常变量,再尝试用n 去表示数组中元素的个数,结果还是报错,依然是没有输入常量表达式,由此可以得出结论:常变量虽然不能被改变,但是他依旧不等于常量。

初识C语言数据类型、常量、变量_第10张图片

 3、#define 定义的标识符常量

定义格式:#define 常量名 常量值         //注意常量名和常量值中间有一个空格

1f2e72a88dc44bf297f321b95dfd64ec.png

334f5237009f4db28a51a020c72406e1.png

#define 在大括号(main()函数)外面定义也可以,在大括号内部定义也可以。

4、枚举常量

枚举常量就是可以一一列举的常量。

初识C语言数据类型、常量、变量_第11张图片

 初识C语言数据类型、常量、变量_第12张图片

 一定要先声明枚举常量,然后再使用,不然会报“没有被定义”的错误。

枚举常量都是有值的,他的初值都是由0开始的,而且不能改变,除非在定义的时候你就给枚举变量赋初值。

以上就是我分享的初识数据类型、常量和变量的内容了,下次会分享初识字符串和转义字符,一起加油吧!

 

 

 

 

 

你可能感兴趣的:(c语言)