目录

​一、前言​

​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.运行结果

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

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.运行结果

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

 

四、思考题

1、思考题1:

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

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

2、思考题2:

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

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

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

 

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