27,209
社区成员
发帖
与我相关
我的任务
分享if 控制语句在编程中,if 语句是一种基础结构,根据条件的真伪来决定是否执行某段代码。常见于多种编程语言,例如 Python、Java、C++ 等。C 语言中的 if 语句有以下三种形式:
单分支 if 结构:只有一个条件分支。
if (表达式) 语句
当表达式为真时,执行语句;为假时,跳过该语句。
双分支 if-else 结构:有两个分支,满足条件则执行 if 部分,否则执行 else 部分。
if (表达式)
语句A
else
语句B
多分支 if-else if-else 结构:用于多个条件判断。
if (表达式)
语句A
else if (表达式)
语句B
else
语句C
使用 if 和 if-else 语句找到两个数中较大的一个。
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
int a, b, max;
printf("Input a,b:");
scanf("%d,%d", &a, &b);
if (a > b) max = a;
else max = b;
printf("max = %d\n", max);
return 0;
}
简化代码时,可使用条件运算符:
max = (a > b) ? a : b;
Switch 语句用于多分支选择,根据表达式的值选择对应的 case 分支。
switch (表达式) {
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
default:
默认语句;
}
根据成绩范围输出相应的等级。
#include <stdio.h>
#pragma warning(disable:4996)
int main() {
int score, mark;
printf("Please input score:");
scanf("%d", &score);
mark = score / 10;
switch (mark) {
case 10: case 9: printf("Grade: A\n"); break;
case 8: printf("Grade: B\n"); break;
case 7: printf("Grade: C\n"); break;
case 6: printf("Grade: D\n"); break;
default: printf("Grade: E\n");
}
return 0;
}
⚠️ 注意:忘记 break 会导致“贯穿”,即执行后续 case 语句。
程序测试是运行程序,检查输出是否符合预期结果的过程。测试主要包含以下步骤:
使用 switch 语句来将分数转换为等级:
0, 15, 55E测试时应重点考虑边界条件,例如0-59、60-69等区间的边界值,避免边界值错误。边界条件下错误率高,应多加注意。
根据三条边的长度判断三角形类型。
#include <stdio.h>
#include <math.h>
#pragma warning(disable:4996)
int main() {
float a, b, c;
printf("Input the three edge lengths:");
scanf("%f,%f,%f", &a, &b, &c);
if (a + b > c && b + c > a && a + c > b) {
if (a == b || b == c || c == a)
printf("等腰三角形\n");
else if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a)
printf("直角三角形\n");
else
printf("一般三角形\n");
} else {
printf("不是三角形\n");
}
return 0;
}
3, 4, 54, 4, 53, 4, 9break 语句。