qwq现在被迫重新捡起大一的c语言。
数据类型关键字 按存储类型分类按计算机的存储类型可以分为两大类:整数类型和浮点类型。二者的存储方式不同
例如7,在8位字节中存储该数组00000111;
浮点数是分开存储小数和指数,例如7.0,在十进制下就是0.7E1,1是指数部分;计算机存储3.14159,首先是符号位+,接着是小数.314159,指数部分是1,10^1
基本的数据类型关键字:int,long,short,unsigned,char,float,double,signed,_Bool,_Complex,_Imaginary
int类型与其输入输出修饰基本整数类型的关键字:short,long,unsigned,short和long都代表有符号。unsigned用于非负值场合,即unsigned
int 表示0~65535。
打印整数
h和l前缀都可以和u一起使用%lu,%lld,%llu
| 基本输入 | 修饰 |
|---|---|
| %d | %ld %hd |
| %x | %lx %hx |
| %o | %lo %ho |
char也是一种整数类型,因为存储的是整数(ASCII码)例如字母A其实是整数65,char占一个字节。
用%c指明待打印的字符
浮点数在计算机的计数方式一般是e计数法,123000->1.23*10^5->1.23e5.
float可以精确到小数点后6位,浮点数占32位,即4个字节,第一个8位表示指数的值和符号,后24位表示非指数部分,双精度double多出来的32位全部给指数部分。
默认情况下编译器假定浮点型常量是double类型,可以通过后缀2.3f,和2.3L来改变类型。
打印浮点数
%f 十进制计数法
%e 指数计数法
修饰 %lf %le
字符串都被存储在char类型的数组中,数组由连续的存储单元组成,尾部是一个空字符,在输入输出中以%s来表示。
格式化输入输出 标记- 左对齐 %-20s
- 显示正负号 %+6.2f
- 格式转换%#o,%#8.0f
- 0 表示用0填充字段
- 数字与.数字
前面的数字表示宽度,后面的数字表示小数点的位数%5.2f - %hu %hx %6.4hd 表示short int 或unsigned short int
- %hhu %hhx %6.4hhd 表示signed char 或unsigned char
- l与ll
- L
- %td表示指针差 %z表示size_t类型,sizeof的返回值
- *在printf和scanf里的不同用法
如果是printf(“The number is:%*d”, width, number)代表宽度
如果是scanf(“%*d%*d%d”,&n)代表跳过



