C++ Programming Language —— 第4章:程序流程结构

目录

一、选择结构

1.if语句

(1)单行格式if语句例题

(2)双分支 if 语句例题

(3)多分支 if 语句例题

2. 三目运算符

3. switch 语句

4.练习题

①温度转换提示

②闰年判断

③计算器程序

二、循环结构

1. while 循环语句

①含义

②语法表达

③作用

④练习代码

2. do...while 循环语句

①含义

②语法表达

③作用

④练习代码

3. for 循环语句

①含义

②语法表达

③作用

④练习代码

4. 嵌套循环

①含义

②语法表达

③作用

④练习代码(打印乘法口诀表)

5.练习题

①斐波那契数列生成

②素数判断

三、循环控制语句

1.无限循环

2. break 语句

2. continue 语句

3. goto 语句

4.综合训练习题

习题 1:寻找素数

习题 2:计算奇数和

习题 3:简单的菜单系统

四、综合训练

1. 计算平均分并评级

2. 斐波那契数列生成器

3. 素数判断与统计

4. 工资计算器

5. 数字游戏(猜数字)


C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

  1. 顺序结构:程序按顺序执行,不发生跳转
  2. 选择结构:依据条件是否满足,有选择的执行相应功能
  3. 循环结构:依据条件是否满足,循环多次执行某段代码

一、选择结构

1.if语句

①作用:执行满足条件的语句

②if语句的三种形式

  1. 单行格式if语句
  2. 多行格式if语句
  3.  多条件的if语句
// 单分支
if (condition) {
    // 条件为真时执行
}

// 双分支
if (condition) {
    // 条件为真时执行
} else {
    // 条件为假时执行
}

// 多分支
if (condition1) {
    // 条件1为真时执行
} else if (condition2) {
    // 条件2为真时执行
} else {
    // 所有条件为假时执行
}

(1)单行格式if语句例题

题目:判断一个数是否为正数

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "请输入一个整数: ";
    cin >> num;
    
    if (num > 0) {
        cout << num << " 是正数" << endl;
    }
    
    return 0;
}

(2)双分支 if 语句例题

题目:判断一个数是奇数还是偶数

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "请输入一个整数: ";
    cin >> num;
    
    if (num % 2 == 0) {
        cout << num << " 是偶数" << endl;
    } else {
        cout << num << " 是奇数" << endl;
    }
    
    return 0;
}

(3)多分支 if 语句例题

题目:根据考试成绩输出对应的等级

#include <iostream>
using namespace std;

int main() {
    int score;
    cout << "请输入考试成绩(0-100): ";
    cin >> score;
    
    if (score >= 90) {
        cout << "等级: A" << endl;
    } else if (score >= 80) {
        cout << "等级: B" << endl;
    } else if (score >= 70) {
        cout << "等级: C" << endl;
    } else if (score >= 60) {
        cout << "等级: D" << endl;
    } else {
        cout << "等级: F" << endl;
    }
    
    return 0;
}

2. 三目运算符

①含义:简化版的双分支 if-else 语句
②语法

condition ? expression1 : expression2;

③作用:根据条件返回不同的值
④示例:返回两个数中的较大值

int a = 10, b = 20;
int max = (a > b) ? a : b;  // max = 20

3. switch 语句

①含义:基于表达式的值执行多个分支中的一个
②语法

switch (expression) {
    case value1:
        // 执行代码块1
        break;
    case value2:
        // 执行代码块2
        break;
    default:
        // 所有case不匹配时执行
}

③作用:替代复杂的多分支 if 语句
④示例:根据星期几输出活动安排

int day = 3;
switch (day) {
    case 1: case 2: case 3: case 4: case 5:
        cout << "工作日";
        break;
    case 6: case 7:
        cout << "休息日";
        break;
    default:
        cout << "无效输入";
}

4.练习题

①温度转换提示

#include <iostream>
using namespace std;

int main() {
    int temperature;
    cout << "请输入当前温度(整数):";
    cin >> temperature;

    if (temperature >= 30) {
        cout << "穿短袖短裤" << endl;
    } else if (temperature >= 20) {
        cout << "穿薄外套" << endl;
    } else if (temperature >= 10) {
        cout << "穿毛衣" << endl;
    } else {
        cout << "穿羽绒服" << endl;
    }

    return 0;
}

②闰年判断

#include <iostream>
using namespace std;

int main() {
    int year;
    cout << "请输入年份:";
    cin >> year;

    bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
    cout << year << (isLeapYear ? " 是闰年" : " 不是闰年") << endl;

    return 0;
}

③计算器程序

#include <iostream>
using namespace std;

int main() {
    double num1, num2;
    char op;

    cout << "请输入两个数字:";
    cin >> num1 >> num2;
    cout << "请输入运算符(+、-、*、/):";
    cin >> op;

    double result;
    bool valid = true;

    switch (op) {
        case '+':
            result = num1 + num2;
            break;
        case '-':
            result = num1 - num2;
            break;
        case '*':
            result = num1 * num2;
            break;
        case '/':
            if (num2 != 0) {
                result = num1 / num2;
            } else {
                cout << "错误:除数不能为零!" << endl;
                valid = false;
            }
            break;
        default:
            cout << "错误:无效的运算符!" << endl;
            valid = false;
    }

    if (valid) {
        cout << num1 << " " << op << " " << num2 << " = " << result << endl;
    }

    return 0;
}



二、循环结构

1. while 循环语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

航Hang*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值