1,字符串的结束标志:’\0'

//"abcdef";

//'\0'-转义字符-0

//0->数字0

//‘0’ -> 48

// 'a' 'b' 'c' '0' '1' '2'

// EOF -end of file - 文件结束标志  -1

return 0;

2, ~按(2进制)位取反

1010----0101

//原码---------------- ------------->反码----------------->补码

直接按照正负写出二进制序列      原码的符号位不变其他位取反得到    反码+1

原码符号位不变其他位按位取反得到反码;反码+1得到补码

-2

100000000000000000000000000000010 ---原码

111111111111111111111111111111101----反码

111111111111111111111111111111110

//负数在内存中存储的时候,存储的是二进制的补码

//11111111111111111  ------补码

//11111111111111110  -----反码

//10000000000000001  ----源码 第一位1表示’-‘负号

3,强制类型转换 int a = (int)3.14;//double--->整型

4,关系操作符

>

>=

<

<=

!=

==

5,逻辑操作符

&&--逻辑与--并且

 ||—逻辑获

6,条件操作符

exp 1?  exp2: exp3;

int main()

{

int a = 10;

int b = 20;

int max = 0;

max = (a > b ? a: b);

if (a > b)

max = a;

else

max = b;

return 0;


}

7,逗号表达式

exp1, exp2, exp3, ...expN

9,下标引用、函数调用和结构体成员

[]   ()  .  ->

10,常见关键字

auto break case char const continue default do double else enum

extern float for goto if int long register return short signed 

sizeof static strtuct switch typedef union unsigned void volatile while

default ---默认   register---寄存器关键字

#include <stdio.h>


int main()

{

register int a  = 10;//建议把A定义成寄存器变量


return 0;


}

计算机 存储数据

寄存器  

高数缓存

内存

硬盘

int a = 10;

a= -2;

int 定义的变量是有符号的

unsigned int num = -2;即使是-2,num也把-2 看成正数

signed int = int   有符号

static  //修饰局部变量,局部变量的生命周期变长使其变成静态局部变量

static //修饰全局变量,改变了变量的作用域 - 让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没办法使用了

static//修饰函数,改变的了函数的链接属性——使其变成内部链接属性(普通函数具有外部链接属性)

11,指针

int main()

{

int a = 10; //4个字节

int* p = &a;//取地址

//有一种变量是用来存放地址的-指针变量

printf("%p\n",&a);

printf("%p\n", p);

*p = 20;//* - 解引用操作符

printf("a = %d\n", a);

return 0;

}

int main()

{

char ch = 'W';

char* pc = &ch;

*pc = 'a';

printf("%c\n", ch);

return 0;

}