1.介绍一种数据类型是布尔类型
_Bool 用于判断真假,头文件是<stdbool.h>
变量取值是true或者false
2.前后置加加在复杂运算中流程.逗号表达式
值得注意的是(b=7,7,7,7;)并非逗号运算符。
对于逗号运算符进行简单介绍:
用逗号对多个表达式进行分开,构成一个更大的表达式。逗号表达式中用逗号分开的表达式分别进行求值,以最后一个表达式的值作为整个表达式的值。类似b=(7,7,7,7);其中b=7;是取最后一个7。
此表达式最重要的是要表达出第一步最为核心。
3.负数求模
规则:结果的正负号由第一个运算数的正负号决定。
原理:C语言默认向零取整,即-10/3=-3,根据-3*3+余数=-10,可以求得余数是-1;
对于不同语言默认取整规则不同,例如python默认向无负穷取整,即-10/3=-4,根据-4*3+余数=-10,可以求得余数是-1。
对于正数%正数,不同语言得出结果相同。
4.printf中占位符与参数关系
有n个占位符,要有n+1个参数。
5.数组与字符数组初始化
数组
1.一维:若数组声明为静态存储类型,则数组所以元素被初始化为0
静态局部变量:在程序运行期间占有内存,只能在定义它的函数中被访问,在还能输执行结束后仍占有内存,在此函数下一次被调用时,静态局部变量存储数值是上一次这个函数执行结束时的数值。
定义格式:static 类型名 变量表;
与局部变量不同点:
1.在整个程序过程中都存在,不会在退出函数时消失 。
2.在未赋予初值时,系统自动赋予初值为0,局部变量在不赋初值时为垃圾值。
若自动存储类型数组,在定义数组时给与初值叫做初始化格式:
类型名 数组名[数组长度]={初值表};
可以对所有元素给与初值,或者部分元素给予初值,则剩余元素初始化为0。
2.二维:<1>分行初始化
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int a[3][3]={{1,2,3},{4},{7}};未说明元素都被赋值为0。
<2>顺序初始化