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,
c语言case接收字符,switch-case-break:字符释义 | 新思维:C语言程序设计相关推荐
- c语言 case语句用法,switch ... case语句的用法[组图]
switch ... case语句的用法[组图] 08-13栏目:技术 TAG:switch case语句 switch case语句 当情况大于或等于4种的时候就用switch ... case语 ...
- C语言实例二(switch——case用法)
switch--case用法 一.switch语句概述 1.C语言中switch语句是用于实现多分支结构的选择语句,其特点是各分支清晰而且直观. 2.语句格式如下: switch(表达式) { ...
- c#语言switch+case用法,C# switch case语句
C# switch case 语句也是条件语句的一种,与上一节介绍的<C# if else语句>是类似的,但在判断条件的选择上会有一些局限性. 具体的语法形式如下. switch(表达式) ...
- c语言 case语句用法,switch case语句的用法
switch语句是多分支选择语句,用于基于不同的条件来执行不同的动作.下面讲解switch case语句的具体用法. Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有编程经验的 ...
- c语言case的流程图,switch…case 声明
switch-case 声明 switch语句计算表达式,将表达式的值与case子句匹配,并执行与该case相关的语句. 以下是语法.switch(variable_expression) { cas ...
- c语言 两个case连在一起,嵌入式C语言 2选择结构 SWITCH CASE
1. Switch /Case Switch (){ cases: break; default: : 要求写一个简易的计算器程序,实现简单的加减乘除计算,并输出结果. 例如: 输入 1+1 输出结 ...
- java switch case 或_Java Switch Case 条件判断
Java的 Switch Case 语句,可以理解为分支 例子 假设打麻将有四个人 编号为 1 2 3 4 对应名字为 张三,李四,王五,赵六 数据结构 switch(expression){ cas ...
- case zhen语句_switch case语句,switch case用法详解
switch 是"开关"的意思,它也是一种"选择"语句,但它的用法非常简单.switch 是多分支选择语句.说得通俗点,多分支就是多个 if. 从功能上说,sw ...
- java switch case语句_在Java中使用switch Case语句的例子
当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...
最新文章
- 如何提取fasta文件的部分信息
- 小班计算机游戏教案,幼儿园小班游戏教案
- 基于 WebSocket 的 MQTT 移动推送方案
- VTK:vtkAreaPicker用法实战
- 给出一个正整数 nnn,请你计算从 111 到 nnn 的所有正整数中,有多少个数字的各位数和是 999,Java
- 傅里叶级数的数学推导
- Redis 6.0 源码阅读笔记(9) -- 数据淘汰原理
- 重装系统后mac语言怎么改成中文?
- 转载Java 反射机制
- 云计算机房设备清单报价,射阳县高级中学云计算机房建设预算.doc
- 数学建模经验分享及比赛时间汇总
- 计算机上的符号在哪找,像w的那个符号在哪里可以找到?word文档
- 访问共享计算机的用户名和密码怎么设置,Win7系统下共享文件夹怎么设置账号密码...
- 教育技术学跟计算机专业,我是教育技术学专业可以报计算机专业吗?
- 十个模型,总结产品经理沟通方法论
- C++ —— 到底还能做什么?
- LightOJ 1070 Algebraic Problem (推导+矩阵快速幂)
- ArcEngine中的叠置分析
- php 汉王云名片_云名片
- previous implicit declaration of some_function was here