c语言case接收字符,switch-case-break:字符释义 | 新思维:C语言程序设计

【问题:字符解释】

从键盘输入一个字符,当输入的字符为“y”或“n”或“c”时,分别显示“Yes”、“No”、“Cancel”,输入其他字符时显示“Illegal!”。

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

printf("Yes\n");

break;

case 'n':

printf("No\n");

break;

case 'c':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

printf("Yes\n");

break;

case 'n':

printf("No\n");

break;

case 'c':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

switch-case-break的基本结构如下:

switch()

{

case :

break;

case :

break;

default:

break;

}

switch()

{

case :

break;

case :

break;

default:

break;

}

【问题:字符解释】

从键盘输入一个字符,当输入的字符为“Y”或“y”、“N"或“n”、"C"或“c”时,也就是说不区分大小写,分别显示“Yes”、“No”、“Cancel”,输入其他字符时显示“Illegal!”。

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

printf("Yes\n");

break;

case 'Y':

printf("Yes\n");

break;

case 'n':

printf("No\n");

break;

case 'N':

printf("No\n");

break;

case 'c':

printf("Cancel\n");

break;

case 'C':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

printf("Yes\n");

break;

case 'Y':

printf("Yes\n");

break;

case 'n':

printf("No\n");

break;

case 'N':

printf("No\n");

break;

case 'c':

printf("Cancel\n");

break;

case 'C':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

上面的代码看着有点重复,能简化一下吗? 当然!

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

case 'Y':

printf("Yes\n");

break;

case 'n':

case 'N':

printf("No\n");

break;

case 'c':

case 'C':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

#include

int main(int argc, char *argv[])

{

char c=getchar();

switch(c) {

case 'y':

case 'Y':

printf("Yes\n");

break;

case 'n':

case 'N':

printf("No\n");

break;

case 'c':

case 'C':

printf("Cancel\n");

break;

default:

printf("Illegal!\n");

break;

}

return 0;

}

这里应用了switch-case中的穿透,意思是当跳转到相应的分支后,只要没遇到break,就一直往下执行!

在本例中,如果输入字符 n,这个分支什么都没做,由于没有break,就继续执行,所以无论输入n还是N,执行的语句是一样的。

switch考查两点

所写的任何switch语句都必须遵循以下规则:只能针对基本数据类型使用switch,这些类型包括int、char等; case标签必须是常量表达式。

// 2012_03_C_21

#include

int main()

{

int s=0,n;

for(n=0; n<3; n++) {

switch(s) {

case 0:

case 1:

s+=1;

case 2:

s+=2;

break;

case 3:

s+=3;

default:

s+=4;

}

printf("%d,",s);

}

return 0;

}

// 2012_03_C_21

#include

int main()

{

int s=0,n;

for(n=0; n<3; n++) {

switch(s) {

case 0:

case 1:

s+=1;

case 2:

s+=2;

break;

case 3:

s+=3;

default:

s+=4;

}

printf("%d,",s);

}

return 0;

}

输出:3,10,14,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500528.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代软件工程讲义 如何提出靠谱的项目建议

互联网时代对于创新者来说, 既是一个伟大的时代, 又是一个糟糕的时代。 你有很多机会做出影响世界的产品, 但是, 似乎任何想法都被别人想到过了, 做出来了, 上市了, 移植到各种平台上去了… 那么我们后来人除了羡慕别人生得早, 还有什么机会呢? 但是往往不经意间, 在同学们…

现代软件工程 教学计划 中国科学技术大学-微软亚洲研究院联合培养班

屈指一算, 我已经讲了3年 <现代软件工程>, 教了 4 个班。 2007 - 2009 清华大学理论计算机科学研究中心 (姚班) 2009 北航计算机系还有在北大合作的教学: 2007 - 2009 北京大学软件学院 (课程名叫 - 微软软件实现技术, 我是讲师之一) …

c语言程序设计主编张玉生教材答案,清华大学出版社-图书详情-《Visual Basic程序设计实验指导》...

前言Visual Basic程序设计实验指导本书是《Visual Basic 程序设计教程》的配套实验指导书&#xff0c;全书内容分为四部分。第1部分为实验指导&#xff0c;设计了18个实验&#xff0c;每个实验都是编者精心设计和选择的&#xff0c;所构思的实验内容选材合理&#xff0c;实验目…

基础知识很扎实 - 但是面试就是做不出来, 怎么办? (长, 慎入)

http://www.newsmth.net/bbstcon.php?boardMicrosoft&gid48785 有人提问: 看了很多的面试题之类的&#xff0c;感觉虽然自己数据结构与算法基础知识很扎实&#xff0c;但还是做不出来&#xff0c;所以请高人指点。 这个问题看似迷惑, 其实提问的人搞混了两件事 - “数据…

c语言中的for循环怎么提前终止,[新人求指教]51C语言编程可否用中断令循环结束提早结束...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼C51_C语言编程控制流水灯硬件电路 p0 接 led 8 个&#xff0c;P33 接按键使用中断2开机灯按1~8逐位闪烁&#xff0c;并循环按键后改为 两灯亮 的流水灯下面写了个程序#include #include #define uchar unsigned char#define uint u…

湖南工程学院+c语言程序设计人事档案管理系统,程序设计人事档案管理系统.doc...

课 程 设 计 报 告课程名称 C语言程序设计课题名称 人事档案管理系统专 业 电子信息班 级 1001班学 号 201001030112姓 名指导教师 肖伟平 黄哲 罗敬2011年 6 月 23 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言程序设计课 题 人事档案管理系统专业班级 电子信息1001班学…

敏捷软件开发宣言ndash;Manifesto for Agile Software Development

