数据类型、常量、变量及运算符

一、数据类型

signed:可存取有符号数,包括正负数

unsigned:只能存取无符号数,正数

1byte=8bit

正数的原反补码相同,负数的反码等于等于原码的符号位不变,其它位依次取反,补码等于反码加1,0为正,1为负

二、常量

八进制数以0开头 例如06434 3位

十六进制以0X开头 例如0Xd1c 4位

-1.176e+10表示1.176*10的10次方-

--3.5789e-8表示-3.5789*10的负8次方

-通常表示特别大或者特别小的数,可不写

ASCII码大小写字母差32,字符0和数字0差48;

‘A’+ ' ' = 'a' ' ’表示32

0='0'-48

标识常量 #define PI 3.1415926

宏只是原样展开,并不计算,可加括号避免出错

三、变量

变量名由字母、数字、下划线组成,不能已数字开头,不能和C的关键字重名

变量在内存空间中的首地址,称为变量的地址。

寄存器变量无法获取地址

static变量默认值为0

四、运算符

float/double不能取余

逻辑与''&&'':逢0截止,后面的不再执行

逻辑或''||'':逢1截止,后面的不再执行

~

位逻辑反

~a

&

位逻辑与

a&b

|

位逻辑或

a|b

^

位逻辑异或

a^b(相异为真)

>>

右移位

a>>1()

<<

左移位

b<<4(左移右边补0,乘以2的关系)

#include <stdio.h>
voin main(int argc,char *argv[]){
unsigned char x=0x17,y;
y=~x;
printf("%#x\n",y);
return 0;
}

上面的x代表16进制,#代表输出结果带着0x

逗号运算符,括号中依次运算,取最后一个

sizeof(类型或变量名):用来计算内存所占空间

#include <stdio.h>
voin main(int argc,char *argv[]){
int a=5;
long b=6;
printf("%d %d %d\n",sizeof(a),sizeof(b));
printf("%d %d %d\n",sizeof(int),sizeof(long));
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_52049228/article/details/129460041