全站搜索未启用
跳到主要内容

文本二:switch开关语句

1.switch语句的概念

一个单位需要同时为不同级别的人增加各自不同的工资。

一个班主任需要根据学生成绩的不同分数段进行不同的成绩评定。

在C语言中需要通过switch语句(开关、分情况)来处理的。

2.switch语句格式

3.语句执行过程

第1步:计算出语句关键字switch后面圆括号内<表达式>的值,用M表示;

第2步:让M依次同每个case子句标号常量1、常量2、...依次进行比较,执行对应标号后面的语句序列;在碰不到相等的情况下,若存在default子句,则就执行此子句冒号后面的语句序列,否则不执行任何操作。

语句格式举例

举例1:

int c0=0,c1=0,c2=0,n;

scanf("%d",&n);

switch(n%3) {

case 0: c0++; break;

case 1: c1++; break;

case 2: c2++; break;

}

举例2:

switch(ch) { //其值为M

case 'a':

case 'A': printf("优秀\n"); break;

case 'b':

case 'B': printf("良好\n"); break;

case 'c':

case 'C': printf("一般\n"); break;

default: printf("较差\n");

}

使用switch语句的程序举例

#include

#include<stdlib.h>

void main()

{//把0~15之间的一个整数,输出对应的十六进制的数字字符

int x;

printf("输入0~15之间的一个整数:");

scanf("%d",&x);

if(x<0 || x>15) {printf("输入数据不正确!\n"); exit(1);}

switch(x) {

case 10: printf("%c", 'A'); break;

case 11: printf("%c", 'B'); break;

case 12: printf("%c", 'C'); break;

case 13: printf("%c", 'D'); break;

case 14: printf("%c", 'E'); break;

case 15: printf("%c", 'F'); break;

default: printf("%c",x+48); break;

}

printf("\n");

}

使用switch语句编程举例

要求:根据从键盘上输入的两个整数和一个二目算术运算符求出运算结果。

分析

在程序开始包含stdio.h头文件;

定义两个整数变量为x和y,定义一个字符变量为op;

定义一个整数变量为z,z=x op y,此计算需要使用switch语句;

程序中只需一个主函数,完成变量定义,数据输入,计算和输出。

#include<stdio.h>

#include<stdlib.h>

void main() {

int x,y,z; char op;

printf("输入两个整数和一个运算符: ");

scanf("%d %d %c",&x,&y,&op);

if((op=='/' || op=='%') && y==0) {printf("除数为0");exit(1);}

switch (op) {

case '+': z=x+y; break;

case '-': z=x-y; break;

case '*': z=x*y; break;

case '/': z=x/y; break;

case '%': z=x%y; break;

default: {printf("运算符错!\n");exit(1);}

}

printf("%d %c %d = %d\n",x,op,y,z);

}

程序运行结果:

输入两个整数和一个运算符: 50 8 /

50 / 8 = 6

最后修改: 2019年09月26日 Thursday 18:08