c语言基础笔记DAY3
1.类型限定符
限定符 | 含义 |
---|---|
extern | 声明一个变量,extern声明的变量没有建立存储空间。 extern int a;//变量在定义的时候创建存储空间 |
const | 定义一个常量,常量的值不能修改。 const int a = 10; |
Volatile | 防止编译器优化代码 |
register | 定义寄存器变量,提高效率。register是建议型的指令,而不是命令型的指令,如果CPU有空闲寄存器,那么register就生效,如果没有空闲寄存 器,那么register无效。 |
2.特殊打印
左对齐,后面占10个位置.有数字则占领空位,没数字则以空格代替. 小数精度为3
3.字符串格式化输入输出
-
printf是输出一个字符串,putchar输出一个char。
-
getchar是从标准输入设备读取一个char。
-
scanf通过%转义的方式可以得到用户通过标准输入设备输入的数据。
4.思考:
num补码 : 1000 0001
num原码 : 1111 1111
8位转32位原码: 符号位不变 , 其它位由低到高复制 , 不足位按0补齐
32位原码 : 1000 0000 0000 0000 0000 0000 0111 1111
打印无符号数,为4294967169原因?
因为打印无符号数时,原样打印输出.
5.二进制表示小数
举例
0.8765
0.8765*2=1.735 1
0.735*2= 1.47 0
0.47*2=0.94 0
0.94*2=1.88 1
0.88*2=1.76 1
*
0.10011
6.三目运算符
举例
a > b ? a : b;
7.数组初始化技巧点
int num[10] = {1,2}; //数组中未初始化的元素全部置为0;
int num[10] = {0}; //全部初始化为0;
int num[10] = {[5]=5}; //将数组第五个元素初始化为5,其余元素初始化为0;
总结: 当初始化时给部分元素赋值,其它元素将自动赋值为0.