admin 管理员组

文章数量: 1184232


2024年3月9日发(作者:color函数)

switch case用法举例c语言

在C语言中,switchcase语句是一种多路转换语句,用于根据不同的条件选择不同的执行路径。它允许程序员将一个变量与多个值进行比较,并根据比较结果执行相应的代码块。下面是一些使用switchcase语句的示例,帮助您更好地理解其用法。

1.简单的switchcase语句

以下是一个简单的switchcase语句示例,用于根据学生的成绩等级输出不同的信息:

```c

#include

intmain(){

intscore;

printf("请输入学生成绩:");

scanf("%d",&score);

switch(score){

case90:

case99:

printf("优秀n");

break;

case80:

case89:

printf("良好n");

break;

case70:

case79:

printf("中等n");

break;

default:

printf("不及格n");

}

return0;

}

```

在这个例子中,我们首先从用户输入一个整数,表示学生的成绩。然后使用switchcase语句根据成绩等级输出不同的信息。注意,在每个case语句中,我们使用了逗号分隔多个数值,这些数值可以匹配同一个case语句。当满足其中任何一个条件时,该case语句后的代码块将被执行。最后,我们使用default语句处理不符合任何case条件的情况。

case语句与break关键字结合使用

在使用switchcase语句时,我们可以结合使用break关键字来跳出循环。例如,以下示例演示了如何使用switchcase语句和break关键字来计算一个数字的阶乘:

```c

#include

intmain(){

intn;

printf("请输入一个正整数:");

scanf("%d",&n);

intfactorial=1;

switch(n){

case0:

factorial=1;//当n为0时,阶乘为1,不需要继续判断其他case条件

break;

case1://当n为1时,阶乘为1,不需要继续判断其他case条件

factorial=1;//可以省略break语句,直接输出结果即可

printf("%d的阶乘为%dn",n,factorial);//输出结果为1的阶乘为1

return0;//可以直接返回结束程序,不需要再判断其他case条件了

default://其他情况需要继续判断case条件并执行相应的代码块

for(inti=2;i<=n;i++){//从2到n依次累乘得到阶乘值

factorial*=i;//累乘操作

switch(factorial){//根据阶乘值输出不同的信息并跳出循环

case1://当阶乘值为1时,跳出循环并输出结果即可,不需要继续判断其他case条件了

printf("%d的阶乘为%dn",n,factorial);//输出结果为n的阶乘值n!=factorial=i*(i-1)*...*2*1=i!=factorial=n!=factorial=i!=factorial*(i-1)!=factorial*(factorial-1)*(factorial-2)*...*2*1=factorial!=factorial!=factorial*factorial!=factori

al*factorial*factorial/factorial-1/factorial=n!*(n-1)!/(n-2)!/.../(2)/(1)=n!/n(n-1)/n/(n-1)!/(n-2)!/.../(2)/(n-i+1)=n!/i!=n/i*i/i-i+1/factorial*i!=n!-n+n*i-i!/factorial*(i-1)!=n*(i+i-factorial)-factorial!=n(i+i-factorial+1)-factorial*(i+i-factorial)/i+1://输出阶乘值和剩余位数,并将下标i的值保存到临时变量temp中(假设每个case中输出的信息数量相同)//如果此时要跳出循环,只需要将下标i的值传递给下一条


本文标签: 语句 使用 输出 需要 条件