chimier-c++-day03

三目运算符

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

#include <iostream>
using namespace std;
int main(){
    int a = 100;
    int b = 200;
    int c = 300;
//    int max = 0;
//    if (a > b)
//        max = a;
//    else
//        max = b;
//    cout << max <<endl;
    cout << (a > b ? a : b) <<endl;
    // 三个数的最大值
    cout << ((a > b ? a : b) > c ? (a > b ? a : b) : c)<<endl;
}

switch语句

语法

switch(表达式){
    case 结果1: 执行语句;
    break;
    case 结果2: 执行语句;
    break;
    case 结果3: 执行语句;
    break;
    ...
    default: 执行语句;
    break;
}
#include <iostream>
using namespace std;
int main(){
    // 10 / 9 经典之作
    // 8 / 7  非常好
    // 6 / 5  一般般
    // 5 以下  烂片
    int score = 8;
    switch (score) {
        case 10:
        case 9:
            cout<< " very very very very good"<<endl;
            break;
        case 8:
        case 7:
            cout<< "good"<<endl;
            break;
        case 6:
        case 5:
            cout<< "normal"<<endl;
            break;
        default:
            cout<< "bad"<<endl;
            break;
    }
    // 每一个case有执行语句的都要写 break 要防止case穿透
}

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

循环结构

while循环

语法

while(循环条件){
    循环语句
}

```c
#include <iostream>
using namespace std;
int main(){
    int end;
    int i = 1;
    int sum = 0;
    cout <<"please input calculate number: " <<sum <<endl;
    cin >> end;
    while (i <= end){
        sum += i;
        i++;
    }
    cout <<"sum = " <<sum <<endl;
}

do while循环

语法:
do{循环语句} while(循环条件)
与while的区别 :do while循环会先执行一次循环, 再去判断循环条件

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


1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。

2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100;

 这样,num的值就是一个0~99中的一个随机数了。

3、如果要产生1~100,则是这样:int num = rand() % 100 + 1;

4、总结来说,可以表示为:int num = rand() % n +a;

 其中的a是起始值,n-1+a是终止值,n是整数的范围。

5、一般性:rand() % (b-a+1)+ a ; 就表示 a~b 之间的一个随机整数。

#include <iostream>
#include <ctime>
using namespace std;
int main(){
//    cout <<(unsigned int )time(NULL)<<endl;
    srand((unsigned int )time(NULL));
//    srand(666); // 固定随机种子
    int generate_number;
    generate_number = rand()%100 +1;
    cout <<generate_number<<endl;
    int guess_number;
    int count = 0;
    while (count <= 5){
        count++;
        cout << "please input your guess number"<<endl;
        cin>>guess_number;
        if (guess_number > generate_number){
            cout << "too large --"<< (5 - count) << "  left"<<endl;
        }
        else if (guess_number < generate_number){
            cout << "too small -- "<< (5 - count) << "  left"<<endl;
        }else{
            cout << "correct !!! "<<endl;
            break;
        }
    }

}

for 循环

语法
// for 和 while 可以互相转化

    for (初始表达式; 条件表达式; 步进表达式) {
        循环体
    }

#include <iostream>
using namespace std;
int main(){
//    for (初始表达式; 条件表达式; 步进表达式) {
//        循环体
//    }
    int sum = 0;
    for(int i=1; i <=100; i++){
        sum += i;
    }
    cout<< "sum = " << sum <<endl;
}

for的死循环

#include <iostream>
using namespace std;
int main(){
    for(;;){
        cout<< "sum = "  <<endl;
    }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容