您的位置:首页 > 编程语言 > C语言/C++

C语言基本类型

2016-06-14 11:35 447 查看
数据类型:char\signed char\unsigned char\int\signed int\unsigned int\short\signed short\unsigned short\long\signed long\unsigned long
数据类型占内存空间和有无符号无关。
sizeof(int)计算int所占字节数。%u 占位符输出无符号。
1个字节8位。INT8_MAX,INT8_MIN ,UINT8_MAX(无符号) 数据类型的取值范围。
"打印无符号时需要使用 %u “。
float + - 3.4* 10的38次方。
double + - 1.7*10的208次方。
long double +- 1.2*10的4932次方。
运算符,
1.算术运算符 (+ ,- ,* ,/ ,%) 二元运算符 (++,—)一元运算符 i++;++i;++在前先赋值在运算,++在后 先运算在赋值。
运算符优先级,算术>关系>逻辑
= 等号为赋值运算符,优先级最低。
2.关系运算符 (<,>, >=, <=, !=, ==)二元运算符。0,1表示返回值,0为假,非0为真。a=(a>b) == c 先判断后赋值。
3.逻辑运算符 (!,&&,||) 与和或为二元运算符,非为一元运算符。运算结果为1或者0.与,全部为真是为真,否则为假。或,满足一个真时为真,否则为假。非,加非操作使,真变假,假变真,在一个判断为假的情况需要输出时可以使用这个非操作。if(!save_check()){}如果savecheck返回的是false,那么非的话,就可以输出if条件。
4.位运算符(>>,<<,~,|,^,&):操作二进制位。按位右移:正数时向右移动两位,,按位左移,二元运算符。
原码,反码,补码。二进制为原码。正数补码,8位数。
负数的补码,需要先求反码,先求反码,然后反码+1等于补码);
位运算操作的是补码。

5.指针运算符

数据类型
CPU (指令) 内存、数据(变量) 硬盘(文件)
内存通过地址操作。
内存通过字节来存储数据。一个字节就是一个单元。
0X0,0x1,0x2,0x3………0x2047
1字节等于8位.
13/2=6余数1
6/2=3余数0
3/2=1余数1
1/2=0余数1
0/2=0余数0
1字节=8位=00001101
有符号位的,第一位为符号位,0代表正数,1表示负数。
如果无符号位,那么8位全部表示数。
一个字节无正副最大数 0-255
有正副范围,-128 到 +127
寻址操作:变量和地址,计算机自动绑定,根据地址寻找存储空间内容
变量时内存中的存储空间,通过变量找到内存地址然后找到存储空间。
5种基本数据类型:字符型 char 整型int 浮点型float 双精度 double
无值类型void
char 1字节,int 4字节,float4 字节,double 8字节。
void 1字节。
int 范围 。
printf(“&a=%p”,&a);//地址打印需要使用占位符 %p
命名规则
区分大小写
有字母/下划线/数字组成,开头字母或者下划线,不能使用关键字。
scanf表示键盘输入
scanf(“%d”,&a);%d格式化,&存放在地址中。
占位符 %g 只能用在输出中,不能用在输入中。
signed为有符号。
unsigned为无符号。
printf(“sizeof(a)=%lu”,sizeof(a)); %lu表示无符号类型的长度.

有符号:INT32_MAX int4个字节的最大数。有符号
无符号:使用的占位符位%u,UINT32_MAX
sqrt()求一个值的平方根,需要导入头文件math.h

地址 值 变量
0x1 [0][0][0][0][1][0][1][0] 100 a
0x2 [0][0][0][0][1][0][1][0]
0x3 [0][0][0][0][1][0][1][0]
0x4 [0][0][0][0][1][0][1][0]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: