【C++ 入坑指南】(07)判断

在这里插入图片描述

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

一、if 语句

作用:执行满足条件的语句。

if 语句的三种形式:

  • 单行格式 if 语句
  • 多行格式 if 语句
  • 多条件的 if 语句

1. 单行格式 if 语句

语法if(条件){条件满足执行的语句}

流程图
在这里插入图片描述
示例

#include <iostream>

using namespace std;


int main()
{
	int score = 0;
	cout << "请输入您的分数: " << endl;
	cin >> score;

	if (score > 500)
	{
		cout << "恭喜您,可以顺利进入大学" << endl;
	}

	return 0;
}

2. 多行格式 if 语句

语法if(条件){条件满足执行的语句}else{条件不满足执行的语句}

流程图
在这里插入图片描述

示例:水仙花数 371、153、370、407

#include <iostream>

using namespace std;


int main()
{
	int num = 0;
	int unit = 0;
	int ten = 0;
	int hundred = 0;
	cout << "请输入一个三位数: " << endl;
	cin >> num;

	unit = num % 10;
	ten = num % 100 / 10;
	hundred = num / 100;

	if (unit * unit * unit + ten * ten * ten + hundred * hundred * hundred == num)
	{
		cout << "您输入的三位数 " << num << " 为水仙花数噢" << endl;
	}
	else 
	{
		cout << "您输入的三位数 " << num << " 不是水仙花数" << endl;
	}

	return 0;
}

二、三目运算符

作用:通过三目运算符实现简单的判断。

语法表达式1 ? 表达式2 : 表达式3

说明
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
C++ 中三目运算符返回的是变量,可以继续赋值。

三、switch 语句

作用:执行多条件分支语句。

语法:

switch(expression){
    case constant-expression  :
       statement(s);
       break; // 可选的
    case constant-expression  :
       statement(s);
       break; // 可选的
  
    // 您可以有任意数量的 case 语句
    default : // 可选的
       statement(s);
}

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。

四、算法题

4.1 分段函数

有一个函数如下,写一程序,输入x,输出y值。
在这里插入图片描述

保留两位小数。

代码

#include <iostream>
#include <iomanip>

using namespace std;


int main()
{
	double x = 0.00;
	double y = 0.00;

	cin >> x;

	if (x < 1)
	{
		y = x;
	}
	else if (x >= 1 && x < 10)
	{
		y = 2 * x - 1;
	}
	else
	{
		y = 3 * x - 11;
	}

	cout << fixed << setprecision(2) << y << endl;

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kevin-Dev

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值