常量
1.字面常量
直接写出来数字就是字面常量 int a=1; 不能说a是常量 这只是把1这个常量赋给a这个变量
2 .const修饰的变量 -常变量 (具有常属性的变量,在一些要用常量的地方不能用常变量,他只是起到让const后面的变量不变而已 )

数组int arr[数字]={1,2,3};

3.#define-定义某个字符作为什么 如 #define max 10 意思就是max这个东西为10
#define 和int 是有区别的 define 是将某个字符等同于后面所写的东西
#define max 10 那么max就是10 而且max 也是常数
而int max=10 只是说现在时刻max=10 但是它还是变量 后面可以变



4.枚举常量 enum
enum Color
{
red, 对应的编号是0
yellow, 1
blue 2
}
int main()
{
enum Color color=red ; enum Color这里的大概是选择枚举常数里
printf(“%d\n",color); 面的red 来赋值color
return 0;
}
所以最后输出的是 1 
“。。。。。”叫做字符串
“abc”={‘a’,‘b’,‘c’,‘\0’} 字符串的结束标志是一个\0的转义字符,只是结束标准,不算作字符串内容 在“”里面是隐藏的 所以\0没大小
‘\0’=0 转义字符转变原来的意思 \加有字符 可以转变字符原来的意思
如 “abcn”打印出来是abcn
“abc” printf打印出来是abc请任意。。。。。。
“abc\n”打印出来是 abc
请任意。。。。。
所以这里的\n就是换行的意思
\ddd d是数字 ddd是八进制 \d \dd \ddd里面的d也一样
\xdd d是数字 dd是16进制 \xd \xdd 里面的d也是一样的
给每个字符都进行编码 叫做ASCII 有ASCII表 编号九三ASCII值
strlen=string length 计算字符长度 要用的时候在#include 下面要写个#include <string.h> 

不要的代码可以删除也可以注释 注释可以让代码没用 但是还存在在代码块里面 帮助记住和理解那些难懂的代码 比直接删除更好
if 和while 尝试使用


if()后没有加分号 ; 而else后面有加;
while()后面也没加 ;
算术操作符+-*/% ; /是除 取商 %是除了之后取余数
移位操作符 <<左移 移的是2进制位
右移
如 int a=1 a 的代码是0000000000000001 移位后成为0000000000000010
int b=a<<1 即是2
printf("%d\n",b)
打印出来的是2
位操作 (2进制)位
&按位与 |按位或 ^按位异或
int a=3; 与的意思就是数学里面命题的与 有假都是假 全真才是真 2进制里面的1是真的意思 0是假的意思
int b=5 与就是对应的2进制数字相与 1和0与就是假的 即是0 3是011 5是101 与起来就是001
int c=a&b
输出c是1
|是数学命题里面的或 即是 只要有个1就是1
^异或 对应的2进制位相同 就是1 不同就是0 a^b就是011^ 101 为110
赋值操作符
= += -= *= /= &= ^= |= >>= <<=
=表示赋值 ==表示判断相等 !!!!!!!
if()就要用到== 如 if(a==1)
a=a+10 相等于a +=10
+= -= *= /= &= ^= |= >>= <<= 这些是复合赋值操作符
单目操作符
双目操作符
三目操作符
int a=10
int b=20
a+b= +就是双目操作符 +有2个操作数 a b
单目操作符
! 逻辑反操作 - 负值 + 正值 & 取地址 sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反 --前置、后置++
C语言里 0是假的 其他的都是真
! 逻辑反操作 int a=10
printf(“%d\n”,a)
printf("%d\n",!a)
打印出来的 是 10 0
反过来
int a=0;
printf(“%d\n”,a)
printf(“%d\n”,!a)
打出来的是0 1
sizeof 计算的是变量、类型所占空间的大小。单位字节
int a=10
printf("%d\n",sizeof(a))
printf("%d\n",sizeof(int)) 2个一样 sizeof 加变量()可以省略 但是加类型的()不能省略
来源:oschina
链接:https://my.oschina.net/u/4336916/blog/4696848
