【C++从入门到熟练练习题】007 选择语句if-else、switch-case

目录

一、前言

1、上节课回顾

二、重点知识介绍

1、选择语句

2、条件语句

3、开关语句

三、例题

1、if语句

2、switch语句

四、思考题

1、思考题1

2、思考题2


一、前言

1、上节课回顾

上一次给大家讲了C++数组,在以后的代码中,数组会经常使用到。因为是刚刚入门,不宜太难,所以没有讲太多难的地方,简单的,也不需要留思考题。

今天主要给大家讲的就是选择语句,包括条件语句和开关语句。

二、重点知识介绍

1、选择语句

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

条件语句又叫if语句,开关语句又叫switch语句。

选择语句可以实现多路分支。

2、条件语句

条件语句格式如下:

	if (/*<条件1>*/)
	{
		//语句1
	}
	else if (/*<条件2>*/)
	{
		//语句2
	}
	else if (/*<条件3>*/)
	{
		//语句3
	}
	//……

	else
	{
		//语句m
	}

如果if里的条件满足,就执行if下面的大括号中的语句,如果if里的条件不满足,就执行else下面的大括号中的语句。

注意点:

1.有if可以没有else,但是有else,前面必须要有if。

2.else与同一个级别内(同一个大括号内)的与之最近的 if 是一组。

对于上面的1,下面的代码是成立的:

        //没有else
        if (/*<条件1>*/)
	{
		//语句1
	}

        //最后一个if没有else
        if (/*<条件1>*/)
	{
		//语句1
	}
	else if (/*<条件2>*/)
	{
		//语句2
	}
	else if (/*<条件3>*/)
	{
		//语句3
	}

下面的代码是不对的:

        //没有if
	else if (/*<条件2>*/)
	{
		//语句2
	}
	else if (/*<条件3>*/)
	{
		//语句3
	}

        
        //没有if
        else
	{
		//语句m
	}

对于2,给大家举一个例子:

	int a;
	a = 12;
	if (a>10)
	{
		if (a>20)
			cout << "a > 20" << endl;
		else
			cout << "10 < a <= 20" << endl;
	}
	else
	{
		cout << "a < 10" << endl;
	}

执行结果为:

10 < a <= 20

第一个else对应的是第二个if,第二个else对应的是第一个if。

3、开关语句

开关语句格式如下:

        switch (表达式) {
	case 常量表达式1:
		《语句序列1》;
		break;   //《》中的内容可省
			……
	case 常量表达式n:
		《语句序列n》;
		break; 
	default : 
		《语句序列n+1》;
		break;
	}

如果表达式里的值满足常量表达式1,就执语句序列1,满足常量表达式2,就执语句序列2……如果都不满足,就执行default下面的大括号中的语句。

注意点:

1.break用于跳出当前语句块,每个常量表达式都不同,那必须要+break,如果某几个常量表达式相同,那break可以省略。

2.case后面只能是一个常量,不能是一个区间,如果想要用区间,需要想办法转化成一个常量,并且常量要与区间一一对应。

三、例题

1、if语句

1.题目

利用 if语句判断小明的成绩在班里的层次(满分100):

>=90分,优秀;>=80分,良;>=60分,及格;<60,分,不及格。

2.代码

#include<iostream>

using namespace std;

void main() {
	float score;
	cout << "please input socre :";
	cin >> score;

	if (score>100 ||score<0)
		cout << "数据错误" << endl;
	else if (score>=90)
		cout << "优秀" << endl;
	else if (score >= 80)
		cout << "良" << endl;
	else if (score >= 60)
		cout << "及格" << endl;
	else
		cout << "不及格" << endl;

	system("pause");
}

3.运行结果

2、switch语句

1.题目

输入数字1-7:

如果输入1,输出星期一;

如果输入2,输出星期二;

……

如果输入7,输出星期日;

2.代码

#include<iostream>

using namespace std;

void main() {
	
	int number;
	cout << "please input a integer which between 1 and 7 :";
	cin >> number;

	switch (number)
	{
	case 1:
		cout << "星期一" << endl;
		break;
	case 2:
		cout << "星期二" << endl;
		break;
	case 3:
		cout << "星期三" << endl;
		break;
	case 4:
		cout << "星期四" << endl;
		break;
	case 5:
		cout << "星期五" << endl;
		break;
	case 6:
		cout << "星期六" << endl;
		break;
	default:
		cout << "星期日" << endl;
		break;
	}

	system("pause");
}

3.运行结果

 

四、思考题

1、思考题1:

今年是2019年,请利用if语句和switch语句分别实现如下功能:

输入月份,输出该月对应的天数。

2、思考题2:

利用if语句和switch语句分别实现简单计算器:

计算两个浮点型数据的加减乘除四则运算,若除法出入的除数为0,输出:除数不能为0,其他情况输出运算及结果。

例如:输入两个数为5.2和100,输出应为:5.2 * 100 = 520 。

 

思考题的答案会在下一次的【C++从入门到熟练练习题】中公布哦,希望大家能够多多练习。

 

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值