C++ Day2流程结构

一、选择结构

根据条件执行指定代码

1.1 单行if

  • 格式:if(条件){满足条件后要执行的语句}
  • (条件)后不加分号

1.2 多行if

  • 格式:if(条件){满足条件后要执行的语句} else{不满足条件要执行的语句}

1.3 多条件if

  • 格式:
if(条件1) {
满足条件一后要执行的语句
} 
else if(条件2{
满足条件二要执行的语句
}
//。。。
else
{
条件都不满足需执行的语句
}

1.4 嵌套if

  • if语句中嵌套使用if语句

1.5 switch语句

  • 执行多条件分支语句
  • switch和if区别:switch(表达式)不可以是区间,只能是整型或者字符型;switch执行效率高结构清晰;
  • 没有break会一直往下执行
switch(表达式)
{
case 表达式执行结果1:执行语句;break;
case 表达式执行结果2:执行语句;break;
...
default :执行语句;break;
}

1.6 示例

#include<iostream>
using namespace std;
int main()
{
    cout<< "-------判断体重---------" <<endl;
    float numa=0;
    float numb=0;
    float numc=0;
    cout <<"请输入A的体重"<<endl;
    cin >>numa;
    cout <<"请输入B的体重"<<endl;
    cin >>numb;
    cout <<"请输入V的体重"<<endl;
    cin >>numc;
    if(numa>numb) //A比B重
    {
        if(numa > numc)
        {
            cout <<"A最重"<<endl;
        }
        else
        {
             cout <<"C最重"<<endl;
        }
    }
    else{ //B比A重
        if(numb > numc)
        {
            cout <<"B最重"<<endl;
        }
        else
        {
             cout <<"C最重"<<endl;
        }
    }
    system("pause");
}

1.7 三目运算符

  • 作用:实现简单的判断
  • 语法: 表达式1 ?表达式2:表达式3 // 若1为真,执行表达式2并返回结果;若1为假,执行表达式3并返回结果
	int a=10;
    int b=11;
    int c=0;
    c=(a>b ? a:b);
    a>b ? a:b=100 //三目运算符返回的是变量可以继续赋值
    a>b ? a:b=100;
    cout<< a <<endl;
    cout<< b <<endl;
    cout<< c <<endl;

二、循环结构

根据条件循环多次执行指定代码

2.1 while 语句

  • 语法:while(条件语句){ 条件为真,会着一直循环执行的代码 } 条件为假退出;

2.1.1 示例猜数字

    srand((unsigned int)time(NULL));
    int numa =rand()%100+1;
    int numb=0;
    while(1)
    {
        cout<<"您猜的数字大小是(1-100之间)"<<endl;
        cin>>numb;
        if(numb < numa){
            cout<<"您猜小了"<<endl;
        }
        else if (numb > numa)
        {
            cout<<"您猜大了"<<endl;
        }
        else{
            cout<<"恭喜猜中"<<endl;
            break;
            }

    }

2.2 do while语句

  • 语法:do{循环语句} while(循环条件);
  • 和while的区别:do while会先进行一次循环再判断条件

2.2.1 示例水仙花数

    int numa=100;
    do
    {   
        int num1=numa/100%10;
        int num2=numa/10%10;
        int num3=numa%10;
        if(num1*num1*num1+num2*num2*num2+num3*num3*num3==numa)
        {
            cout<<"水仙花数:"<<numa<<endl;
        }
        numa++;
    } while (numa<=999);

2.3 for 循环

  • 语法:for(起始表达式;条件表达式;末尾循环体){循环语句}

2.3.1 示例

-敲桌子

 for(int i=1;i<=100;i++)
    {
        if(i%10==7||i%7==0||i/10%10==7)
        {
            cout<<"敲桌子"<<endl;
        }else
        {
             cout<<i<<endl;
        }

    }

2.4 嵌套循环

  • 循环中嵌套循环

三、 跳转语句

3.1 break语句

  • 用于跳出选择结构或者循环结构
  • 循环语句中用于跳出当前循环语句
  • 嵌套循环中用于跳出最近的循环语句
  • 跳出switch

3.2 continue语句

  • 在循环语句中跳过余下没有执行的语句,执行下一次循环

3.3 goto语句

  • 无条件跳转
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值