- 变量的相关概念
- 为什么需要变量
- 变量的介绍
- 概念
- 变量使用的基本步骤
- 变量使用注意事项
- 变量的数据类型
- 注意:
- 数据类型相关
- 整型:
- 基本介绍
- 整数的类型
- 整型的使用细节
- 浮点类型
- 基本介绍
- 浮点类型
- 说明一下:
- 浮点型使用细节
- 字符类型
- 基本介绍
- 字符类型使用细节
- 字符类型本质探讨
- 布尔类型
- 基本介绍
不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位。如下代码:
void main() {
int a=1;// 定义了一个整型变量,取名为a, 并赋值为1 (强数据类型语言)
int b=3;// 定义了一个整型变量,取名为b, 并赋值为3
b=89;// 给变量赋值 为 89
printf("a=%d n",a);// 使用输出语句,把变量a 值输出 %d 表示输出的形式为整数
printf("b=%d n", b);//使用输出语句,把变量b 值输出 %d 表示输出的形式为整数
getchar(); //将控制台停留,等待输入
}
变量的介绍
概念
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)
变量的使用步骤
变量使用的基本步骤- 声明变量int num;
- 赋值num = 60;
- 使用printf("num=%d", num);
- 也可以一步到位 : int num2 = 99;
//1.声明变量【告诉计算机要开一个房间】 int num = 1 ; //整型 double score = 2.3; //小数 char gender = 'A'; //字符 char name[] = "尚硅谷"; //字符串变量使用注意事项
- 变量表示内存中的一个存储区域(不同的数据类型,占用的空间大小不一样)
- 该区域有自己的名称 和类型
- 变量必须先声明,后使用
- 该区域的数据可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名
- 变量三要素 (变量名+值+数据类型) ,这一点请大家注意。
每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(使用字节多少表示)。
注意:- 在c中没有字符串类型,使用字符数组char[]表示字符串
- 在不同系统上,部分数据类型字节长度不一样,举例:int可以占两个字节或4个字节
C语言的整数类型就是用于存放整数值的,比如 12 , 30, 3456等等
整数的类型| 类型 | 存储大小(单位为字节) | 值范围 |
|---|---|---|
| char | 1 | -128 即-(2^7) 到 127 (2^7-1) |
| unsigned char | 1 | 0 到 255 (2^8 - 1) |
| signed char | 1 | -128 即-(2^7) 到 127 (2^7-1) |
| intsigned int (int) | 2/4 | -32,768 (- 2^15 ) 到 32,767 (2^15-1)或 -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 -1) |
| unsigned int | 2/4 | 0 到 65,535 (2^16-1) 或 0 到 4,294,967,295 (2^32 -1) |
| short (signed short) | 2 | -32,768 (- 2^15)到 32,767 (2^15 -1) |
| unsigned short | 2 | 0 到 65,535 (2^16 - 1) |
| long (signed long) | 4 | -2,147,483,648 (- 2^31) 到 2,147,483,647 (2^31 - 1) |
| unsigned long | 4 | 0 到 4,294,967,295 (2^32 - 1) |
- 各种类型的存储大小与操作系统、 系统位数和编译器有关 ,目前通用的以64位系统为主。
- 在实际工作中, c程序通常运行在linux/unix 操作系统下.大众:使用windows10(64位)
- C语言的整型类型, 分为有符号 signed 和无符号 unsigned 两种, 默认是 signed
- C程序中整型常声明为int型, 除非不足以表示大数, 才使用long long
- bit(位): 计算机中的最小存储单位。 byte(字节):计算机中基本存储单元。
- 1byte = 8bit [二进制再详细说, 简单举例一个 short 3 和 int 3 ]
- short 3 在内存中占有 2字节
- int 3 在内存中占有 4个字节
C语言的浮点类型可以表示一个小数,比如 123.4 , 7.8 , 0.12等等
浮点类型| 类型 | 存储大小 | 值范围 | 精度 |
|---|---|---|---|
| float 单精度 | 4 字节 | 1.2E-38 到 3.4E+38 | 6 位小数 |
| double 双精度 | 8 字节 | 2.3E-308 到 1.7E+308 | 15 位小数 |
- 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位 , 浮点数是近视值
- 尾数部分可能丢失,造成精度损失。
- 浮点型常量默认为double型 , 声明float型常量时, 须后加‘f’或‘F’。
- 浮点型常量有两种表示形式
- 十进制数形式:如: 5.12 512.0f .512 (必须有小数点)
- 科学计数法形式:如: 5.12e2 、 5.12E-2
- 通常情况下,应该使用double型,因为它比float型更精确。
- printf("d1=%f ", d1); // 在输出时,默认保留 小数点6位
字符类型可以表示单个字符,字符类型是char, char是1个字节(可以存字母或者数字),多个字符称为字符串, 在C语言中 使用 char数组 表示,数组不是基本数据类型,而是构造类型。
字符类型使用细节-
字符常量是用单引号('')括起来的单个字符。 例如: char c1 ='a'; char c3 = '9';
-
C中还允许使用转义字符‘’来将其后的字符转变为特殊字符型常量。例如: char c3 = ‘n’; // 'n'表示换行符
-
在C中, char的本质是一个整数,在输出时,是ASCII码对应的字符。
-
可以直接给char赋一个整数,然后输出时,会按照对应的ASCII 字符输出 [97]
-
char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码.
char c1 = 'a'; char c2 = 'b';
- 字符型 存储到 计算机中,需要将字符对应的码值(整数)找出来
- 存储:字符’a’——>码值 (97)——>二进制 (1100001)——>存储()
- 读取:二进制(1100001)——>码值(97)——> 字符’a’——>读取(显示)
- 字符和码值的对应关系是通过字符编码表决定的(是规定好)
- C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真 [案例]
- 但这种做法不直观,所以我们可以借助C语言的宏定义 。
- C语言标准(C99)提供了_Bool 型, _Bool仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1, C99还提供了一个头文件
定义了bool代表_Bool, true代表1, false代表0。只要导入 stdbool.h ,就能方便的操作布尔类型了 , 比如 bool flag = false; - 条件控制语句; if
- 循环控制语句; while …



