C/C++支持最基本的三种程序运行结构:
顺序结构:程序按顺序执行,不发生跳转
选择结构:依据条件是否满足,有选择地执行对应功能
循环结构:依据条件是否满足,循环多次执行某段代码
本篇主要讲述选择结构。
if语句
if语句有三种格式:
单行格式if语句、多行格式if语句与多条件的if语句.
1. 单行格式if语句
语法:
if (条件) {满足条件时执行的内容}
其中条件为一个逻辑表达式,当逻辑表达式值为真(true)时,执行{ }中的内容.
注意,不要在 ( ) 后添加分号,否则该if语句的执行内容视为无内容.
正确的语法如:
if ( a == 1 )
{
cout<< a << endl;
}
2. 多行格式if语句
语法:
if ( 条件 ) { 满足条件时执行的内容 }
else { 不满足条件时执行的内容 }
这种格式相对于单行格式来说 , 额外提供了不满足条件时的执行情况.
同样地,不要输入多余的分号,如果在else后面输入了分号,则 不满足if条件时,执行内容视为无内容.
if ( a == 1 )
{
cout<< a << endl;
}
else
{
cout<< "2" << endl;
}
3. 多条件的if语句
如果判断的情况种类较多,那么也可以使用多条件的if语句.
比起使用多层嵌套的if语句来说,这种处理方式在逻辑上和代码上都更加清晰简洁.
语法:
if ( 条件1 ) { 满足条件1时的执行内容 }
else if ( 条件2 ) { 满足条件2时的执行内容 }
else if ……
else { 以上条件全不能满足时的执行内容 }
if (score >= 90)
{
cout << "您很优秀!" << endl;
}
else if (score >= 80)
{
cout << "您考得不错!" << endl;
}
else if (score >= 70)
{
cout << "加油!" << endl;
}
else
{
cout << "请继续努力!" << endl;
}
4. 嵌套的if语句
如果某个条件还可以细分为多种情况,并且需要对不同的情况作出反应的时候,可以考虑使用嵌套的if语句,即在满足大条件的执行内容中再写一个if语句,如:
if (大条件)
{
if(小条件)
{
同时满足大条件和小条件时的执行内容
}
else
{
满足大条件,但不满足小条件时的执行的内容
}
}
else
{
不满足大条件时执行的内容
}
5.示例与源代码
可以通过一个示例将这几种用法都展示一下.
#include <iostream>
using namespace std;
int main()
{
//创建一个分数变量,并让用户来输入具体数值
int score = 0;
cout << "请输入您的成绩: " << endl;
cin >> score;
//根据用户输入的数值进行判断,并输出不同的结果
if (score >= 60)
{
cout << "您及格了!" << endl;
//如果分数及格,还可以进行下一步的判断
if (score >= 90)
{
cout << "您很优秀!" << endl;
}
else if (score >= 80)
{
cout << "您考得不错!" << endl;
}
else if (score >= 70)
{
cout << "加油!" << endl;
}
else
{
cout << "请继续努力!" << endl;
}
}
else
{
cout << "您未能及格" << endl;
}
return 0;
}