本博客是复习资料的一部分(主要为函数、数组、数据类型和指针相关知识)
字符型和进制转换打算单独开一篇。
废话不多说,立刻开始——————————————————————————————————
1、C语言中的三种结构:顺序、选择(分支)、循环结构
2、函数的实参和形参:
- 实参是真正要算的变量,形参是定义时使用的变量。函数使用时,会发生实参的值传给形参,及参数传递。
- 形参必须是变量,而实参可以是变量、常量或表达式。
- 实参形参一一对应,顺序要一致。
- 实参与其对应的形参各占用独立的存储单元。
3、不用写return的只有void,被称为不返回结果的函数。(选择题要注意他的自定义函数里有没有return),而且一个return只能返回一个值。
4、转义字符:
\ddd 代表1~3位八进制整数所代表的字符
\xhh 代表1~2位十六进制整数所代表的字符
还有一种就是直接写出来,剩下的表示方法都不对
5、科学计数法(比如6.026E-27这种带E或e的看不懂的数)
E之前要有数据,E之后的只能是整数(正负无所谓)
6、输出时使用:
1)八进制用o
2)十六进制用x
3)无符号整型十进制用u
7、%m.nd:m是输出宽度(实际位数小于m,左补空格),保留n位小数。
8、关系表达式和逻辑表达式的结果都是1(真)或0(假)
逻辑运算符有:
!(逻辑非)、&&(逻辑与)、||(逻辑或)
其中逻辑或只要左右两边有一个是真,它的结果就是1
9、条件运算符(三目)
例:z=(a>b)?a:b
10、逗号表达式:从左到右,最后一个的结果是整个表达式的结果。
11、位运算没搞懂(看书,以后再整理)
12、指针取地址要用&,但是数组不需要。即:
int *p=&a;
char *p=str;
13、指针只要是在定义的场合就要用*,其他运算的时候不需要。*叫指针声明符,不是指针的一部分。
14、指针用于数组:
- *p=str,指针p指向的是数组的第一位。数组名本身是一个地址。
- p++意味着指针指向下一位,比如1中的指针从str[0]指向了str[1]。
- 两个指针完全相等,意味着这两个指针指向同一个地址。
- 类型相同的两个指针变量不能做加法运算,但是可以做减法,关系运算也可以。
- *(a+i)等价于a[i]。