本文共 842 字,大约阅读时间需要 2 分钟。
实验目的: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结构改写,并比较三者的差异。转载地址:http://uddti.baihongyu.com/