GESP等级考试 C++二级-if语句

if语句是C++中的选择语句,通过if语句程序可以在一种可能、二种可能或者多种可能中做出选择,对于不同的可能进行不同的处理。

1 一种可能

使用if语句对一种可能进行处理的格式如下所示:

if (表达式)
{
  语句;
}

其中,if后面跟一个圆括号,圆括号里的表达式如果是true,则执行尖括号中的语句;如果表达式是false,则不执行。

假设某个学生的成绩用变量grade表示,如果学生的成绩大于或等于60分,则打印“通过”,这种情况属于一种可能,代码如图1所示。

图1 if语句对一种可能进行处理

从图1中可以看出,第6行代码将学生成绩grade的值设置为70;第7行if语句的表达式grade>=10的值是true,因此第9行代码将会被执行,打印出“通过”;如果grade的值是50,if语句的表达式的值是false,那么第9行代码将不会被执行,程序没有输出。

2 两种可能

在“1 一种可能”中提到,当学生的成绩大于等于60时,显示“通过”,但是对成绩小于60的这种可能情况没有处理。如果对于以上两种情况都要进行处理,则可用到if...else语句,其格式如下所示。

if(表达式)
{
   语句1;
}
else
{
   语句2;
}

如果表达式的值是true,则语句1被执行;如果表达式的值是false,则语句2被执行,代码如图2所示。

图2 if语句对两种可能进行处理

从图2可以看出,如果grade的值等于70,则显示“通过”;如果grade的值等于50,此时if的表达式值为false,则执行else下的语句,显示“不通过”。

3 多种情况

如果需要对“通过”的情况进行细化,90-100的成绩显示“优秀”;80-89的成绩显示“良好”;70-79的成绩显示“中等”;60-69的成绩显示“及格”;0-59的成绩显示“不通过”,此时属于多种可能。可以通过if...else if...else语句来实现,其格式为:

if(表达式1)
{
  语句1;
}
else if(表达式2)
{
  语句2;
}
else if(表达式3)
{
  语句3;
}
else
{
  表达式4;
}

当表达式1为true时,则执行语句1;表达式2为true时则执行语句2;当表达式3为true时,则执行语句3;以上表达式均为false时,则执行else下的语句4。

对于多种可能,其实现的代码如图3所示。

图3 if语句对多种可能进行处理

4 真题解析

2024-09 选择题

答案:A

解析:第2行中for循环使得i的取值为0-9;第3行使用if语句实现一种可能的处理,当i%2的值是true,也就是i是奇数时,则执行break跳出for循环,如果i%2的值是false,也就是偶数时,则不执行break,程序向下继续执行第5行的输出以及for循环。当i=0时,%2的值是false,执行第5行代码,输出“0#”;i=1时,i%2的值是true,执行break跳出for循环,因为此时i=1,所以第7行中if语句的表达式是false,不会执行cout<<”1#”,程序结束,程序最终输出“0#”,答案选择A。

2024-09 选择题

答案:C

解析:本题属于使用if语句处理多种可能的情况,在“3 多种情况”中提到,if的哪一条表达式是true就执行其对应的语句;输入1和0,此时a=1,b=0;if语句的表达式中,a&&b、!(a||b)的值是false,而a||b的值是true,因此输出为3,答案选择C。

2024-09 选择题

答案:B

解析:本题属于if语句处理一种可能的情况,从第5行代码可以看出,第4行中if语句处理的情况是“当num不是质数时”。第3行代码,通过for循环i的取值范围是2到num-1,当num能够整除i,也就是num%i==0时,num不是质数,所以答案选择B。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值