C-state

记得有一位大神说过,程序的最终手段都是使用判断和循环来处理数据。

判断类的有if else switch case

循环类的就是 for while 和 do while

if else 和 switch case 效率差不多,不过switch case对于多个判断条件来说,看起来要明显点,代码可读性更强。

for while 是一个频道的,一般来说,使用for的时候会把结束条件和变量条件一起提到括号里,使人一目了然。而使用while的情况则是相反,更加的注重开始条件,而不是结束条件。do while 是执行语句在前,执行条件在后,不管条件合适不合适,执行了再说。

循环内部也有打断循环的方法,一个是continue,一个是break。

continue是打断此次循环,条件如果没有达到,还会继续循环。而break是不管结束条件有没有达到,都会打断整个循环。

C-expr

表达式是可以放在等号右边的,称为右值,而事实上赋值运算本身也是一个右值。

真假的判断只有2个值,非0和0。

if ? true : false  三目运算内在逻辑就是个if判断。

使用多种表达式时,最好使用小括号分清楚内在层级关系,毕竟代码写出来有时候还是需要别人维护的。

C语言里面表达式可能会出现类型转换,不注意的话可能会丢失数据,比如6/8这样的结果会是0……,用书上的逻辑来说,是int的盒子比double的盒子矮一层,它没有放小数点的楼层,就丢失了,此时需要显性的(double)6/8出来。

C-string

字符分为4种: 字母;数字;标点;控制符。它的存储是一个二进制的数,这个二进制的十进制数字就是它的ascii码,比如A的ascii码就是:65。

字符串和它的ascii码可以互相转换。printf(“%c”,65) 结果是 A;printf(“%d”,’A’)结果就是65了。

字符的数组组合在一起就是字符串,字符串和数组差不多,区别有以下几点:

它必须使用char 声明

它必须以 \0 结束

它遇到\0就结束

char声明的字符串数组一定需要0来结尾,否则会报错。事实上,不只是字符串必须使用0技术,char 声明的其他数组也必需使用0结束。此处留疑,为什么要留0呢,因为C不知道数组到哪里结束,得给它一个结束得null,但为什么不知道呢?留存待解。

C-arr

C的数组是指同一个类型的数据的集合,例如 char arr[5] 表示5个char类型数据的集合,必需声明长度,后期可能会学到不需要声明长度的方法,预留。

数组的初始化:未初始化的数组所有的元素都默认为0。

数组的调试:打断点之后按F5,使用局部变量窗口查看,使用F10按键观察数组变化。

二维数组事实上和一维数组没有区别,注意,声明二维数组时每个第二维数组后面都需要以逗号结尾,如下:

char arr[2][2]{

{89,90},

{88,92},

}