时隔多年(其实是三天),我又回来了。每天刷刷c,有益于变秃变强。。。。。真的
chapter 1 类型转换
尼玛竟然能自动类型转换,妈妈再也不用担心我代码嗝屁了。
但是呢,也有特别的,
这就解释了为什么有的代码printf里面用%f可以输出double,(上一篇有提到,应该)😶🌫️
但是scanf就很严了。。。话说%hd有没有英文全写啊。🤦♂️
ooo,还有一点关于强制类型转换【就是那个写作:“(类型)值”的东东】的注意事项:
那就是————————————
比如你要输出a/b再转换成int类型的结果,就不能————
而是应该乖乖地——
chapter 2 学过python肯定知道的布尔类型
c:你小子咋叛变了
据说c语言一开始是没有bool变量类型的,后来在c99才加上。难怪用它还要单独#include<stdbool.h>...━┳━ ━┳━
而且呢,作为bool数的true和false在格式化输出里竟然没有对应的(%某某),只能输出1或0。
不说这些了,继续学吧,,,
和四则运算一样,bool运算也有阶级制度(优先级),简单来说是:否>与>或·
复杂来说是:
另外还有一件触目惊心的事:逻辑运算中的“短路”
可能我们一开始都会想:这不是挺好吗?提高了运行效率。
但是。。。如果你在短路的部分写了赋值运算,编译器就会跳过这部分代码。
此所谓失之毫厘,差了千里。 (文言文念的不错,有没有兴趣体验一下文言文代码编辑器)
所以建议不要把赋值运算写进逻辑运算体里!!!!!
chapter 3 条件运算
这个运算在早期会学到,而且它可以大大简化if,else的代码数量。但是后来几乎没人用。(我是因为不会用,大佬们却另有原因)
这是个历史遗留问题,因为如果你熟练了可以这么写:
看过的人都说#*¥f******
这种嵌套的条件,估计没人想看。而用if语句可以很清晰地看见层级关系,理解条件的嵌套关系,很简单。但是这个一溜串的东西,,,
chapter 4 逗号运算
举个栗子:首先编译器会警告你,但还是可以运行
运行结果:7
改动一下,加个括号
运行结果:11
所以这种逗号运算有神马用啊!!! 给朕拖出去斩了。
不,他还有用,留着他!!!
至少可以起到分割作用吧。。。
还有,就是printf里面熟悉的结果啦。printf(“%d”,....)