一天速通选择结构

也是来更新速通系列了。话不多说,上干货!

1.if语句

基本格式:if(表达式)语句;

举个栗子:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10;
    if(a==10)a--;
    if(a==9)printf("a==9\n");
    return 0;
}

运行结果:

a==9

当表达式的值成立时,就执行语句。表达式一般为关系表达式,如:

a<=9 //a小于等于9

a<9 //a小于9

a>=9 //a大于等于9

a>9 //a大于9

a==9 //a等于9

a!=9 //a不等于9

至此,if语句就讲完了。

2.if-else&if嵌套

if-else

刚刚我们学习了单分支,及表达式成立执行语句,否则什么也不做。现在我们学习一下双分支if-else

举个栗子:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10;
    if(a==10)printf(a==10);
    else printf(a!=10);
    return 0;
}

如果表达式成立,打印"a==10",否则打印"a!=10"。这样我们就实现了双分支。

if嵌套

当我们判断条件不止一个时,就需要用到if嵌套。举个栗子:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10,b=20;
    if(b<10)
      if(a>10)
        printf("语句1");
    else printf("语句2");
    return 0;
}

比如我们这里有多个判断条件 ,代码还能简化为:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10,b=20;
    if(a>10&&b<10)printf("语句1");
    else printf("语句2");
    return 0;
}

更多:

&&   //与,多个判断条件都成立时,执行语句。

||   //或,满足一个判断条件时,执行语句。

!   //非, true变false,false变true。

  不止两个判断条件时的格式:if(!条件&&条件||条件) 

这么多个条件,是谁先判断谁后判断呢?

1.!   //非

2.  &&    //与

3.||    //或

至此,if嵌套就讲完了。

if-else-if

当我们else后面还有if时,就需要用到...

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10,b=20;
    if(a==10)cout<<"a==10";
    else cout<<"a!=10";
    if(b==20)cout<<"b==20";
    return 0;
}

还能:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a=10,b=20;
    if(a==10)cout<<"a==10";
    else if(b==20)cout<<"b==20";
    else cout<<"a!=10";
    return 0;
}

相信依你的理解能力,你已经懂了!(●'◡'●),但是不懂还是要问的。至此,if-else-if就讲完了。

3.复合语句 

当我们需要执行的语句不唯一时,就需要用到复合语句。   

由于不咋么难,我们就简单讲讲:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int i=10;
    if(i==10){
    i++;
    i--;
    i++;
    }
    cout<<i;
    return 0;
}

  当我们执行的语句不止一条时,就需要用到复合语句。至此,复合语句就讲完了。       

4.rand函数   

今天,我们试试做一个抽奖程序。如果中奖,奖金10元,如果没有,则付费两元。

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;//a用来存储电脑的随机数,b用来存储用户输入的数
    srand(time(NULL));//这里的NULL表示一个空指针,也可以替换成0
    a=rand()%5+1;//a的最小值为1,有五种可能的数,最大值为5
    printf("请输入一个1~5之间的数:\n");
    cin>>b;
    if(a==b)printf("中奖了!奖金10元");//如果输入的数和随机数相等,则为中奖
    else printf("没中奖,付费5元");
    return 0;
}

 rand函数可以生成随机数,这里我们将时间设为随机数。第6行代码就是函数的调用,这里有个通用公式:rand()%(a-b+1)+b;其中a是随机数的最大值,b是随机数的最小值。至此,rand函数就讲完了。

5.switch语句   

当我们条件判断&执行语句过多时,就需要用到switch语句。基本格式:

switch(表达式){

case (表达式可能的值):语句;break;

……

default: 语句;break;

}   

如:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    switch(a-1){
    case 1:printf("a==2");break;
    case 2:printf("a==3");break;
    default: printf("不予回答");break;
    }
    return 0;
}

 break表示跳转语句,跳转至下一语句,以后会专门讲。dafault表示其它可能。至此,switch语句就讲完了 。

那么选择结构就讲到这,这期文章太肝了,我要休息亿下,886!                                                                                                                                                                               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值