分支结构程序设计总结

     <1>单元总体概念

一.单元学习内容

1)关系运算符和逻辑运算符的运用

2)if判断语句在一般问题的使用与多个if语句的嵌套

3)条件表达式:    <表达式1>?<表达式2>:<表达式3> 对if语句的简化表达(仅式子较为简单时)

4)switch语句对问题中存在多种分类情况时的使用。

二.学习内容的作用

1)解决一些基本的关系运算与逻辑运算问题

2)对现实中“如果一个或多个条件成立,则完成一件事;否则,则完成另一件事。”此类问题进行程序判断。

3)对一个存在多种条件,并根据条件判断完成多件事情的较复杂分支问题,减少程序出错率,并通过条件表达式,以及switch语句进行一定程度的简化,从而更简便的解决问题。

三.使用单元学习内容的方法。

1)对各种关系运算符和逻辑运算符含义熟练掌握,写程序前仔细想好运算符的编写位置。

2)编写if语句时,提前构思好程序结构,绘制其程序流程图,然后根据程序流程写出源程序,把程序设计分析与语言分开,使问题简单化,易于理解。

3)练习使用switch语句和条件表达式编写程序,可以用两者对if语句进行一定程度上的替代。

 

  <2>知识点

1)关系运算符(用于比较运算,都是双目运算符)

包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。

其结果是整型,只有两种:0与1。0代表关系不成立,1代表关系成立。

应用举例:2==4,输出结果为0;2!=3,输出结果为1。

运算符的优先级运算符的优先级就是在一个表达式中,既有各种算数运算符,又有各种关系运算符时,按照什么先后顺序进行计算。由高到低 算数运算符→关系运算符→赋值运算符

2)逻辑运算符

包括与(&&)、或(||)、非(!)三种,除最后一种外均为双目。

逻辑运算的值也为“真”和“假”两种,用“1”和“0”表示。

应用举例:A=0,B=1,A&&B=0        A=0,B=1,B||A=1

3)if语句

例: if(表达式1) 语句1

else  if(表达式2) 语句2         

 …                                     

else if(表达式n) 语句n ...

else 语句n+1

注意:(1)如果在if、esle后有多条语句,则必须用花括号将这些语句括起来,否则只有后跟的第1条语句有效。

           (2)if语句中的条件表达式一般为关系表达式或逻辑表达式,也可以是任意的数值类型。

           (3)else总是和离它最近的的if匹配,语句及嵌套都采用“缩进”对齐格式,同层if子句与else子句对齐。

              (4)表达式格式:例(a ==2),用等于号==而不是赋值号=。

4)if语句的嵌套:

如果条件1成立,就去做A事情,否则去做B事情,但是在做A事情(或者B事情)时,还要根据条件2成立,决定是做A1(或者B1)这子事情,还是去做A2(或者B2)这件子事情。在程序设计中,把这种情况称为分支结构的“嵌套”;

5)条件表达式

格式:<表达式1> ?<表达式2> :<表达式3>

其运算规则为:首先计算表达式1的值,若表达式1的值为真(非0),则只计算表达式2,并将结果作为整个表达式的值;否则,只计算表达式3,并将结果作为整个表达式的值。

例:int x = 1,y = 2, z ;

z = x > y ? x : y;

cout << z << endl;

可知x>y条件不成立,所以输出的值为y的值2,即把10赋值给z,输出的z的值为2

简单理解:{?为判断前面的表达式真或假,相当于if。真即把x的值赋给z,假即把y的值赋给z,:相当于else。}

优点:式子简单时,比较方便。

缺点:式子复杂时易出错。

6)switch语句

在一些实际情况中,如果分类问题特别多,用if语句嵌套实现容易出错,那么就可以使用switch语句。

格式:

switch (表达式){ 

case常量表达式 1:语句1; [break;]

case常量表达式 2:语句2;[ break;]

case常量表达式 n:语句n; [break;]

[default: 语句n+1; ]

}

注意:1)switch括号中的表达式只能是整型、字符型枚举型或布尔型;且case后面的常量表达式的类型必须与其匹配。

             2)以case中的常量表达式值为入口标志,由此开始顺序执行。

             3) 每个case分支最后应该加break语句。若没有break,则继续执行后面的case语句。

            4)case值是语句标号,每个case常量表达式的值必须互不相同,多个case语句可以共用一组程序。

            5)default语句是可选的(为了规范,最好写上)

  <3>自我总结

刚开始接触本单元的时候,感觉挺简单的吧,当时感觉只要判断好题目的意思,把题目中的条件套到程序中就可以把程序写对了,有点感觉和套公式差不多吧。不过往后学到一个判断闰年时,由于条件有点复杂,导致我出现了一看课本上的程序就会,但自己写程序就出错的的情况,简单来说就是自己总是考虑不周全,总是漏条件。慢慢地多错了几次也就慢慢学会了全面考虑问题。。到条件表达式和switch语句那个地方,我总感觉课本上的东西我学会了,但在做习题的时候出现了一些失误,可能有点眼高手低吧,有的时候做题时,我用if可以写成功,得到满分,但是用switch 写的就是错的,或者获得的分只是一半,也有的时候写着写着自己就迷糊了,也不知道自己写的是啥,构建也构建成功了,但结果就是不对。然后为了避免出更多的错误,只好用了自己比较熟悉的if。这时我才明白只能多写多练,才能让自己不再那么眼高手低,才能更好地运用多种语句来解决问题。我知道自己不是那种很聪明的孩子,一看就会是我遥不可及的想象,尽管如此,我也会在以后多用一些自己不太熟悉的语句练习编写程序。毕竟既然学了c++这门课,总要努力学到一些东西吧,不然学这门课又有什么意义呢?也希望能通过自己的努力和对这份课程的热情,有一天能够成为别人口中的“大神”。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值