分支结构_switch分支

分支结构_switch分支

在程序设计中,分支结构是一种非常基本的程序控制结构,它允许程序根据条件的不同选择不同的执行路径。C语言中有多种分支结构,其中之一便是使用switch分支结构。

switch语句是一种多分支选择结构,它允许根据表达式的值,选择不同的执行路径。switch语句的基本语法如下:

switch (expression) {    case value1:        // 执行语句1        break;    case value2:        // 执行语句2        break;...    case valueN:        // 执行语句N        break;    default:        // 执行默认语句}

在这个语法中,expression是一个表达式,它的值将会与每个case后面的常量进行比较。如果expression的值等于某个case后面的常量,那么程序将会执行该case后面的语句。如果expression的值不等于任何一个case后面的常量,那么程序将会执行default后面的语句,如果没有default,那么程序将直接跳过switch语句。

需要注意的是,在每个case后面必须要有一个break语句,它的作用是跳出switch语句。如果没有break语句,程序将会继续执行下一个case后面的语句,直到遇到break语句或者switch语句结束。

下面是一个使用switch语句的示例代码,它根据用户输入的数字,输出对应的英文单词:

#include int main(){    int num;    printf("请输入一个数字(1-7):");    scanf("%d", &num);    switch (num) {        case 1:            printf("Monday/n");            break;        case 2:            printf("Tuesday/n");            break;        case 3:            printf("Wednesday/n");            break;        case 4:            printf("Thursday/n");            break;        case 5:            printf("Friday/n");            break;        case 6:            printf("Saturday/n");            break;        case 7:            printf("Sunday/n");            break;        default:            printf("输入有误!/n");}    return 0;}

在这个示例代码中,我们使用switch语句根据用户输入的数字,输出对应的英文单词。如果用户输入的数字不在1到7之间,程序将会输出“输入有误!”这个提示信息。

除了使用常量作为case后面的值之外,还可以使用变量作为case后面的值。在这种情况下,switch语句将会根据变量的值来选择执行路径。需要注意的是,变量必须是整型或者字符型,并且不能是浮点型、指针型等其他类型。

下面是一个使用变量作为case后面的值的示例代码,它根据用户输入的数字,输出对应的阶乘值:

#include int main(){    int num, i, fact = 1;    printf("请输入一个数字:");    scanf("%d", &num);    switch (num) {        case 0:        case 1:            printf("%d的阶乘为1/n", num);            break;        default:            for (i = 1; i <= num; i++) {fact *= i;            }            printf("%d的阶乘为%d/n", num, fact);}    return 0;}

在这个示例代码中,我们使用switch语句根据用户输入的数字,计算并输出对应的阶乘值。当用户输入的数字为0或1时,程序将会直接输出1。当用户输入的数字大于1时,程序将会使用for循环计算阶乘值,并输出到控制台上。

需要注意的是,在这个示例代码中,我们使用了两个case语句来处理0和1这两种情况,它们的执行语句是相同的。这是因为在计算阶乘的时候,0和1的阶乘都是1。

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/48246.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>