Tuseday , 29th, feb, 2022
由分号;隔开的就是一条语句。
//分之语句(选择结构)
// if语句
表达式为真(为非0时)执行语句
表达式为假(为0时) 不执行语句
是用大括号!!!{ }
这么写是不对的,因为18<=age是真的,得出结果为1,
然后因为1<26所以又为真,因此打印了青年。
正确如下:分开写,用逻辑符号组合判断
{ }代码块
悬空else
else和最近的if匹配
所以以上结果是不打印任何东西
所以写代码一定要注意分隔,注意匹配或者直接使用大括号
//代码风格
//《高质量c/c++编程》林锐 博士
if书写形式的对比
代码1和代码2表达意思是一样的,
所以代码风格来看 ,代码2理解起来更好
技巧:以防打成 if(num=5) (此时为给num赋值,本就为真,其执行语句会一直执行)
可以将常量先写在前,就不存在赋值问题,编译器会直接报错
//判断一个数是否是奇数
//输出1-100之间的奇数
有些编译器不支持这样写,还需要将int i = 0 写在外部
另一种优化:
//switch语句
输入的是几,就会从case几进去(入口)并一直执行
因此需要一个break(出口)
注意:
(1)switch(整型表达式)(不能是浮点型)(字符可以,因为字符存储用的是ASCII码值)
{
case 整型表达式(且是常量)(如n不可以,1+2可以,4可以)
浮点型都不可以,必须是整型表达式
(2)break需要根据需求加,是否多个情况下滑入
例如需求为:
//1-5 工作日
//6-7休息日
最后一个break好编程要加上(虽然不加也对)
break的实质就是要把编程部分分段
(3)输入错误时需要有提示或反馈
所有选项都匹配错误时,加default
default的最后一个,其break也可以不加,但是好编程加!
default不一定要放在最后,只要有就可以,依然能正确执行,没有顺序
有嵌套时!
一定要注意break是属于哪个里面的
1.选择好入口后(case x)没有break会继续执行,直到找到出口(break)
2.break跳出的是它选择的语句,嵌套时不是整个switch