在C++编程中,使用switch case语句语句,进行成绩的分级输出时,我输入了case90~100,cout

C++中switch-case语句应用经验总结
编程语言,C++教程,C++语句,C++条件语句switch
C++ switch-case语句是一个循环判断语句,在实际编程中起着非常重要的作用。希望这篇文章中介绍的内容能帮助大家解决一些问题。在C++编程语言中,存在着一些判断语句,比如if,C++ switch-case语句等等。我们在这篇文章中会针对C++ switch-case语句的基本使用方法进行详细的介绍,希望能给大家带来一些帮助,希望大家多多支持中国站长网络学院。
& & & C++ switch-case语句是一个循环判断语句,在实际编程中起着非常重要的作用。希望这篇文章中介绍的内容能帮助大家解决一些问题。在C++编程语言中,存在着一些判断语句,比如if,C++ switch-case语句等等。我们在这篇文章中会针对C++ switch-case语句的基本使用方法进行详细的介绍,希望能给大家带来一些帮助。& & &if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.深层嵌套的else-if语句往往在语法上是正确的,但逻辑上却没有正确地反映程序员的意图。例如,错误的else-if匹配很容易被忽略。& & &添加新的条件和逻辑关系,或者对语句做其他的修改,都很难保证正确性。因此,C/C++语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.它可以很方便地来实现深层嵌套的if/else逻辑。使用C++ switch-case语句直接处理多个分支(当然包括两个分支).其一般形式为:switch(表达式)&{&case 常量表达式1:&语句1;&&case 常量表达式2:&语句2;&&……&case 常量表达式n:&语句n;&&default:&语句n+1;&&}&& & & C++ switch-case语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.& & & 以上是switch-case的正规写法,default语句总是写在最后。但是,如果把default语句间在了case的中间,执行的结果又是怎样的呢?笔者测试了一下几种有代表性的情况,把结果简单罗列如下:A. 每个语句中break齐整switch(c)&{&case '1':&printf(&1\n&);&&default:&printf(&default\n&);&&case '2':&printf(&2\n&);&&case '3':&printf(&3\n&);&&}&此种情况最为规整,default写在中间跟写在最后的效果一致。B. default语句后没有breakswitch(c)&{&case '1':&printf(&1\n&);&&default:&printf(&default\n&);&//&case '2':&printf(&2\n&);&&case '3':&printf(&3\n&);&&}&此种情况下,输入分别为 1、 2、 3、 4,对应的输出分别为 1、 2 、3、 default 2(换行省略了,实际运行时有换行的);即此种情况下遵循A中的执行顺序和一般的标号规则。C. 最后一个case没有breakswitch(c)&{&case '1':&printf(&1\n&);&&default:&printf(&default\n&);&&case '2':&printf(&2\n&);&&case '3':&printf(&3\n&);&//&}&此种情况下,输入分别为 1、 2、 3、 4,对应的输出分别为1、2、3、default.可见实际的运行效果并不等同于把default语句挪到最后的运行效果。否则,输入为3时,输出应该为 3 default.D. default和最后一个case都没有breakswitch(c)&{&case '1':&printf(&1\n&);&&default:&printf(&default\n&);&//&case '2':&printf(&2\n&);&&case '3':&printf(&3\n&);&//&}&由上面A,B,C三种情况的运行结果,我们可以推测出D这种情况的运行结果。当输入分别为 1、2、3、4时,输出为1、2、3、default 2. 结果与B的情况相同。#include &iostream&int main(){int year,month,day,cout&&&Year:&;cin&&cout&&&Month:&;cin&&cout&&&Day:&;cin&&if(year%400==0||year%4==0&&year%100!=0) //是闰年的情况switch(month){case 1:no=case 2:no=31+case 3:no=1+31+28+case 4:no=1+31+28+31+case 5:no=1+31+28+31+30+case 6:no=1+31+28+31+30+31+case 7:no=1+31+28+31+30+31+30+case 8:no=1+31+28+31+30+31+30+31+case 9:no=1+31+28+31+30+31+30+31+31+case 10:no=1+31+28+31+30+31+30+31+31+30+case 11:no=1+31+28+31+30+31+30+31+31+30+31+case 12:no=1+31+28+31+30+31+30+31+31+30+31+30+default:cout&&&你的输入有误!&&&return 0;}else //不是闰年的情况switch(month){case 1:no=case 2:no=31+case 3:no=31+28+case 4:no=31+28+31+case 5:no=31+28+31+30+case 6:no=31+28+31+30+31+case 7:no=31+28+31+30+31+30+case 8:no=31+28+31+30+31+30+31+case 9:no=31+28+31+30+31+30+31+31+case 10:no=31+28+31+30+31+30+31+31+30+case 11:no=31+28+31+30+31+30+31+31+30+31+case 12:no=31+28+31+30+31+30+31+31+30+31+30+default:cout&&&你的输入有误!&&&return 0;}cout&&&你输入的日期是这一年的第&&&no&&&天&&&system(&pause&);return 0;}#include&stdefx.h&#include &iostream&int main(){&&cout&&&输入百分制成绩:&;&cin&&&mark=mark/10;&switch(mark)&{&case 0:&case 1:&case 2:&case 3:&case 4:&case 5: cout&&&不及格&&&&case 6: cout&&&及格&&&&case 7: cout&&&中&&&&case 8: cout&&&良&&&&case 9: cout&&&优&&&&default:&{&if(mark=10)&cout&&&优&&&&else&{&cout&&&你输入的分数超出范围,请重新输入:&;&cin&&&}&}&}&return 0;}#include&stdefx.h&#include &iostream&int main(){&&cout&&&输入百分制成绩:&;&cin&&&if(mark&110&&mark&100)&{&cout&&&你输入的分数超出范围,请重新输入:&;&cin&&&}&mark=mark/10;&switch(mark)&{&case 0:&case 1:&case 2:&case 3:&case 4:&case 5: cout&&&不及格&&&&case 6: cout&&&及格&&&&case 7: cout&&&中&&&&case 8: cout&&&良&&&&case 9: cout&&&优&&&&default:&{&if(mark==10)&cout&&&优&&&else&{&cout&&&你输入的分数超出范围,请重新输入:&;&cin&&&}&}&}&return 0;}
编程语言与程序设计专题推荐
Copyright & 2004 -
版权所有 中文域名:站长.cn 站长.中国
中国 苏ICP备号
免责声明:以上教程信息由会员自行搜集、整理、发布,内容的真实性、准确性和合法性由发布会员负责。站长学院对此不承担任何责任。西南交通大学C++上机实验答案(2014版)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
西南交通大学C++上机实验答案(2014版)
上传于||文档简介
&&师​兄​只​能​帮​到​这​了​,​截​图​自​己​搞​定​,​别​忘​了​姓​名​学​号​.​.​.
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩23页未读,继续阅读
你可能喜欢 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
东南大学机械学院C++第二学期上机答案
下载积分:0
内容提示:东南大学机械学院C++第二学期上机答案
文档格式:DOC|
浏览次数:191|
上传日期: 14:51:51|
文档星级:
该用户还上传了这些文档
东南大学机械学院C++第二学期上机答案
官方公共微信共有 5474 人关注过本帖
标题:switch分支语句,有这样的用法吗,比如 case 0,1,2,3
case 10-20
等 级:新手上路
帖 子:15
&&问题点数:0&&回复次数:10&&&
switch分支语句,有这样的用法吗,比如 case 0,1,2,3
case 10-20
switch (x)
case 1: 语句1;
case 2: 语句2;
case 3: 语句3;
我想当 x 的值在1至10之间的时候,执行语句1,那么 case 后面的表达式应该如何写呢?
case 1-10:语句1;
搜索更多相关主题的帖子:
&&&&&&&&&&
等 级:新手上路
switch (x)
case 10: 语句1;
case 11: 语句2;
case 12: 语句3;
等 级:新手上路
帖 子:15
case 10: 语句1;
但是这样也太长了。如果是要1-100,那不得100行的case
等 级:新手上路
前面用if语句判断
switch (x)
default: 语句1;//1-10执行该语句
case 11: 语句2;
case 12: 语句3;
等 级:新手上路
帖 子:15
&&1-100,执行语句1
101-200,执行语句2
201-300,执行语句3
那么case后面的表达式该怎么写呢?
case 1-100:语句1;
case 101-200:语句2;
case 201-300:语句3;
等 级:贵宾
威 望:10
帖 子:454
[bo][un]helloworld22[/un] 在
10:37 的发言:[/bo]
&&1-100,执行语句1
101-200,执行语句2
201-300,执行语句3
那么case后面的表达式该怎么写呢?
case 1-100:语句1;
case 101-200:语句2;
case 201-300:语句3;
这种直接用if else了,用switch要写死的……更麻烦的是,突然哪天发现要把范围改掉,这下崩溃了……
等 级:新手上路
帖 子:542
那就用if 来判断 执行
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9796
专家分:208
不会求余么?
倚天照海花无数,流水高山心自知。
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9796
专家分:208
switch(i%100+1)
倚天照海花无数,流水高山心自知。
等 级:新手上路
switch(int(x/100.0-0.01))
case 0: 语句1;
case 1: 语句2;
case 2: 语句3;
你试试吧,看看好不好用
[[it] 本帖最后由 systory 于
16:47 编辑 [/it]]
版权所有,并保留所有权利。
Powered by , Processed in 0.032752 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved苹果/安卓/wp
苹果/安卓/wp
积分 38031, 距离下一级还需 17864 积分
权限: 自定义头衔, 签名中使用图片, 设置帖子权限, 隐身, 设置回复可见, 签名中使用代码
道具: 彩虹炫, 雷达卡, 热点灯, 雷鸣之声, 涂鸦板, 金钱卡, 显身卡, 匿名卡, 抢沙发, 提升卡, 沉默卡, 千斤顶, 变色卡, 置顶卡
购买后可立即获得
权限: 隐身
道具: 金钱卡, 雷鸣之声, 彩虹炫, 雷达卡, 涂鸦板, 热点灯
TA的文库&&
在C语言中,通常会使用 printf 和 scanf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍能使用,但是C++语言又自定义了一套新的、更容易使用的输入输出库。在C++程序中,输入与输出可以看做是一连串的数据流,输入即可视为从文件或键盘中输入程序中的一串数据流,而输出则可以视为从程序中输出一连串的数据流到显示屏或文件中。在编写C++程序时,如果需要使用输入输出时,则需要包含头文件 &iostream&。在 &iostream& 中定义了用于输入输出的对象,例如常见的 cin 表示标准输入、cout 表示标准输出、cerr 表示标准错误。使用 cout 进行输出时需要紧跟“&&”操作符,使用 cin 进行输入时需要紧跟“&&”操作符,这两个操作符可以自行分析所处理的数据类型,因此无需像使用 scanf 和 printf 那样给出格式控制字符串。
[例1]简单的输入输出代码示例:
#include&iostream&
int main(){
& &
& &
& & cout&&&Please input an int number:&&&
& & cin&&x;
& & cout&&&The int number is x= &&&x&&
& & cout&&&Please input a float number:&&&
& & cin&&y;
& & cout&&&The float number is y= &&&y&&& &
& & return 0;
}复制代码运行结果如下(↙表示按下enter键):
Please input an int number:
The int number is x= 8
Please input a float number:
The float number is y= 7.4& &
第6行代码表示输出“&Please input a int number:”这样的一个字符串,以提示用户输入整数,其中endl表示换行,与C语言里的“\n”作用相同;当然这段代码中也可以用“‘\n’”来替代 endl。
endl最后一个字符是字母“l”,而非阿拉伯数字“1”,它是“end of line”的缩写。
第7行代码表示从标准输入(键盘)中读入一个 int 型的数据并存入到变量 x 中。如果此时用户输入的不是int型数据,则会被强制转化为int型数据。
第8行代码将输入的整型数据输出。从该语句中我们可以看出 cout 可以连续的输出。同样cin也是支持对多个变量连续输入的,如下所示。
[例2]cin 连续输入示例:
#include&iostream&
int main()
{
& &
& &
& & cout&&&Please input an int number and a float number:&&&
& & cin&&x&&y;
& & cout&&&The int number is x= &&&x&&
& & cout&&&The float number is y= &&&y&&& &
& & return 0;
}复制代码运行结果:
Please input an int number and a float number:
The int number is x= 8
The float number is y= 7.4& &
第8行代码连续从标准输入中读取一个整型和一个浮点型数字(默认以空格分隔),分别存入到 x 和 y 中。
输入操作符“&&”在读入下一个输入项前会忽略前一项后面的空格,所以数字 8 和 7.4 之间要有一个空格,当 cin 读入 8 后忽略空格,接着读取 7.4。
当使用 cin&&val 输入变量时,如果输入一个变量到 val 中,则该表达式返回真(true),否则返回假(false)。利用这一特性,我们可以连续输入数据,如例3所示。
[例3]使用 cin 连续输入数据:
#include&iostream&
int main()
{
& & int sum = 0;
& & int val = 0;
& & cout&&&Please input a number :&&&
& & while(cin&&val)
& & {
& && &&&sum +=
& && &&&cout&&&Please input next number :&&&
& & }
& & cout&&&The sum of all number is sum = &&&sum&&
& & return 0;
}复制代码运行结果:
Please input a number :
Please input next number :
Please input next number :
Please input next number :
The sum of all number is sum = 146
需要注意的是:cin 是带有缓冲区的。当用户输入 100.9 时,cin 读入 100,而将 .9 留在缓冲区中。下次再执行 cin&&val 语句时,因为缓冲区中有数据,所以不会等待用户输入,而是直接从缓冲区中读取;cin 将 .9 读入,它不是一个有效的整数,读取失败,返回 false,终止了 while 循环。需要说明的两点:
cin、cout、cerr 不是C++中的关键字,其本质是函数调用,它们的实现采用的是C++的运算符重载,这些知识点将会在后续逐一介绍。其中cout和cerr的输出目的地都是显示器,不同的是cout是带有缓冲的,而cerr则不带缓冲。在C++中推荐使用 cin、cout,它比C语言中的 scanf、printf 更加灵活易用。
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
论坛好贴推荐
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
为做大做强论坛,本站接受风险投资商咨询,请联系(010-)
邮箱:service@pinggu.org
合作咨询电话:(010)
广告合作电话:(刘老师)
投诉电话:(010)
不良信息处理电话:(010)
京ICP证090565号
京公网安备号
论坛法律顾问:王进律师

我要回帖

更多关于 js switch case语句 的文章

 

随机推荐