第三单元  分支结构程序设计(if语句和switch语句)

1.关系运算符(<、>、<=、>=、=、!=)
      运算符优先级:算数运算符>关系运算符(<、>、<=、>=这四个运算符的优先级大于==和!=的优先级)>赋值运算符
      例:(1)'x'<'z'    看两者的ASCII码值,关系成立,则为真,输出结果为1;
           (2)x==x>=y    先执行">="运算,其值为1,再执行"=="运算,表达式结果为0;
2.逻辑运算符(&&逻辑与、||逻辑或、!逻辑非)
      (1)①A=0,B=1,则A&&B=0
          ②A=0,B=1,则A||B=1
      (2)运算符的优先级:(由高级到低级排序)
          1.()    2.!、+(正)、-(负)、++、--    3.*、/、%
          4.+(加)、-(减)    5.<、<=、>、>=    6.==、!=
          7.&&    8.||    9.=、+=、-=、*=、/=、%=
      (3)短路计算:
         对于"A&&B",如果已经计算出表达式A为假,那么整个表达式的值肯定为假,于是表达式B就不需要再继续下去了;
         对于"A||B",如果已经计算出表达式A为真,那么整个表达式必定为真,于是表达式B不必再计算下去了。
           例:  #include<iostream>
                  using namespace std;
                  int main(){
                        int a,b,c,d;
                        a=2,b=3,c=0;
                        d=(a>b)&&(c=4);
                        cout<<d<<" "<<c<<endl;
                        return 0;
                   }
        (例题中,由于"a>b"不成立,根据"短路计算",可以确定d为0,而且不会去执行"c=4"的赋值计算,所以输出"0 0"。
3.if语句
      格式:if(表达式)
                   语句1;
               else
                   语句2;
        (如果表达式值为真,那么执行语句1,否则执行语句2)
4.程序中不能连比较  如:x≤y≤z,要写成x<=y&&y<<z。
5.if语句的嵌套:(通俗来说,就是if语句中再分出一个if语句,即if语句可以嵌套很多层)
      (1)if与else的配对关系:程序中的else子句总是与离它最近的前面一个if子句配对;
           例:#include<iostream>
                  using namespace std;
                  int main(){
                        int x=4,y=3,z=2;
                        if(x<=y)
                               if(y<=z)cout<<"YES"<<endl;
                               else cout<<"NO"<<endl;
                         return 0;
                   }
         (该程序不会输出任何结果,因为其中的else子句与内层的if(y<=z)配对,而不与外层的if(x<=y)配对,因此外层的if语句没有配对的else子句,所以不输出碰到结果。
      (2)多层嵌套的格式举例:
              if(表达式1)cout<<
              else
                   if(表达式2)
                         if(表达式3)cout<<
                         else cout<<
                  else cout<<
6.条件表达式:(可实现有选择的取值)
      格式:    <表达式1>?<表达式2>:<表达式3>
      运算规则:首先计算表达式1的值,若表达式1的值为真,则只计算表达式2,并将其结果作为整个表达式的值;否则,只计算表达式3,并将其结果作为整个表达式的值。
6.switch语句
      (1)(分类情况特别多时,如果用if语句嵌套实现,层数太多,容易出错,可用switch语句)
      (2)格式:  switch(表达式){
              case 常量表达式1:语句组1;break;
              case 常量表达式2:语句组2;break;
              ...
              case 常量表达式n:语句组n;break;
              default:语句组n+1;
         }
        (break表示语句结束)
       (3)例:思考分别输入"A""B""C",则程序输出什么。
          #include<iostream>
          using namespace std;
          int main(){
              char ch;
              cin>>ch;
              switch(ch){
                  case'A':
                  case'B':
                  case'C':cout<<"Pass"<<endl;break;
              }
        }
        (因为三个case子句共用一个语句组 cout<<"Pass"<<endl;break; 所以输出结果均为"Pass" )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值