#C语言基本数据类型、表达式及运算符1.0
附思维导图

一、 基本数据类型、表达式及运算符
- c语言中的数据类型
基本数据类型
整数类型*
字符类型*
浮点类型*
缺省类型(空类型 void)
泊尔类型(c++)
构造数据类型
指针类型 - 整数类型
有符号整型:可以表示正数也可以表示负数
最高位:符号位 0:正数 1:负数
其他位:数据位
无符号类型:只能表示正数(>=0)
64位ubuntu系统下:
short 短整型
内存:2字节
unsigned short:无符号短整型
最大值:1111 1111 1111 1111—》2^16-1=65535
最小值:0000 0000 0000 0000—》0
short(signed short):有符号短整型
最大值:0111 1111 1111 1111—》2^15=32767
最小值:1000 0000 0000 0000—》-32768
int 整形
内存:4
unsigned int::无符号整形
最大值:1111 1111 1111 1111 1111 1111 1111 1111—》2^32-1 42亿
最小值:0000 0000 0000 0000 0000 0000 0000 0000—》0
Int(signed int):有符号整形
最大值:0111 1111 1111 1111 1111 1111 1111 1111—》2^31-1 21亿
最小值:1000 0000 0000 0000 0000 0000 0000 0000—》-2^31 -21亿
long 长整型
内存:8
unsigned long(int):无符号长整形
最大值:2^64-1
最小值:0
long(signed long (int);有符号长整型
最大值:2^63-1
最小值:-2^63
关键字:sizeof(数据类型)—》返回一个结果:整形数据
获取某种数据类型在内存中所占的字节数
向终端打印数据工具:
可以输出“”里面的内容
Printf(“hello world”);
Printf(“%d\n”,sizeof(short))
%d—》格式控制符(占位)—》会将,后面的值替换到%开头的位置
%d—》控制十进制整形(int)数据输出
%ld—》控制十进制整形(long)数据输出
%c—》控制以字符方式输出
%f—》控制单精度方式输出
%lf—》控制双精度方式输出
%u—》控制无符号整形数据方式输出
%lu—》控制无符号长整形数据方式输出
2)整形数据在内存中的存储方式:
无符号整形:原码(补码=原码)
100 —》unsigned short
内存:0000 0000 0110 0100
有符号整形:
最高位:u号为—》0:正数 1:负数
其他位:数据位
正数:原码
负数:补码
补码=反码+1
100 signed short
内存:0000 0000 0110 0100
-100
原码:1 000 0000 0110 0100
反码: 111 1111 1001 1011
补码: 111 1111 1001 1100
内存:1111 1111 1001 1100
3)整形数据的溢出
Unsigned short 最大值 + 1?
最大值+1=最小值
最小值-1=最大值
- 字符类型
char 字符类型 1个字节
‘a’ ‘b’ ‘KaTeX parse error: Expected 'EOF', got '#' at position 4: ’ ‘#̲’ ‘?’…… ‘a’ ‘z’…’
转义字符:
‘\n’
‘\r’
‘\v’
‘\t’
usigned char:无符号字符型
最大值:1111 1111—》2^8-1=255
最小值:0000 0000—》0
signed char:有符号字符型
最大值:0111 1111—》2^7-1=127
最小值:1000 0000—》-2^7=-128
ASCII:转换标准:字符和整形数据之间的转化标准
‘a’—》97—》0110 0001
‘\0’—》0—》0000 0000
‘0’—》48—》0011 0000
char类型本质是一个整形 - 浮点数类型
用来表示小数的数据类型
单精度浮点型:float
精度范围:6-8位
内存占的字节数:4
IEEE规定:float类型在内存中以符号位(1bit)、指数位(8bits)、尾数位(23bits)的方式存储
6.25 float
符号位:0
110.01(小数部分0.252=0.5取整数部分直到只有整数部分)—》1.10012^2(科学计数法,二进制就是2的次方,十进制就是10的次方)
指数位:127+2=129—》1000 0001
尾数位:10010000000000000000000
内存:0100 0000 1100 1000 0000 0000 0000 0000
0xc0c8oooo
双精度浮点型:double
精度范围:12-16位
内存中占的字节:8
IEEE标准规定:double类型在内存中符号位(1bit),指数位(11bit),尾数位(52bit)方式存储
6.25
110.10—》1.1001*2^2
符号位:0
指数位:1023+2=1025—》100 0000 0001
尾数位:1001 0000 0000 0000 0000 00000000000000000000000000000000
内存:0100 0000 000110010000 0000 0000 000000000000000000000000000000000000
注意:浮点型数据在内存中存储时,可能存在精度损失
5.缺省类型(空类型 void)
函数的形参和返回值,不传递函数、不返回数据
指针:void*—》万能指针

150

被折叠的 条评论
为什么被折叠?