敏捷开发, 谁不会呀, 不就是 没文档, 出活快, 用户说啥都能改?下面是一个笑话, 王屋村的大牛说 - 我最近转手接了一个活, 完事能挣四五万, 我拿过图纸一看, 不就是盖一烟囱吗? 我们是敏捷 (Agile) 的团队&#xff0c;要文档作甚? 马上开始干活&#xff01;都快盖好了&…

2015电大c语言,2015电大本科C语言程序设计A试题汇总.doc

2015电大本科C语言程序设计A试题汇总2015年电大本科《C语言程序设计A》一、单选题1&#xff0e;在每个C语言程序中都必须包含有这样一个函数&#xff0c;该函数的函数名为 A 。A. main B. MAIN C. name D. function 2&#xff0e;每个C语言程序文件的编译错误分为(B)类。 A. 1 …

现代软件工程 - 代码量等于树叶量

我 2008年在清华大学上<现代软件工程> 的时候, 和同学讨论了代码量的问题。 同学说&#xff0c;许多相似课程都有“代码量”的要求&#xff0c;就是说软件工程的项目选题如果没有到一定量的代码&#xff0c;就不能算合格的选题。 老师助教专门花时间分析学生的代码是否…

计算机二级考试c语言公共基础知识,全国计算机二级c语言公共基础知识考试内容.doc...

全国计算机二级c语言公共基础知识考试内容全国计算机二级等级考试的笔试包括基础知识和程序设计两部分&#xff0c;其中基础知识占30分。以下是由关于全国计算机二级c语言公共基础知识考试内容的内容&#xff0c;希望大家喜欢!全国计算机二级c语言公共基础知识考试内容一、C语言…

现代软件工程 其实还是人的问题

在《现代软件工程》这门课程上&#xff0c;大家分成6-7人的小组进行项目开发&#xff0c;有项目经理 (PM)&#xff0c;有开发人员 (dev)&#xff0c;测试人员 (test) 等。不久就有PM说&#xff0c;怎么小组里有些人就是不干活&#xff1f; 最早&#xff0c;大家假设所有人都是…

现代软件工程系列 结对编程 (II) 电梯调度程序新需求

原来布置的作业在这里: http://www.cnblogs.com/xinz/archive/2010/11/28/1890300.html 正如在现实生活中一样, 软件项目的需求也会经常发生变化. 原题假设所有电梯都停靠所有楼层, 我们改成各个电梯停靠的楼层不尽相同。这在实际生活中也很常见。 例如原来: Elevator name…

nodejs怎么与c语言通信费是什么,NodeJS介绍与使用

NodeJS是什么Node.js是一个基于Chrome V8引擎的JavaScript运行时。NodeJS并不是一门语言&#xff0c;JavaScript才是一门语言&#xff0c;他是一个运行时&#xff0c;如果想要在服务器端运行就需要运行时。nodeJS使用了一个事件驱动、非阻塞式I/O的模型非阻塞式I/OI/O:就是inpu…

历年高考报考人数和录取人数

全国历年参加高考人数和录取人数统计 (1977年&#xff5e;2010年) 时间&#xff08;年&#xff09;参加高考人数&#xff08;万人&#xff09;录取人数 &#xff08;万人&#xff09;录取率 &#xff08;%&#xff09;1977570274.7%197861040.26.6%1979468286.0%1980333288.4%1…

android xml配置,Android XML设置z-Index

基本上我有2个线性布局。用户单击按钮时&#xff0c;一个线性布局将展开或折叠。另一个将始终显示在顶部。这里是我的xml&#xff1a;Android XML设置z-Indexandroid:layout_width"fill_parent"android:layout_height"fill_parent" >android:id"id…

现代软件工程 M1 博客要求

各个小组都大致确定了自己的项目和人员分工, 这太好了。 第一个里程碑马上就要开始了。 请同学们按照下表的要求, 把各个角色, 各个阶段要做的事情都快速地用博客表达出来吧。 每个博客的截止日期是: 每日博客:第二天早上9点。 每周博客:下一周周一早上9点。 每个团队有6-7 …

android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...

作者&#xff1a;程序员小冰&#xff0c;GitHub主页&#xff1a;https://github.com/QQ986945193新浪微博&#xff1a;http://weibo.com/mcxiaobing首先给大家看一下我们今天这个最终实现的效果图&#xff1a;当然&#xff0c;这里的进度&#xff0c;是我们手动触摸控制的。截图…

同学, 有板砖么?

这次 <现代软件工程> 的4 个团队要做下面的项目: 第一组: 一个BBS 的通用客户端 第二组: 挖掘学术圈内的师承关系 第三组: 真人拳皇 - 把你老板的照片变成对手, 然后给他一顿痛打 第四组: 一个叫呆呆的东东。 这些想法都各有特点&#xff0c;同学们也意识到自己…

顶级程序员的心得ndash;Coders at Work

[原文在 www.yishan.cc 连载, 现在合成一篇] 我去年读了 “Coders at Work”, 对15 位顶级程序员的采访&#xff0c; 总共600页。 从采访的模式看&#xff0c;有点像“艺术人生”&#xff0c; 一般都是音乐起&#xff0c;讲小时候的故事&#xff0c;你怎么开始写程序的? (…

android动态表格数据类型,华为运动表GT表盘主题制作教程

控件介绍运动表 GT单图控件用于显示一张静态图片&#xff0c;通常用作背景图、图标等。属性区域操作说明&#xff1a;1) 图片路径&#xff1a;点击 号图标选择图片。注&#xff1a;图片尺寸不得超过所选表盘 DPI 大小&#xff0c;如&#xff0c;选择 390 X 390 表盘&#xff0…