首页 > 编程知识 正文

c++switch语句用法举例,C 教程 switch 语句

时间:2023-05-05 13:24:50 阅读:193786 作者:4897

一、switch语句 switch是另外一种选择结构的语句,用来代替简单的、拥有多个分枝的if else语句,基本格式如下: switch (表达式){ case 整型数值1: 语句1; case 整型数值2: 语句2; ...... case 整型数值n: 语句n; default: 语句n+1;} 它的执行过程是:
①、首先计算表达式的值,假设为value。
②、从第一个case开始,比较value 和整型数值1,如果它们相等,就执行冒号后面的所有语句,也就是从语句1一直执行到语句n+1,而不管后面的case是否匹配成功。
③、如果value 和整型数值1不相等,就跳过冒号后面的语句1,继续比较第二个case、第三个case……一旦发现和某个整型数值相等了,就会执行后面所有的语句。假设 value和整型数值5相等,那么就会从语句5一直执行到语句n+1。
④、如果直到最后一个整型数值n都没有找到相等的值,那么就执行default后的语句 n+1。需要重点强调的是,当和某个整型数值匹配成功后,会执行该分支以及后面所有分支的语句。 #include <stdio.h> int main(){ int day=0; // 定义一个整数变量用于接受键盘输入的数字 printf("请输入0-6之间的数字:"); // 提示用户输入 scanf("%d",&day); // 接受用户从键盘输入的数据 switch (day) { case 0: printf("星期天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"); default: printf("输入错误。n"); }} 运行结果:
(一)、注意事项 case后面必须是整数和字符,或者是结果为整数和字符的表达式,但不能包含任何变量。请看下面的例子。 switch (result){ case 10: printf("..."); break; // 正确,整数 case 8+9: printf("..."); break; // 正确,表达式8+9==17是整数 case '5': printf("..."); break; // 正确,字符可以转换为整数 case 'A': printf("..."); break; // 正确,字符可以转换为整数 case 'A'+10: printf("..."); break; // 正确,字符可以转换为整数 case 3.14: printf("..."); break; // 错误,不能为小数 case ii: printf("..."); break; // 错误,不能采用变量} default不是必须的。当没有 default时,如果所有case都匹配失败,那么就什么都不执行。 二、while循环 while循环的一般形式为: while (表达式){ 语句块} 意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块。循环也常常出现在我们的生活中,以海贼王船员登场为例。 // 海贼王船员已准备出场 while (是否有未出场的海贼王船员) { //判断海贼王船员的名字 //判断海贼王船员的绝技 } 海贼王船员就是一个循环,是否有未出场的海贼王船员是循环首部要判断的条件,它的取值会随着循环次数的增加而改变,判断海贼王船员的名字、判断超女的绝技,随着循环次数的增加,全部的海贼王船员已出场,循环体不再执行。 三、do while循环 do while循环的一般形式为: do{ 语句块} while (表达式) do while先执行一次循环,然后再判断表达式的值,如果为真,再执行一次循环体,如此重复下去。 四、while循环的应用 #include<stdio.h>int main(){ int times = 0;//记录用户输入数据的次数 int value = 0;//用户每次从键盘输入的数据 int sum = 0;//记录用户输入数据的和 while(sum < 5000){ printf("请输入数字:");//如果数字小于5000,进入循环 scanf("%d",&value);//接受用户从键盘输入的数据 times++; sum = sum + value; } printf("您一共输入了%d个数据,和为%d。n",times,sum);} 运行结果:
五、for循环 for循环的一般形式为:
①、for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1。
②、接着判断表达式的条件,如果条件成立,就执行一次循环体中的语句块。
③、语句块执行完后,接下来会执行语句2。
④、重复第②步和第③,直到表达式的条件不成立才结束for循环。 for (语句1;表达式;语句2){ 语句块} 注意:
①、在for循环中,语句1、表达式和语句2都可以为空,for (;;)等同于while (1)。
②、continue和break两个关键字也可以用在for循环体中。for循环一般与计数器一起使用。例如:把1到100之间的数值累加起来。 #include<stdio.h>int main(){ int i = 1;//用于for循环的计数器 int sum = 0;//记录1到100的累积值 for(i = 1; i<=100; i++){ sum = sum + i; } printf("1到100的累积值为%d。n",sum);//5050} 采用一个for循环,实现一个九九乘法表。 #include<stdio.h>#include<string.h>int main(){ int i; int j; for(i = 1;i <= 9;i++){ for(j = 1;j <= i; j++){ printf("%d * %d = %-2d ",j,i,i*j); } printf("n"); }} 运行结果:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。