huyuhang-C++day03

本文详细介绍了C++中的三目运算符、switch语句以及循环结构(while和do-while)。通过实例代码展示了它们的用法和特点,强调了三目运算符在条件判断中的高效简洁,以及switch在多条件判断时的优势。同时,对比了while和do-while循环的执行流程差异,帮助读者深入理解C++中的控制流结构。
摘要由CSDN通过智能技术生成

三目运算符

// 表达式1? 表达式2:表达式3
// 如果表达式1为真 执行表达式 2 并且返回表达式2 的结果
// 如果表达式1为假 执行表达式 3 并且返回表达式3 的结果

#include <iostream>
using namespace std;
//  表达式1? 表达式2:表达式3
// 如果表达式1为真 执行表达式 2 并且返回表达式2 的结果
// 如果表达式1为假 执行表达式 3 并且返回表达式3 的结果
int main(){
    int a = 100;
    int b = 200;
    int c = 300;
    //  a和b谁大
    int max;
//    if (a > b)
//        max = a;
//    else
//        max = b;
//    cout << max <<endl;
    cout <<( a > b ? a : b)<<endl;
    //    三目运算返回的是变量可以继续赋值运算
    ( a > b ? a : b) = 1000;
    cout <<"a = "<< a<<endl;  // 100
    cout <<"b = "<< b<<endl;  // 1000
 //  三个数的最大值
    cout <<"san  = "<<((a>b?a:b) > c ? (a>b?a:b) : c)<<endl;  // 1000


}


switch语句

语法

switch(表达式){
    case 结果1: 执行语句;
    break;
    case 结果2: 执行语句;
    break;
    case 结果3: 执行语句;
    break;
    ...
    default: 执行语句;
    break}
#include <iostream>
using namespace std;
int main(){
    cout<< "please input your selection" << endl;
    cout<< "1 . run" << endl;
    cout<< "2 . taxi" << endl;
    cout<< "3 . train" << endl;
    cout<< "4 . plane" << endl;
    cout<< "5 . sheep" << endl;
    cout<< "default foot" << endl;
    int num;
    cin >> num;
    switch (num) {
        case 1:
            cout<< " run .... " << endl;
            break;
        case 2:
            cout<< " taxi .... " << endl;
            break;
        case 3:
            cout<< " train .... " << endl;
            break;
        case 4:
            cout<< " plane .... " << endl;
            break;
        case 5:
            cout<< " sheep .... " << endl;
            break;
        default:
            cout<< " foot .... " << endl;
            break;






    }


}



注意1:switch语句中表达式类型只能是整型或者字符型
注意2:case里如果没有break,那么程序会一直向下执行
总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间

循环结构

while循环

语法

while(循环条件){
    循环语句
}
// 只要循环条件为真就会执行循环语句

举个例子

#include <iostream>
using namespace std;
int main(){
    int i = 1;
    int sum = 0;
    while (i <= 100){
        sum += i;
        i++;
    }
    cout<< "sum = "<< sum << endl;

}

do while循环

语法:

do{循环语句} while(循环条件)
与while的区别 :do while循环会先执行一次循环, 再去判断循环条件
#include <iostream>
using namespace std;
int main(){
    int i = 1;
    int sum = 0;
    while (i <= 100){
        sum += i;
        i++;
    }
    cout<< "sum = "<< sum << endl;

}
#include <iostream>
using namespace std;
int main(){
//    int i = 1;
//    int sum = 0;
//    do {
//        sum +=i;
//        i++;
//    } while (i<=100);
//    cout<< "sum = "<< sum << endl;
    int i = 1;
    int sum = 0;
    do {
        sum +=i;
        i++;
    } while (i<1);
    cout<< "sum = "<< sum << endl;
}



#include <iostream>
using namespace std;
int main(){
    // 指定的随机种子
    srand((unsigned int ) time(NULL));
    int generate_number = rand()%100 + 1;
    cout<< generate_number<< endl;

    int guess_number;
    while (true){
        cout<< "请输入您要猜的数字 "<< endl;
        cin >> guess_number;
        if (guess_number > generate_number)
            cout<< "猜大了 "<< endl;
        else if (guess_number < generate_number)
            cout<< "猜小了 "<< endl;
        else{
            cout<< "恭喜你猜对了 "<< endl;
            break;
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值