• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
C语言教程:第三章:
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
C语言教程:第三章: C语言程序设计初步(5)
软件发布 C语言教程:第三章: C语言程序设计初步(5)
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> 计算机等级考试 >> 计算机等级考试动态 >> C语言教程:第三章: C语言程序设计初步(5)

C语言教程:第三章: C语言程序设计初步(5)

添加时间: 2007-5-20 4:06:21  作者: 计算机等级考试认证参考  阅读次数:20   来源: http://www.d9soft.com

       

switch语句   

C语言还提供了另一种用于多分支选择的switch语句, 其一般形式为:    
switch(表达式){    
case常量表达式1: 语句1;    
case常量表达式2: 语句2;    
…    
case常量表达式n: 语句n;    
default : 语句n+1;    
}    
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。   
void main(){   
int a;   
printf("input integer number: ");   
scanf("%d",&a);   
switch (a){    
case 1:printf("Monday ");   
case 2:printf("Tuesday ");   
case 3:printf("Wednesday ");   
case 4:printf("Thursday ");   
case 5:printf("Friday ");   
case 6:printf("Saturday ");   
case 7:printf("Sunday ");   
default:printf("error ");   
}   
}   

本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号, 表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。 这是与前面介绍的if语句完全不同的,应特别注意。为了避免上述情况, C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。   
void main(){   
int a;   
printf("input integer number: ");   
scanf("%d",&a);   
switch (a){   
case 1:printf("Monday ");break;   
case 2:printf("Tuesday "); break;   
case 3:printf("Wednesday ");break;   
case 4:printf("Thursday ");break;;  
case 5:printf("Friday ");break;   
case 6:printf("Saturday ");break;   
case 7:printf("Sunday ");break;   
default:printf("error ");   
}   
}   
在使用switch语句时还应注意以下几点:   
1.在case后的各常量表达式的值不能相同,否则会出现错误。   
2.在case后,允许有多个语句,可以不用{}括起来。   
3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。   
4.default子句可以省略不用。程序举例输入三个整数,输出最大数和最小数。   
void main(){   
int a,b,c,max,min;   
printf("input three numbers: ");

scanf("%d%d%d",&a,&b,&c);   
if(a>b)   
{max=a;min=b;}   
else   
{max=b;min=a;}   
if(maxmax=c;   
else   
if(min>c)   
min=c;   
printf("max=%d min=%d",max,min);   
}   

本程序中,首先比较输入的a,b的大小,并把大数装入max, 小数装入min中,然后再与c比较,若max小于c,则把c赋予max;如果c小于min,则把c赋予min。因此max内总是最大数,而min内总是最小数。最后输出max和min的值即可。 计算器程序。用户输入运算数和四则运算符, 输出计算结果。   
void main(){   
float a,b,s;   
char c;   
printf("input expression: a+(-,*,/)b  ");   
scanf("%f%c%f",&a,&c,&b);   
switch(c){   
case ’+’: printf("%f ",a+b);break;   
case ’-’: printf("%f ",a-b);break;   
case ’*’: printf("%f ",a*b);break;   
case ’/’: printf("%f ",a/b);break;   
default: printf("input error ");   
}   
}   

float a,b,s;   
char c;   
printf("input expression: a+(-,*,/)b  ");   
scanf("%f%c%f",&a,&c,&b);   
switch(c){   
case ’+’: printf("%f ",a+b);break;   
case ’-’: printf("%f ",a-b);break;   
case ’*’: printf("%f ",a*b);break;   
case ’/’: printf("%f ",a/b);break;   
default: printf("input error ");   
}   
本例可用于四则运算求值。switch语句用于判断运算符, 然后输出运算值。当输入运算符不是+,-,*,/时给出错误提示。

 

上下文章:

 

上一篇文章: C语言教程:第三章: C语言程序设计初步(6) 下一篇文章: 山西省五类社会考试时间敲定

相关文章:

  • Photoshop CS4教程:打造新年元旦主题海报
  • PS教程:调出照片的柔和梦幻色彩
  • Photoshop教程:将儿童照制作成拼图效果
  • PhotoShop教程:制作漂亮的灯笼
  • PS教程:绘制一面逼真玻璃转角镜

相关软件:

  • 多国语言互译专家 2009 6.4
  • RonyaSoft ProPoster 多语言版 v2.02.11
  • 易语言 V4.04 简体中文正式版
  • 句宝盆--新概念英语第三册 V4.75
  • API拦截教程 V1.0
  • 脚本语言生成器 V2.5 Build 1050

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

计算机等级考试分类导航

  • 计算机等级考试动态
  • 计算机一级考试
  • 计算机二级考试
  • 计算机三级考试
  • 计算机四级考试

本类经典文章推荐

  • 全国计算机等级考试三级网络技术(...
  • 三级网络技术复习笔记(第1-2章)
  • 三级笔试样题(PC技术)
  • 三级数据库技术样题
  • 三级网络技术复习笔记(5-7)
  • 三级网络技术复习笔记(第3-4章)
  • 笔试样题(网络技术)
  • 机考如何避免范围性错误
  • 2003年最新三级网络模拟题(2)
  • 全国计算机等级考试三级网络技术部...

计算机等级考试动态阅读排行

  • 完整的计算机等级考试上机模拟系统
  • 9月17日计算机等级考试二级VF答案
  • 历年操作系统论述题及答案(2)
  • 计算机等级考试:VFp练习题1
  • 全国计算机等级考试三级网络技术(...
  • 计算机等级考试:VFp练习题2
  • 2005年全国计算机等级考试全真模拟...
  • 计算机二级VB软件环境、考试时间、...
  • 全国计算机等级考试报名时间、级别...
  • 三级网络技术复习笔记(第1-2章)

计算机等级考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 一级(WINDOWS)试题解析-Word篇
  • 全国计算机等级考试上机考试应试技...
  • 全国计算机等级考试一级模拟试题03
  • 全国计算机等级考试一级模拟试题06

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有