实验4-8 switch结构

本文通过具体实例探讨了switch结构的基本用法及其特点,包括case后的表达式类型、case语句顺序的影响、default语句的作用及使用场景、case相关语句序列是否可以为空等问题,并对比了带break语句的switch结构与if-else结构的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 实验目的:

1.掌握基本的switch结构。

2.掌握带break语句的switch结构。

实验步骤:

根据问题自己设计实验步骤。

1.switch结构中case后面只能带常量表达式吗?

2.基本的switch结构中case语句的次序对switch结构有无影响?

3.default语句可有无吗?它的次序是固定的吗?

4.与case标号相关联的语句序列可以为空吗?

5.如何评价基本的switch结构的作用?

提示:想这样的一个程序,用户输入一个正整数(n),程序输出1+…+n的和。

#include <stdio.h>

void main()

{

       int i, sum = 0;

       printf("输入一个不大于5的正整数!\n");

       scanf("%d", &i);

       switch(i)

       {

       case 5:

              sum += 5;             

       case 4:

              sum += 4;

       case 3:

              sum += 3;

       case 2:

              sum += 2;

       case 1:

              sum += 1;

       }

       printf("1+...+%d=%d\n", i, sum);

}

6.带break语句的switch结构执行时有何特点?由此可知break语句有何作用?

#include <stdio.h>

void main()

{

       int a, b, res = 0;

       char op;

       scanf("%d%d", &a, &b);

       getchar(); //此语句有何作用?

       op = getchar();

       if(op == '+')

              res = a + b;

       if(op == '-')

              res = a - b;

       if(op == '*')

              res = a * b;

       if(op == '/')

       {

              if(b != 0)

                     res = a / b;

       }

       printf("%d%c%d=%d\n", a, op, b, res);     

}

上面的程序分别用if-else结构和switch结构改写,并比较三者的差异。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值