一.数据类型
字符型 char 1 个byte
短整型 short 2 个byte
整 型 int 4 个byte
长整型 long 4 个byte long long 8个byte
单精度浮点型 float 4 个byte
双精度浮点型 double 8 个byte long double 12/8 个byte
无类型 void
布尔型 bool (逻辑型变量的定义符) 1 个byte
二.“sizeof”(运算符)
作用:取得一个对象(数据类型或者数据对象)的长度(即占用内存的大小,以byte为单位)
添加链接描述
三.char ch=‘a’;//将a的ASCLL码存放到ch变量中
char ch=‘a’ 等价于 char ch=97/ char ch=0x61(16进制)
printf("%c",ch) printf("%d",ch)
四.返回类型 函数名(形参列表)
返回类型一般指返回引用类型,格式:类型标识符 &函数名(形参列表及类型说明)
五·判断是否为闰年及一直年月求该月天数;已知年月日求该日为多少天
六·的用法
1.乘法运算符 c=ab
2.(声明)定义指针变量的类型 int *p(整形的指针变量p)
3.解引用
int a =1;
int *p = &a; => int *p = NULL, p=&a;
//下面两者是等价的
*p =a;
*p=1;
补充:&p=> p的地址 =>0x0057fbfc
p=> 指针变量(前提int *p=&a见上)=>&a,0X0057fc14
p=> 解引用 => a
指针有两个值:自身值p(地址·&a);引向值p(数值·*p=a=1)
七·数组 见链接·数组一看大小即元素个数,二看类型即元素类型
八·常量
九·进制转化和逻辑运算符
- (103)10=>(01100111)2=>(147 )8=>(67)16
方法:128 64 32 16 8 4 2 1 (十进制转二进制)
0 1 1 0 0 1 1 1 =》(01100111)2
因为103<128,所以128下方补0(小于补0,大于或等于补1),103>64,补1,103-64=39,将39与32比较,以此类推
(二进制转八进制)从后往前,三位一截,不够补0
001 100 111 以此表示 1 4 7
(二进制转十六进制)查表 - a&b:都是1才为1,否则都为0 与
a|b:有1为1,全0为0 或
a^b:全1为0,有1为1,全0为0 异或
a=~b :(按位取反)1变0,0变1 (a=b的位反,b不改变)~~~3=3 ~(a)=-(a+1)
(需变为二进制运算)
a= !b(位非)将非b的值赋给a
对于运算 !a,若a的值为0,则运算结果为1;若a的值非0,则a的值为0 - <<左移~乘以相对的进制;
-
右移~~除以相应进制;
5.a=>1010 0101 将a变为 1010 0000 和 0000 0101
(1)a=a&0x50 (2)a=a&05