前期提要:seizeof计算的是变量,类型所占空间的大小,单位是字节
大前期提要:\0 是 字符串的结束标志 ASCII值为 0 , 0 是数字 (从值上看0与\0是等价的) ‘0’是字符
‘ a’ ' b ' 'c ' 字母字符 ' 0' '1 ' '2 '数字字符
操作符
一些简单的操作符
<< 左移
>> 右移
& 按位与
| 按位或
^ 按位异或
0 1 ---- 判断真假
% 模
5%2--- 商2余1
二进制 1 1 1 1
1*2^3 1*2^2 1*2^1 1*2^0
8 4 2 1
eg: 3的2进制 011 022+1*21+12^0
一个十进制可以拼凑一个2进制的数字
(类型) ---强制类型转换——一般不转换,不建议
eg
#include<stdio.h>
int main()
{
int a = 3.14; // int a = (int) 3.14;
return 0;
}
操作符一般分:单目,双目,三目
种类--关系操作符,逻辑操作符,条件操作符
关系操作符
>=
!=
<=
逻辑操作符
int main()
{
int a = 3;
int b =5;
int c =a &&5;////&& 逻辑与
printf("c=%d\n",c);
return 0;
}///c=1 0 假,非0则真
条件操作符
exp1?exp2:exp3----1为真,运行2;1为假,运行3
int main()
{
int a = 10;
int b = 20;
int Max = 0;
Max=(a>b?a:b);
// a>b? 条件1--exp1?exp2:exp3
//a 条件2
//b 条件3
if(a>b)
max = a;
else
max = b;
return 0;
}
逗号表达式
exp1,exp2,exp3,…………expn
还有下标引用,函数调用和结构成员
[] ,() , . , ->
#include<stdio.h>
int main()
{
int arr[10] = {0};
arr[4];//[] ---下标引用操作符
return 0;
}//举个例子并不是完整代码
#include<stdio.h>
int main()
int Add(int x, int y)
{int z = 0;
z = x + y;
return z;
}
int a = 10;
int b =20;
int sum = Add(a, b);
/其中Add()--()就是函数调用操作符
}
常见关键字
auto break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile while
// c语言内之定义的关键字
int main()
{int a = 10; //局部;a 自动创建,自动销毁
自动变量--auto int a = 10;
局部变量都是自动变量
计算机 存储数据
访问速度-------寄存器》高速缓存》内存(4g/8g/16g)》硬盘(500g)
空间大小-------寄存器《高速缓存《内存(4g/8g/16g)《硬盘(500g)
寄存器(register)与高速缓存都是一个更快的设备
当计算机要执行一个系统操作的时候,cpu中央处理器会从内存中去拿到cpu去计算,但cpu处理速度会>内存(访问速度会跟不上)
所以就有了中间过渡,高速缓存和寄存器,可以让cpu直接去拿,拿不到就往下一个一个去看
并且当寄存器中没有的话,就可以让内存加载到高速缓存在到寄存器中
下次继续把~~~