一、变量为什么必须初始化?
二、常量在C语言中是怎么表示的?在回答这个问题之前,我们先来运行一段代码:
- #include <stdio.h>
- int main(){
- int i;
- printf("i=%d\n", i);
- }
输出结果:3401184
当软件运行完成后,操作系统回收内存空间,但是并不清空该内存空间里遗留的值。因为有这些垃圾数据,所以通常必须在定义变量时进行初始化,覆盖垃圾数据。
三、常量以什么样的二进制代码存储在计算机中?1、整数:十六进制 0x 十进制 八进制 0 (注意是数字0)
2、浮点数:一般写法 float f = 3.2f;
科学计数 float f = 3.2e-2f
3、字符:单个字符用单引号引起来 'a', 'b'
多个字符用双引号引起了 "ab", "a", "b" ("a"代表了'a'和'\0'的组合)
四、什么是字节?int i = 86;
float f = 0.3f;
整数是以补码的形式转换为二进制代码存储在计算机中的。
实数是以IEEE754标准转化为二进制代码存储在计算机中的。
字符的本质与整数的存储方式相同。
五、什么是ASCII码?字节就是存储数据的单位,并且是硬件所能访问的最小单位。
硬件不能精确到位,只能精确到字节,通过位运算符控制到位。
1 字节 = 8位
1k = 1024字节
1M = 1024k
1G = 1024M
ASCII码不是一个值,而是一种规定,规定了不同的字符使用哪个整数值去表示
'A' ----- 65
'a' ----- 97
所以说字符的存储本质上和整数的存储相同
编码就是规定了字母用那些数字去表示。
- #include<stdio.h>
- int main(void)
- {
- char ch = 'A';
- //char ch = "AB"; 不能放字符串
- //char ch ="A"; 也是字符串,”A"和"\0" 两个字符
- return 0;
- }