分支结构程序设计总结

分支结构程序设计总结

一.知识点总结

1.关系运算符

举例:==,!=,<,>,<=,>=
需要注意:(1)“等于”和“赋值”的区别
(2)实型数据(浮点数)的运算
例如:float const zero=1e-3;
(3)运算符的优先级
例如x==x>=y 先执行“>=”运算,再执行“==

2.逻辑运算符

举例:&&(逻辑与),||(逻辑或),!(逻辑非)
需要注意:(1)这里的运算符也要遵循运算优先级
(2)在用逻辑运算符之前先想清楚逻辑关系
例如:判断闰年(x%400==0)||((x%4==0)&&(x%100)!=0))

3.if语句和if语句的嵌套

在解决一些分支结构或选择结构的时候可以用到if语句
格式`

if(表达式)
语句1else
 语句2

即用c++语言描述:如果…,会…;否则会…
if语句的嵌套就是更复杂的if语句,来解决条件更多的分支结构问题。
嵌套在语法中的含义是:一个if语句里套着一个if语句,可以套多层。
例如:

if(a>b){
if(a>c)
cout<<a<<' ';
else
cout<<b<<' ';
}
cout<<c<<endl;

4.条件表达式

用更简单的c++语言编写一些复杂的语法
方便解决分段函数问题
格式<表达式1>?<表达式2>:<表达式3>
规则:先计算表达式1,若表达式1的值为真,则只计算表达式2,并将结果作为整个表达式的值;否则,只计算表达式3,并将其结果作为整个表达式的值。
例如:(x%2==0 ? "x is even" : "x is odd")

5.switch语句

可以用switch语句替代复杂的if语句嵌套,使整个语法更加简洁
格式

switch(表达式){
case 常量表达式1:语句组1;[break;]
case 常量表达式2:语句组2;[break;]
...
case 常量表达式n:语句组n;[break;]
[default:语句组n+1;]
}

二.易错点

1.遇到较复杂的逻辑问题时,if语句的使用容易出错
解决方法:多读两遍题,找准所有条件,捋清逻辑关系再下手
2.if语句在使用时,容易落下括号
例如:

if a>b
{cout<<a<<endl;}

3.if语句在使用时, 误用分号
例如

 if(a>b);
{cout<<a<<endl;}

会造成语法错误,无法编译。
解决方法:在每打一次“if”的时候都检查一遍括号和分号。
4.赋值=和等于==的混淆
5.复杂的运算中,容易出现运算优先级的混乱
解决方法:提高算式的优先级可以加括号,优先计算括号内的算式
6.在switch语句中,case后的是常量表达式。要结束语句,后边要跟[break;]

三.感受

在学习了分支结构程序设计后,我掌握了以上几种解决分支结构问题的简单方法。在做类似于“打牌”,“判断奇偶性”的题目时,学会了使用if语句的嵌套表达较复杂的逻辑关系,但明显感觉乏力。因为写出的程序基本都是一种语法,显得很啰嗦。在做“判断闰年”等的题目时,还不能流畅的用一个复合的逻辑语句或条件表达式表达,写程序还停留在if…else…的层面。所以我想在以后的程序书写时,应该多尝试新的语法和表达式。另外,虽然我是数学系的学生,但我的逻辑思维能力确实不咋地,在做一些读起来稍微复杂的题目时多少有些头疼,所以我还要加强一下逻辑思维能力和阅读能力,先把问题写到演草纸上分析分析,再用代码写出来,我想这样可以降低做题时的错误率。学习c++和学习英语有些类似,对于英语底子差的学习者来说,背单词是提成绩的最快捷的方法。我想在以后的c++学习中,提前预习和掌握更多的语法尤为重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值