标签:ide default 嵌套 strong 运算符 不执行 printf 定义变量 操作
if 语句有三种方式:
单分支结构
if(条件表达式){
语句1;
语句2;
...
}
功能:如果条件表达式的值为真,即条件成立,花括号中的语句将被顺序执行。否则,花括号中的所有语句将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条语句继续执行。执行流程如图所示。
*说明:格式中的“条件表达式”必须用圆括号括起来。
示例代码
#include <cstdio>
int main() {
int a = 0;
printf("请输入小于100的整数:\n");
scanf("%d", &a);
if (a >= 100) {
printf("不是说好的小于100吗?你是个大骗子!!!\n");
}
printf("再见!\n");
return 0;
}
双分支结构
格式
if (条件表达式) {//操作1
语句1;
语句2;
...
} else {//操作2
语句3;
语句4;
...
}
语句5;
如果(条件表达式)的值为“真”,即条件成立,则执行语句1、语句2……,执行完后,从整个if-else结构的后的语句5继续向下执行;
如果(条件表达式)的值为“假”,即条件不成立,那么跳过if后面花括号的所有语句,选择else后面花括号的所有语句,顺序执行 ,执行完后从整个if-else结构后的语句5继续向下执行;
也就是说if-else语句总是根据(条件表达式)的结果,选择对应分支中的语句执行,执行完以后,整个if-else就算执行完了。执行流程如图所示:
示例代码
#include <cstdio>
int main() {
int score = 0;
printf("请输入你的考试分数:\n");
scanf("%d", &score);
if (score >= 60) {
printf("恭喜你,及格啦!\n");
} else {
printf("你太弱了!\n");
}
return 0;
}
多分支结构
格式
if (条件表达式1) {
语句1;
语句2;
...
} else if (条件表达式2){
语句3;
语句4;
...
} else {
语句5;
语句6;
...
}
语句7;
如果(条件表达式1)的值为“真”,即条件成立,则执行语句1、语句2……,执行完后,从语句7继续向下执行;
如果(条件表达式1)为“假”,程序将跳过第一个花括号中的所有语句,进而判断(条件表达式2),如果值为“真”,即条件成立,则执行语句3、语句4……,执行完后,从语句7继续向下执行;
如果两个条件表达式的值都为“假”,则程序只执行语句5、语句6……执行完以后,从语句7继续向下执行。执行流程如图所示:
示例代码
#include <cstdio>
int main() {
int a = 0;
printf("请输入一个整数:\n");
scanf("%d", &a);
if (a > 0) {
printf("这是个正数\n");
} else if (a == 0) {
printf("这是0\n");
} else {
printf("这是负数\n");
}
return 0;
}
应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用嵌套的if语句来解决,但是程序结构会显得复杂,其至凌乱。为方便实现多情况选择,C++提供了一种switch开关语句。
格式选择类语句包括 if语句和 switch 语句,用它们来解决实际应用中按不同的情况进行不同处理的问题。如根据学生的成绩,对学生做出不同的等第评价。
switch (表达式) {
case 常量表达式1:
语句序列1;
break;
case 常量表达式2:
语句序列2;
break;
……
case 常量表达式n:
语句序列n;
break;
default:
语句序列n+1;
}
该语句中可以使用一次或多次case标号,但只能使用一次default标号,或者省略整个default部分;多个case标号也允许使用在同一个语句序列的前面;每个语句标号有保留字case和后面的常量表达式及冒号组成,每个常量表达式通常为字面常量,如常数或字符,一般情况下,每个case语句中不允许定义变量。
switch语句执行过程分为以下3步描述:
在使用switch语句时,还应注意以下几点:
示例代码
实现一个最简单的计算器支持+,-,\*,/
四种运算。输入只有一行:两个参加运算的数和一个操作符(+,-,\*,/
)。
输出运算表达式的结果。考虑下面两种情况:
// 以下代码为了节约纸张,多条语句放在了一行,同学们请按照上面的格式书写
#include <cstdio>
int main() {
float a, b, ans;
char op;
scanf("%f %f %c", &a, &b, &op);
switch (op) {
case '+': printf("%f\n", a + b); break;
case '-': printf("%f\n", a - b); break;
case '*': printf("%f\n", a * b); break;
case '/':
if (b != 0) {
printf("%f\n", a / b);
} else {
printf("Divided by zero!");
}
break;
default: printf("Invalid operator!"); break;
}
}
上面的示例代码同时使用了分支结构的嵌套,从而实现更为复杂的分支结构
标签:ide default 嵌套 strong 运算符 不执行 printf 定义变量 操作
原文地址:https://www.cnblogs.com/hbhszxyb/p/12232064.html