导语
这几天我们来学习分支结构的程序设计,建议分成几次学,不要一次性学完,这样不容易消化,也不容易记住,如果有好的题目可以看一看,不用回避,到时候在评论区发出题目和代码给我检查,当然,我的检查也不一定准确,适当参考就行。
这几天主要有以下内容:
1.if语句
2.else语句
3.else if多分支结构
4.switch语句
第一讲
1.if语句的结构
if语句是C++语言中的一种条件语句,用于在满足某种条件时执行某些语句。if语句的结构如下:
if (condition){
//代码写这里(如果condition为true则执行,否则不执行)
}
其中,condition表示一个表达式,当其值为true时,if语句内的语句块就会被执行;当其值为false时,if语句内的语句块则会被跳过。
2.if语句的使用
if语句可以用于许多情况,以下是一些常见的应用场景:
1.判断数值大小,例如:
int num = 10;
if (num > 0){
cout << "num is positive" << endl;
}
2.判断字符串相等:
string str = "hello";
if (str == "hello"){
cout << "str is hello" << endl;
}
3.判断输入的数值是否合法:
int num;
cout << "Please input a number: ";
cin >> num;
if (num < 0){
cout << "Invalid input" << endl;
}
还有一些功能,我们要学下一讲了,我们先看实操:
1.定义并输入变量x:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cout << "请输入一个数值,这个数必须大于等于5,否则不会有任何反馈";
cin >> x;
return 0;
}
2.判断x是否符合条件:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cout << "请输入一个数值,这个数必须大于等于5,否则不会有任何反馈";
cin >> x;
//条件判断
if(x <= 5){
cout << "OK, you are right";
}
return 0;
}
可以自己敲一遍在运行,最好不要复制。
在自己操练几遍吧!
第二讲
1.if…else的结构
if…else语句的结构如下:
if (condition){
//代码写这里(如果condition为true则执行,否则执行下面的代码)
} else{
//这里的代码在上面的表达式不成立时才会执行
}
其中,condition表示一个表达式,当其值为true时,if语句内的语句块就会被执行;当其值为false时,if语句内的语句块则会被跳过,来到else语句内的语句块。
2.if…else的使用
在if…else语句中else块是可选的,如果条件不成立则不执行else块内的代码。如果有多个判断条件,则可以使用多个if…else语句进行嵌套。
例如:
int a = 10;
if (a > 5) {
cout << "a大于5" << endl;
} else {
cout << "a不大于5" << endl;
}
输出结果为:a大于5。
最后,一定要实操一下哦,我就直接在原代码上该喽:
1.改一下输出内容:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cout << "请输入一个数值,这个数必须大于等于5,否则会“骂你”";
cin >> x;
//条件判断
if(x <= 5){
cout << "OK, you are right";
}
return 0;
}
2.加上else语句:
#include<bits/stdc++.h>
using namespace std;
int main(){
int x;
cout << "请输入一个数值,这个数必须大于等于5,否则会“骂你”";
cin >> x;
//条件判断
if(x <= 5){
cout << "OK, you are right";
} else{
cout << "我*,你还真**点这儿";
}
return 0;
}
第三讲
1.多分支结构的结构
C++中多分支结构通常使用来if…else实现。它的基本语法如下:
if (condition1) {
// 如果条件1成立执行这里的代码
} else if (condition2) {
// 如果条件2成立执行这里的代码
} else if (condition3) {
// 如果条件3成立执行这里的代码
} else {
// 如果以上条件都不成立执行这里的代码
}
在这个语法中,条件1首先被判断,如果成立则执行与它对应的代码块;如果不成立,则继续判断条件2,以此类推,直到找到一个条件成立为止。如果所有的条件都不成立,则执行else块内的代码。
需要注意的是,else块是可选的,如果所有的条件都不成立则不执行else块内的代码。
2.多分支结构的使用
int a = 10;
if (a < 0) {
cout << "a小于0" << endl;
} else if (a > 0) {
cout << "a大于0" << endl;
} else {
cout << "a等于0" << endl;
}
输出结果为:a大于0
实操就不给大家演示了,大家自己尝试写一个完整的代码哦!
第四讲
C++中的switch语句用于根据变量的不同取值执行不同的操作,它的基本语法如下:
switch (variable) {
case value1:
// 如果变量值等于value1执行这里的代码
break;
case value2:
// 如果变量值等于value2执行这里的代码
break;
...
default:
// 如果变量值不等于以上任何一个值执行这里的代码
break;
}
在这个语法中,variable
表示待判断的变量,value1
、value2
等表示不同的取值。当variable
的值等于某一个value
时,执行与该value
对应的代码块;如果没有相应的value
,则执行default
块内的代码。需要注意的是,每个case
后面必须加上break
语句,表示跳出该switch
块,否则将会执行下一个case
块内的代码。
例如:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
case 4:
dayName = "星期四";
break;
case 5:
dayName = "星期五";
break;
case 6:
dayName = "星期六";
break;
case 7:
dayName = "星期日";
break;
default:
dayName = "无效的星期数";
break;
}
cout << dayName << endl; // 输出:星期三
在上面的例子中,根据day
的值不同,执行不同的case
块内的代码,最终将dayName
赋值为相应的字符串并输出。
来康康实操:
#include<bits/stdc++.h>
using namespace std;
int main(){
//初始化随机数生成器
srand(time(NULL));
//生成两个1到6之间的随机数
int dice1 = rand() % 6 + 1;
int dice2 = rand() % 6 + 1;
//计算点数之和
int sum = dice1 + dice2;
//根据点数之和输出相应的奖励信息
switch (sum) {
case 2:
cout << "你扔出了[" << dice1 << "][" << dice2 << "],你输了!" << endl;
break;
case 3:
case 4:
case 9:
case 10:
case 11:
cout << "你扔出了[" << dice1 << "][" << dice2 << "],你赢了!" << endl;
break;
case 12:
cout << "你扔出了[" << dice1 << "][" << dice2 << "],你大赢特赢!" << endl;
break;
default:
cout << "你扔出了[" << dice1 << "][" << dice2 << "],再扔一次吧!" << endl;
break;
}
return 0;
}
这里有很多没学过的知识,可以复制玩玩。
分支结构的学习就此告一段落啦。