上图笔记:首先a>b为真,则为1,1==c,且c=1,则为真,所以表达式的值为1
首先比较b<c为假,则为0,表达式表达为a=0
首先看a>b为真,则为1,再拿1与c比较,1>c,但是c=1,所以1>c为假,则值为0
第三个表达式a>b同时b>c
上图笔记:
逻辑非:真变假,假变真
逻辑与:全部为真才为真,有假则假
逻辑或:有真就为真,全部为假才是假
上图笔记:
表达式必须是可数:要么是整数,要么是字符型数据
上图笔记:
break作用:跳出switch结构,不会将下面的也跟着输出
***今日做题:
***错题***
错题分析:在代码中,r_year=(year%4==0)&&(year%100!=0); 和 sjr_year=(year%100==0)&&(year%400==0); 这两行分别计算了普通闰年和世纪闰年的条件,它们的结果是布尔值(true 或 false)。然而,后续使用 if(year==r_year) 和 if(year==sjr_year) 来判断年份是否为闰年是错误的。这里不应该将年份 year 与布尔值比较,而是应该直接使用布尔值来判断。
2. 赋值操作符使用错误
在代码中 sjr_year=(year%100==0)&&(year%400==0); 这行等号左边的 sjr_year 是变量名,这行代码本意可能是赋值,但原代码中 sjr_year 后面多写了一个 = ,应该是 sjr_year = (year%100==0)&&(year%400==0); (即使修正了这个语法错误,逻辑判断上的问题依然存在)。
***选择结构嵌套解法
***直接用条件形式