5.3.1 if语句

这篇博客探讨了C++中与条件判断和循环控制相关的编程练习。练习5.5展示了根据输入的整数分数转换为字母等级的代码;练习5.6使用三元运算符实现相同的功能;练习5.7修正了变量赋值的逻辑问题;练习5.8解释了C++中的垂悬else规则,消除代码二义性。这些例子帮助理解C++中的条件语句和控制流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

练习5.5


int main() {
	const vector<string> scores = { "F","D","C","B","A","A++" };
	string lettergrade;
	int grade = 0;
	while (cin >> grade)
	{
		if (grade < 60)
			lettergrade = scores[0];
		else {
			lettergrade = scores[(grade - 50) / 10];
		}
		cout << lettergrade << endl;

	}

}

练习5.6

int main() {
	const vector<string> scores = { "F","D","C","B","A","A++" };
	string lettergrade;
	int grade = 0;
	while (cin >> grade)
	{

		lettergrade = grade < 60 ? lettergrade =scores[0] : lettergrade = scores[(grade - 50) / 10];
		
		cout << lettergrade << endl;
	}
}

练习5.7
以下为修改错误后的代码:

int main() {
	int ival1 = 1;
	int ival2 = 2;
	if (ival1 != ival2)
		ival1 = ival2;
	else
		ival1 = ival2 = 0;
}
int main() {
	int ival = 1;
	int minval = 0;
	int occurs = 0;
	if (ival < minval) {
		minval = ival;
		occurs = 1;
	}	
}
int main() {
	
	if (int ival = get_value()) { //get_value函数尚不熟悉
		cout << "ival = " << ival << endl;
		if (!ival)
			cout << "ival = 0\n";
	}
		
	
}
int main() {
	
	int ival = 1;
	if (ival == 0)
		ival = get_value();
	
}

练习5.8
如何确定某个给定的else是和哪个if匹配?这个问题称作垂悬else。就C++而言,它规定 else 与离他最近的尚未匹配的if匹配,从而消除了程序的二义性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值