小工具知识网

当前位置: 首页 > 行业知识 > C语言分支和循环(2)

行业知识

C语言分支和循环(2)

2026-11-03 01:27:57 来源:互联网转载

 我的相关博客:

C语言的分支与循环(1)

    

 1.switch语句

除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重 else   if 改成更易⽤、可读性更好的形式

switch (expression){case value1:statement1;    break;case value2:statement2;    break;default:     statement3;    break;}

上面代码中,value1,value2对应的是expression的值,如果expression的值符合 value1,则进入statement1,执行其中的语句,紧接着遇到break,退出这个switch

如果expression的值符合value2,则进入statement2,执行其中的语句,紧接着遇到break,退出这个switch

而上面的default,指的是value1、和value2以外的所有情况,都会进入statement3,执行其中的语句

注意:

switch 后的 expression 必须是整型表达式
case   后的值,必须是整形常量表达式 

2.if语句和switch语句的对比 

 实例::输⼊任意⼀个整数值,计算除2之后的余数

使用if语句时:

int n = 0;scanf("%d", &n);if (n % 2 == 0)printf("整除,余数为0\n");elseprintf("余数是1\n");

而使用switch语句改写,则: 

int n = 0;scanf("%d", &n);switch (n % 2){case 0:printf("整除,余数为0\n");break;case 1:printf("余数是1\n");break;}

 需要注意的是:

case和后边的数字之间必须有空格

每⼀个 case 语句中的代码执⾏完成后,需要加上break ,才能跳出这个switch语句

3.switch中的break

switch中的break非常重要,是正确跳出switch的关键

如果没有break,则执行相应的一条语句后,对之后的每一个case中的语句都会执行 

如下面这个例子: 

printf("输入1~7的数字,打印星期几\n");int n = 0;scanf("%d", &n);switch (n){case 1:printf("星期一\n");case 2:printf("星期二\n");case 3:printf("星期三\n");case 4:printf("星期四\n");case 5:printf("星期五\n");case 6:printf("星期六\n");case 7:printf("星期天\n");default:printf("输入错误\n");}

输入:2 

输出 :

​ 

如果要实现正确的功能,需要给加上 break,正确的代码为:

printf("输入1~7的数字,打印星期几\n");int n = 0;scanf("%d", &n);switch (n){case 1:printf("星期一\n");break;case 2:printf("星期二\n");break;case 3:printf("星期三\n");break;case 4:printf("星期四\n");break;case 5:printf("星期五\n");break;case 6:printf("星期六\n");break;case 7:printf("星期天\n");break;default:printf("输入错误\n");break;}

 当然,我们也可以依此实现一些功能,如下面这个代码:

输入1-5,输出:工作日

输入6-7,输出:休息日 

int n = 0;scanf("%d", &n);switch (n){case 1:case 2:case 3:case 4:case 5:printf("工作日\n");break;case 6:case 7:printf("休息日\n");break;default:printf("输入错误\n");}

 4.switch语句中的default

 在switch语句中,default归纳为 除了case之外的所有情况

满足这个条件就会进入default中,default可以理解为:非目标值,或者无用值

关于default与case,不需要考虑顺序,可以case在前,也可以default在前,不影响代码效果的实现,一般习惯将default放在最后

5.循环 

 C语言提供了3种循环,分别是:for循环、while循环、do-while循环

5.1for循环 

for(语句1;语句2;语句3) 

{

        语句4;

}

for循环的小括号里面有3条语句 ,部分语句可以为空,但是必须有两个分号

一次循环语句的执行顺序为:

语句1——>语句2——>语句4——>语句3 

如果语句循环多次,执行的顺序为: 

 语句1——>语句2——>语句4——>语句3——>语句1——>语句2——>语句4......

(语句1 ,2,4,3...1,2,4,3的循环)

这个执行顺序是固定的,根据这个逻辑,可以完成大量的循环运算

 实例:计算1到10相加的和

int sum = 0;for (int i = 1; i p        语句;/p  p} /p /blockquote pwhile循环的执行顺序为:表达式——语句——表达式——>语句——>......  

⾸先上来就是执⾏判断表达式,若表达式的值为0,循环直接结束

表达式的值不为0,则执⾏循环语句,语句执⾏完后再继续判断,是否进⾏下⼀次循环语句

实例:计算1到10相加的和(可与上面的for循环对比)

int sum = 0;int i = 1;while (i 

上一篇:揭秘圆体积计算方法,轻松掌握圆的体积计算技巧!

下一篇:Java学习路线图,看这一篇就够了!