c语言知识简记

1.四种数据类型:
基本类型(整型、实型、字符型、枚举类型)、构造类型(数组、结构体、共用体)、指针类型、空类型
2.常量:
十进制:0~9 ,例如:2,1;
八进制:以0开头,后面加0~7, 例如:0234, 0433;
十六进制:以0x或者0X,后面加09和af(A~F), 例如:0x1222, 0XAADD;
长整型常量加L(l),无符号常量加U(u), 例如:1234L, 2323l(长整型)、 2323U(无符号)、 6554555UL(无符号长整型)
3.符号常量:
#define PI 3.14 作用是a.可以达到提高程序可读性,便于调试,修改和纠错。b.一改全改。
1).字符常量:'a','PI',只能是单引号
转义字符: 含义
换行
横向跳到下一个tab的位置
回车,光标从当前位置跳到当前行开头
 退格,向后退一格
f 光标从当前位置跳到下页开头
反斜线
' 单引号'
" 双引号“
ddd 1~3位八进制数所代表的字符(不用以0开头)
xhh 1~2位十六进制所代表的字符(只能以x开头,不允许大写字母X或者0x开头)

    2).字符串常量:”a","china"等
            字符串常量的存储方式:字符串常量中的每个字符以其ASCII码值的二进制形式存放在内存,并且系统自动在该字符串末尾加一个“字符串结束标志”  ''; 作用是系统判断字符串是否结束。  长度=字符长度+1;用字符数组存储字符串常量。

4.变量:
整型变量: 变量中的类型所占的内存大小,long不小于int , short不大于int.(数据溢出,后期再补)
实型变量: 实型变量的存储(后期补)。实型数据会在精度范围外有误差。
字符变量: 在内存单元中的存储是ASCII码。字符型和整型通用。

所有的变量先定义,在使用是为了编译时分配内存单元,检查变量名的正确性和该变量所进行的运算是否合法。

5.运算符:
优先级 运算符 含义 结合方向
1 (),[],->,. 括号,下标运算符,指向结构体成员运算符,结构体成员运算符 自左向右
2 单目运算符 !,~,sizeof,++,--,-,*,&, 自右向左
3 算符、左右移、关系、逻辑 *,/, % +,-,<<,>>,<,>,=,<=、==,!=,&,|,^,&&,|| 自左向右
4 三目运算符 ?: 自右向左
5 赋值运算符 = ,+=,-= 自右向左
6 , 逗号运算符 自左向右

-k++中的-和++是相同的优先级,所以看结合方向;因为都是自右向左,所以为-(k++).

6.强制类型转换:不改变变量说明的类型。即本身的类型不变;从低级类型到高级类型是自动转换,
7。自增、自减的典型例题:
int main()
{
int x=3,y,z;
y=(++x)+(x++)+(++x);
z=(--x)+(x--)+(++x);
printf("y=%d,z=%d ",y,z);
}

大多数人会以为是14,15,但是我的linux下是15,14,Turbo c是15,18;这是编译系统对于自增和自减的顺序不同。
原文地址:https://www.cnblogs.com/future-liu1121/p/6075515.html