C++ if 语句
中等25C++ if 语句:让程序学会“看情况办事”
小朋友们,你们有没有遇到过这种情况:妈妈说要先写完作业才能看电视,或者爸爸说如果考试考到90分以上就奖励一个冰淇淋。在C++程序里,我们也经常需要根据某个条件来决定要不要执行一段代码。这时候就要用到 if 语句 了。
if 语句就像马路上的红绿灯。绿灯亮了,我们就过马路;红灯亮了,我们就停下。在程序里,如果条件成立(像绿灯),就执行花括号里的代码;如果条件不成立(像红灯),就跳过什么都不做。
if 语句长什么样?
先来看 if 语句的基本格式:
if (条件) {
// 条件成立时执行的代码
}
这里的“条件”通常是一个比较式子,比如 score >= 60(分数大于等于60),或者 age > 12(年龄大于12)。条件的结果要么是“真”(成立),要么是“假”(不成立)。如果条件为真,就执行花括号里的内容;如果为假,就跳过整个花括号,继续往下执行。
注意:条件一定要放在圆括号
()里,要执行的代码放在花括号{}里。如果花括号里只有一行代码,也可以不写花括号,但建议初学时都写上,避免出错。
条件怎么写?——比较运算符
要写出条件,我们需要用一些比较运算符来比较两个东西。就像数学课上的大于、小于一样。C++ 里常用的比较运算符有:
| 运算符 | 含义 | 例子 | 条件成立的情况 |
|---|---|---|---|
> | 大于 | money > 10 | 钱数大于10元 |
< | 小于 | age < 18 | 年龄小于18岁 |
>= | 大于等于 | score >= 60 | 分数不小于60分 |
<= | 小于等于 | hour <= 8 | 小时数不超过8 |
== | 等于(注意是两个等号) | num == 5 | num正好等于5 |
!= | 不等于 | answer != 0 | answer不等于0 |
特别提醒:在C++里,判断相等要用两个等号
==,一个等号=是赋值的意思,千万别搞混!比如写if (score = 60)就错了,它会先把60赋值给score,然后判断这个值是否为真(非0就是真),结果永远是“真”,条件永远成立。
生活中的例子:零花钱买零食
假设你每周有20元零花钱,你想买一包5元的薯片。如果钱够,就买;不够,就不买。用程序写出来就是这样:
#include <iostream>
using namespace std;
int main() {
int money = 20; // 你的零花钱,单位:元
int price = 5; // 一包薯片的价格,单位:元
if (money >= price) {
cout << "钱够,可以买薯片啦!" << endl;
}
return 0;
}
运行后屏幕上会显示“钱够,可以买薯片啦!”如果把 money 改成3,条件不成立,屏幕上就什么也不显示。
完整的示例:考试及格判断
我们来看一个更完整的例子:判断一个同学的考试分数是否及格(60分及格)。如果及格,就输出“恭喜你,及格了!”;如果不及格,目前先什么都不做。
#include <iostream>
using namespace std;
int main() {
int score = 75; // 假设考了75分
if (score >= 60) {
cout << "恭喜你,及格了!" << endl;
}
return 0;
}
运行这段代码,屏幕上会显示“恭喜你,及格了!”。如果分数是58,条件不成立,屏幕上就什么也不显示。
小朋友们可以试着把 score 改成不同的数字,比如 45、80、60,看看结果有什么不同。注意,改成60时条件也是成立的(因为 >= 包含等于),所以也会显示“恭喜你,及格了!”
常见错误(新手最容易犯的错)
-
忘了写花括号:如果if后面只有一行代码,可以省略花括号。但如果有多行,忘了花括号会导致只有第一行被条件控制,后面的代码不管条件成不成立都会执行。所以初学者最好永远写上花括号。
错误示例:
if (score >= 60) cout << "及格了" << endl; cout << "这句话不受if控制,总会输出" << endl; // 糟糕! -
条件里用了一个等号:
if (score = 60)会先把60赋给score,然后判断score是否为真(非0就是真),永远成立。应该用==。 -
忘记加分号:if 条件后面的圆括号后面不需要分号,而花括号里的每条语句最后都需要分号。
if (score >= 60); // 多了一个分号,相当于条件后面跟了一个空语句,花括号里的代码就变成无条件执行了 { cout << "错了错了" << endl; } -
条件写反了:比如用
<代替了>,导致条件总是假的。写的时候要仔细想清楚:什么情况下条件成立?
小挑战:试试改变条件
你可以自己动手修改上面的例子,让程序判断:
- 如果零花钱大于等于10元,就输出“可以买两支冰淇淋”
- 如果游戏得分大于100,就输出“恭喜你,通关了!”
多试试不同的条件和数值,你就能很快掌握 if 语句啦。
下一步可以学什么?
学会了 if 语句,你的程序已经能“做决定”了。但有时我们需要处理“条件成立时做一件事,条件不成立时做另一件事”,这时候就要用到 if-else 语句。另外,如果有多个条件需要判断(比如分数不同等级),那就需要 else if 或者 switch 语句。这些都是分支结构的进阶知识,等你熟练掌握 if 后,可以去挑战它们哦!
if 语句是程序做决策的“小管家”,学会它,你的程序就能变得更聪明!
例题精讲
在C++中,if语句后面的条件表达式必须用哪个符号括起来?
在C++中,if (a = 5) 这样的写法是合法的,并且会将a赋值为5,然后判断条件为真。
以下代码判断变量x是否大于0,如果大于0则输出"正数"。请填写空格处的内容使程序完整。
int x = 5;
if (___)
{
cout << "正数" << endl;
}执行以下代码后,输出是什么? int a = 3; int b = 2; if (a > b) cout << a; else cout << b;
以下代码判断一个整数是否为偶数,如果是则输出"偶数"。请填写条件表达式。
int num = 7;
if (___)
{
cout << "偶数" << endl;
}