第三单元,程序设计分支结构
第一部分 知识点:
(1) 关系运算符:关系运算符包括:>(大于)、<(小 于)、>=(大于或等于)、<=(小于或等于)、(等于)、!=(不等于)。用0表示假,用非0值(通常用1)表示真
(2)逻辑运算符:C++中有&&(逻辑与)、||(逻辑或)和!(逻辑非)三种逻辑运算符,由逻辑运算符连接起来的表达式,运算结果也是“真”或“假”
例如:A=0 !A=1 A=0 B=0 A&&B=0 A=1 B=0 A&&B=0 A=0 B=0 A||B=0 A=0 B=1 A||B=1
(3)if语句:分支结构可以用if语句或者switch语句实现。if结构第一种格式 if(表达式) 语句1;else 语句2。if结构第二种格式 if(表达式) 语句;若成立那么执行“语句”,否则,什么也不做
(4)条件表达式:条件表达式的格式为:<表达式1>?<表达式2>:<表达式3> 运算规则:首先计算表达式1的值,若表达式1的值为真(非0),则只计算表达式2,并将计算结果作为整个表达式的值;否则,只计算表达式3,并将结果作为整个表达式的值
(5)switch语句:switch语句的一般格式为
switch(表达式){
case 常量表达式1:语句组1;【break;】
case 常量表达式n:语句组n;【break;】
【default:语句组n+1】
}
第二部分 重点及易错点
(1)关系运算符:“”表示关系运算“等于”“=”表示“赋值”操作。整型数据、字符型数据比较大小直接比较,但是实型数据(浮点数)不可以,一般用两个数值的差与要求的精度进行比较,判断它们是否相等,或者判断一个数是否等于0
例如:float const zero=1e-3
判断fabs(x-y)<zero或者fabs(x)<zero
(2)逻辑运算符:应当注意逻辑运算符的优先级问题:优先级1()优先级2!、+、-、++、–优先级3*、/、%优先级4+、-优先级5<、<=、>、>=优先级6==、!=优先级7&&优先级8||优先级9=、+=、-=、*=、/=、%=
例如:判断某一年份x是否是闰年,可以表示成:
(x%4000)||(x%40)&&(x%100!=0))
(3)if语句的嵌套:一句话,程序中的else子句总是与离它最近的前面一个if句子配对if…else…语句及其嵌套都采用“缩进”对齐格式,让同层的if子句与else子句对齐
(4)switch语句:switch后面的表达式,取值只能是整型、字符型、布尔型或枚举型,case后面的常量表达式,其值类型要与switch后面表达式的类型一致任何两个case后的表达式值必须各不相同
第三部分 经典例题(判断闰年):
用if语句:
#include
using namespace std;
int main(){
int x;
cin >> x;
if(x%4000)
cout<<“YES”<<endl;
else
if(x%40)
if(x%100!=0)
cout<<“YES”<<endl;
else
cout<<“NO”<<endl;
else
cout<<“NO”<<endl;
return 0;
}
第四部分 学习感悟与心得体会:
通过对第三章的进一步学习,我对分支结构有了进一步的认识,知道了if语句,switch语句,并学会了编写分支结构,也知道了程序的书写可以分很多步骤。但是在编写的过程中,依然会出现很多错误,有的是没有把情况考虑全面,有的是关系符表达错误,有的是编译错误;这源于对知识点、易错点还未完全掌握,我应该在以后的学习中,多研究课本,多思考例题,先思考,后疑问,要牢记运算符的优先级、常用的语句格式。希望在以后的学习中,在对知识点反复的记忆中,在不断的感悟中,可以对编程有进一步了解。希望继续努力!