9.C++程序中的选择语句

选择语句一共分为两种:条件语句和开关语句

其中条件语句叫if语句,常见的形式为:if ... else ... ; 再复杂一些为if... else if ... else ... ;

开关语句又叫switch语句,类型于开关的使用形式常见的有 switch (var) case : ... break; case : ... break; default : ... break;。

选择语句可以实现多路分支,根据不同的条件进行选择或执行相应的代码或函数。

if语句

if语句,共有三种形式,if (){},if {} else {} 以及if (){} else {} if {}...三种形式。

第一种形式 if(){},表示如果为真,则执行语句,

使用代码实现:

#include <iostream>
using namespace std;
int main(){
	
	int b; //定义变量1
	cout <<"请输入一个数字,然后回车 " << endl;  
	cin >> b ;//通过键盘输入一个数字
	if(b==1)  //如果输入的是1,则打印输入的为1
	  cout <<"输入的为:1" << endl;
	
}

执行,然后输入1

请输入一个数字,然后回车
1
输入的为:1

--------------------------------
Process exited after 2.937 seconds with return value 0

如果输入其它的,则会如下输出

请输入一个数字,然后回车
2

--------------------------------
Process exited after 2.127 seconds with return value 0

第二种形式if {} else {} ,和第一种类似,只是增了一个选择,如果为真,执行A,如果为假执行B

代码为:

#include <iostream>
using namespace std;
int main() {

	int b; //定义变量1
	cout << "请输入一个数字,然后回车 " << endl;
	cin >> b ;//通过键盘输入一个数字
	if (b == 1) //如果输入的是1,则打印输入的为1
		cout << "输入的为:1" << endl;
	else
		cout << "输入的不是1" << endl;

}

代码执行:

请输入一个数字,然后回车
1
输入的为:1

--------------------------------
Process exited after 1.645 seconds with return value 0

如果输入其它的数字,则执行

请输入一个数字,然后回车
3
输入的不是1

--------------------------------
Process exited after 2.435 seconds with return value 0
请按任意键继续. . .

第三种if (){} else {} if {},则是第一种和第二种的结合,而且可以使用很多if  else 方式,但是为了代码阅读方便,不建议使用太多。

具体代码可以结合上面的两种方式,写一写,不再写代码来实现了

switch语句

switch语句基于不同的条件执行不同的代码块,一般用于代替一系列的if-else语句,使代码更清晰,提高代码的易读性。

一个switch语句是一个变量等于多个值时使用,每个值称为一个case,在程序运行时,如果执行switch语句,则语句会对每个case进行检测,但是执行一个case之后,将不会自动终止,还会继续往下执行,直到遇到break才会终止执行。

switch 语句有如下特点:

1.switch中的变量,必须为一个整型或能自动转换为整型的变量,比如:bool,char,short int等等。但是不能使用浮点数(float或double)。

2.一般在switch结束的时候,可以写一个default:,但是这个不是必要的,如果有defalt:则在其它条件都不满足时,会执行default:代码块的内容,如果上面匹配,并且有break则不执行。但是default可以省略不写。

3.一般情况下,建设每个case之后,有一个break;

#include <iostream>
using namespace std;
int main() {

	int score; //学生成绩
	cout << "请录入学生成绩:" << endl;
	cin >> score;

	switch (score / 10) {
		case 10://
			cout << "A+" << endl;
			break;
		case 9:
			cout << "A" << endl;
			break;
		case 8:
			cout << "B+" << endl;
			break;
		case 7:
			cout << "B" << endl;
			break;
		case 6:
		case 5:
			cout << "C" << endl;
			break;
			break;
		default:
			cout << "D" << endl;
	}

}

上面的代码中,使用了case break;以及case 6:case 5: brea;则匹配到5或6都会执行同一个代码块,不会因为匹配6之后,就不再匹配5了。如果都不匹配,则会返回D。

请录入学生成绩:
40
D

--------------------------------
Process exited after 3.25 seconds with return value 0
请按任意键继续. . .
 

如果能匹配上:

请录入学生成绩:
90
A

--------------------------------
Process exited after 2.096 seconds with return value 0
请按任意键继续. . .


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值