1.前言
在C语言编程中,分支结构是一种给场重要的控制结构,它允许根据条件的不同执行不同的代码块(code block),本文将深入探讨C语言中的分支结构,包括if语句、switch语句以及相关的用法和最佳实践。
2.if语句
if
语句是最基本的条件语句,用于根据条件的真假执行不同的代码块。
其基本结构如下
若表达式条件成立,则执行语句2.如:
#include <stdio.h>
int main() {
int num = 10;
if (num > 0) {
printf("Number is positive.\n");
}
return 0;
}
在这个例子中,如果num的值大于0,将会输出"Number is positive."若num的值小于0,则什么也不输出。
3. if-else语句
if-else
语句允许根据条件的真假执行两种不同的代码块。比如,当我们需要根据天气决定穿什么衣服时,就可以使用if语句:
//定义一个字符数组表示天气
char weather[10] = {0};
scanf("%s",weather);//数组的名称就是地址,所以不需要取地址符号&
if(weather == "sunny"){
printf("You can wear sunglasses.\n);
}
else if(weather == "rainy"){
printf("You should bring an umbrella.\n);
}
通过这个简单的例子,您可以轻松理解if语句的逻辑,就像在做出日常生活中的选择一样。
4. 嵌套if语句
if
语句可以嵌套,形成多层条件判断。
#include <stdio.h>
int main() {
int num = 10;
if (num > 0) {
//判断num是否是偶数
if (num % 2 == 0) {
printf("Number is positive and even.\n");//语句1
} else {
printf("Number is positive and odd.\n");//语句2
}
} else {
printf("Number is non-positive.\n");//语句3
}
return 0;
}
当num>0且是偶数,输出语句1,当num>0且是奇数时输出语句2,当num<0输出语句3.
5. switch语句
switch
语句也可以用于多条件判断。switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。但是switch语句更易⽤、可读性更好的形式。其结构如下:
switch(表达式){
case value1 :
语句1;
break; /* 可选的 */
case valude2 :
语句2;
break; /* 可选的 */
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
语句n;
}
其关键字包含: switch(开关) break(中断) case(列子) default(默认)
我们可以根据swtich做出一个简单的计算器
#include <stdio.h>
int main() {
int choice;
double num1, num2;
printf("选择操作:\n");
printf("1. 加法\n2. 减法\n3. 乘法\n4. 除法\n");
scanf("%d", &choice);
printf("输入两个操作数:");
scanf("%lf %lf", &num1, &num2);
switch (choice) {
case 1:
printf("%.2lf + %.2lf = %.2lf\n", num1, num2, num1 + num2);
break;
case 2:
printf("%.2lf - %.2lf = %.2lf\n", num1, num2, num1 - num2);
break;
case 3:
printf("%.2lf * %.2lf = %.2lf\n", num1, num2, num1 * num2);
break;
case 4:
if (num2 != 0) {
printf("%.2lf / %.2lf = %.2lf\n", num1, num2, num1 / num2);
} else {
printf("除数不能为零。\n");
}
break;
default:
printf("无效的选择。\n");
}
return 0;
}
在这个例子中,用户可以选择不同的操作,程序会执行相应的计算。
使用switch时要主要以下几点:
1.switch()中的表达式必须是整型、字符型、枚举类型。
2.case 的 value必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字符
6.总结
谢谢观看。