文档库 最新最全的文档下载
当前位置:文档库 › oracle中有关case和decode的用法

oracle中有关case和decode的用法

oracle中有关case和decode的用法
oracle中有关case和decode的用法

?博客园首页

sql与oracle中有关case和decode的用法(行转列)及比

作者:NerverQuit来源:博客园发布时间:2010-10-13 16:24 阅读:982 次原文链接[收藏]引:

为了举例说明,这里创建了一张成绩表,如下图所示:

比较:

1、sql中,这两个函数我们仅能使用case,代码及结果如下:

select name,

case Subject

when '语文' then 1

when '数学' then 2

when '英语' then 3 --else 3

end as '科目代码'

from Results

同样的,我们可以用case实现行转列,代码及结果如下:

select Name,

sum(case when Subject='语文' then Result end) '语文',

sum(case when Subject='数学' then Result end) '数学',

sum(case when Subject='英语' then Result end) '英语'

from Results

group by Name

2、但是,在oracle中,这两个函数我们都可以使用,代码及结果如下:

decode用法:select Name,decode(Subject,'语文',1,'数学',2,'英语',3) 科目代码from results;

select Name,decode(Subject,'语文',1,'数学',2,3) 科目代

码 from Results;

case用法:

select name,

case

when Subject='语文' then 1

when Subject='数学' then 2

when Subject='英语' then 3 --else 3

end as 科目代码

from Results;

这两种方法均能达到同样的结果:

同样的,我们可以使用这两个函数实现行转列,代码及结果如下:

decode:

select

Name,

sum(decode(Subject,'语文',Result,0)) 语文,

sum(decode(Subject,'数学',Result,0)) 数学,

sum(decode(Subject,'英语',Result,0)) 英语

from Results

group by Name;

case:

select

Name,

sum((case when Subject='语文' then Result else 0 end)) 语文,

sum((case when Subject='数学' then Result else 0 end)) 数学,

sum((case when Subject='英语' then Result else 0 end)) 英语

from Results

group by Name;

数据库表与行转列的中间结果(想想还是也附上)

oracle中:

select

Name,

decode(Subject,'语文',Result,0) 语文,

decode(Subject,'数学',Result,0) 数学,

decode(Subject,'英语',Result,0) 英语

from Results;

select

Name,

(case when Subject='语文' then Result else 0 end) 语文,

(case when Subject='数学' then Result else 0 end) 数学,

(case when Subject='英语' then Result else 0 end) 英语

from Results;

结果如下:

以上内容,不对的地方请指正。此文仅想抛砖引玉...

(续)

SQL2000中动态SQL

declare @sql varchar(8000)

set @sql = 'select name '

select @sql = @sql + ' , sum(case Subject when '+ char(39) + Subject + char(39) +' then Result else 0 end) [' + Subject + ']'

from (select distinct Subject from results) as a

set @sql = @sql + ' from results group by name'

exec(@sql)

SQL2005中动态SQL

declare @sql varchar(8000)

select @sql = isnull(@sql + '],[' , '') + Subject from Results group by Subject

set @sql = '[' + @sql + ']'

exec ('select * from Results pivot (max(result) for subject in (' + @sql + ')) b')

》点击查看原文...

程序员找工作,就在博客园

脱氢醋酸钠用法举例

脱氢醋酸钠用法举例 一、渍酸菜按常法把白菜去掉部分老叶。大头菜去杂质切为两半,洗净(是否用热水烫,凭习惯)放入缸中,加水(是否加盐或加热水,凭习惯)没过压菜石,经二~三周左右,白菜发缸变酸后,将本品用少量水溶解后,均匀倒在缸中,即可。用量为每50公斤菜用本品1袋(10克)。若在渍菜的同时加入本品亦可,但发缸的时间要长些。用本品后,在室温20~25℃下,酸菜不长醭、不腐烂、无异臭、可保鲜到明年渍菜时,酸菜仍然香脆。用同法可腌制如:黄瓜、辣椒、萝卜、芹菜、雪里蕻、芥菜、豇豆角等酱酸腌制品。 二、成熟腐乳防腐根据包装,大坛装腐乳260块左右,乳汁3000毫升左右;小坛16块,乳汁300毫升左右。本品用量为0.03%(按体积计算)混溶于乳汁中。可防腐6个月,腐乳不变霉。而苯甲酸钠用量0.1%时,不到3个月则霉变。本品亦可用于青方(臭豆腐)。 三、酱油豆酱防霉酱油、豆酱在夏季极易长醭发霉。加本品0.01~0.03%于酱油、豆酱中,可防止6个月不霉变。 四、什锦酱菜防霉酱菜是一季生产全年供应,酱菜在盐分较大的盐酱中,不常翻动,一般还可不长醭,有时表面长醭,而味道很咸;尤其是袋装酱菜,若不防腐,2~5天即霉变。而加入本品0.03%,在酱菜零售时尽管翻动,可防腐2个月。对于袋装酱菜,其保质期可延长30天。 五、桔浆原汁或其他果汁防霉桔子上市季节所产生的桔浆(水果原汁)一般要存放一年。用苯甲酸钠来防腐,贮存到第五个月时就会霉变,测定为原汁中苯甲酸钠的含量已无。而用本品防腐,用量仅为0.05%,同样条件下可贮存八个月,同时测定本品含量尚含0.05%;若用本品浓度达0.1%时,可贮存原汁八个月以上。 六、面包防霉一般市售面包在25℃,相对湿度为70~90%的环境下,放置三天就开始发霉;若用本品制作面包,在面粉发酵后(面粉发酵前加入,影响发酵)随料一起用水溶解加入,再进行烤制。用量可在0.01%,可放置6天;当浓度增加到0.03%,防霉时间更可延长。面包品位纯真、口感松香、无不良味道。 七、蛋糕防霉蛋糕是大众糕点,由于营养充足,富含水分很易使霉菌生长,特别是夏季,出炉后的蛋糕放置5天就生霉。若用本品0.03%随制蛋糕和面时搅拌加入(生产蛋糕面粉不发酵,面里加入苏打粉,故可先加入本品;若用酵母发酵,应发酵后加入本品)焙烤后分装在塑料袋中,可保存11天不生霉菌。 八、梨膏糖防霉梨膏糖在25℃相对湿度为70~90%环境中,可保存18天,加入苯甲酸钠0.1%,可保存25天;而用本品0.01~0.03%,可40天不霉变。使用方法是:糖熬后,加入本品搅拌均匀即可。 九、豆沙馅、糕点馅防霉糕点馅用于月饼和点心,由于营养丰富、水分亦多很容易发霉,特别是夏季,一般只能放一周左右,给生产和销售带来很大不便和经济损失;若用本品0.03%,先用少量水溶解后均匀拌入,按正常生产烤制点心,然后放入塑料袋中,可保存30天不霉变。 十、泡菜、炝菜防腐保鲜四川泡菜全国闻名,但制作时必须有泡菜坛用水密封防止空气进入,同时泡制操作要十分小心防止染菌,否则一坛菜会腐烂变味;

食品添加剂复习题

《食品添加剂》的复习题 一、名词解释: 1. CCFA:食品添加剂法典委员会 2. FAO:联合国粮食及农业组织 3. WHO:世界卫生组织 4.CAC:食品法典委员会 5. 酶制剂:由动物或植物的可食或非可食部分直接提取,或由传统或通过基因修饰的微生物发酵、提取制得,用于食品加工,具有特殊催化功能的生物制品。。 6. 亚急性毒性试验:是在急性毒性试验基础上进一步检验受试验物质的毒性对机体的重要器官或生理功能的影响,并估量发生影响的剂量,为慢性毒性试验作准备。 7. 食品添加剂:指为改善食品品质和色,香,味,以及为防腐和加工工艺的需要而加入食品中的化学合成或者天然物质。 8. 最大无作用量:机体长期摄入受试物而无任何中毒表现的每日最大摄入剂量单位为mg/kg体重。 9. 中毒阈剂量:最低中毒量,即能引起机体某种最轻微中毒的最低剂量。 10. 抗氧剂:添加于食品后阻止或延迟食品氧化,提高食品质量的稳定性和延长贮藏期的物质。 11. 相对甜度法:将甜味剂配成与蔗糖浓度相同的溶液,然后以蔗糖溶液为标准比较该甜味剂的甜度。 12. 香气值:香味物质的浓度与它的阈值之比。 13. 香精香料:是以改善、增加和模仿食品的香气和香味为主要目的的食品添加剂。 14. 着色剂:称使用色素,是指能将食品染着一定颜色的食品添加剂。 15. 极限浓度法:将甜味剂配成可被感觉出甜味的最低浓度,即极限浓度。 16. 鲜味剂:本身具有鲜味并能补充和增强食品原来风味的物质。 17.蓄积作用:指某些物质少量多次进入机体,使本来不会引起毒害的小剂量也会发生作用的现象。 18. 消泡剂:凡能降低泡沫稳定性的物质 19.慢性毒性试验:考察少量受试验物质藏起作用机体所呈现的毒性,以确定其

switch用法

C语言switch语句的用法详解 C语言还提供了另一种用于多分支选择的switch语句,其一般形式为: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){ case 1:printf("Monday\n"); case 2:printf("Tuesday\n"); case 3:printf("Wednesday\n"); case 4:printf("Thursday\n"); case 5:printf("Friday\n"); case 6:printf("Saturday\n"); case 7:printf("Sunday\n"); default:printf("error\n"); } } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,所以出现了继续执行所有后面case语句的情况。这是与前面介绍的if语句完全不同的,应特别注意。 为了避免上述情况,C语言还提供了一种break语句,专用于跳出switch语句,break 语句只有关键字break,没有参数。在后面还将详细介绍。修改例题的程序,在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 main(){ int a; printf("input integer number: "); scanf("%d",&a); switch (a){

switch case用法示例

C语言——switch case语句 switch语句的语法如下(switch,case和default是关键字): switch ( 表达式) { case 常量表达式1 :语句1;break; case 常量表达式2 :语句2;break; …… case 常量表达式n :语句n;break; default:语句n+1;break; } 说明: break退出{ } case后面只能跟一个值(加冒号:),而不能是一个表达式 switch(表达式) 后面没有;(分号) { }前后没有;(分号) switch语句规则 case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。 case 标签后不能是浮点型数据(如1.0 ) case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。 不要问为什么,C就这规定!我们只需要了解规则,学会应用即可! 猜想原因:浮点型数据不是准确的数据,在机器中只能表示出一个近似值,如:0.1 在机器中存的是0.09999612.... 也可能是0.09999723.... 根据精度不同,数据来源不同,其值是个不确定的数据,因此,不能用CASE来定位 简单例题1:

#include void main(void) { int i=5; switch(i) { case 1: printf("%d",i); break; case 2+3: printf("%d",3); break; default : printf("%d",i); } } //程序运行效果是输出:3 经典例题2: #include void main(void) { switch('A') { case 'A': printf("A\n"); break; case 'B': printf("%d",3); break; default : printf("%d",7); } } //程序运行效果是输出:A 经典例题3: #include void main(void) { int i=5; switch(5) {

校对符号及其用法

校对符号及其用法 中华人民共和国国家标准 GB/T14706-93 校对符号及其用法 Proofreader's marks and their application 中华人民共和国新闻出版署1994-02-26批准 1994-10-01实施1、主题内容与适用范围 本标准规定了校对各种排版校样的专用符号及其用法。 本标准适用于中文(包括少数民族文字)各类校样的校对工作。、引用标准 2 GB9851 印刷技术术语 3、术语 3.1 校对符号( proofreader's mark ) 以特定图形为主要特征的、表达校对要求的符号。 4、校对符号及其用法示例 常用校对符号一览表 符号在文中和符号作用符号形态示例说明页边用法示例改正的字符 较多,圈起来 有困难时,可 用线在页边改正提高出版物质量画清改过的范围;必须更 换的损、坏、 污字也用改

正符号画出删除提高出版物质量 增补的字符 较多,圈起来 有困难时,可增补必须搞好校对工作用线在页边画清增补的范围 换损坏字和模糊字要调换 16=4 SO H改正 24 上下角尼古拉?费帝 0.25+0.25=0.5 转正你的做法真不对 第 1 页共 3 页 符号在文中和符号作用符号形态示例说明页边用法示例 用于相邻的对调认真总结经验字词,用于隔开的字词 要重视校对工作,提高出转移版物质量 要重视校对工作,提高出接排版物质量 完成了任务。另起段明年...... 字符上移到 缺口左右水

序号名称数量平线处,字符上下移 01 +++ 5 下移到箭头 所指的短线 处 字符左移到 箭头所指的 要重视校对工作,提高出短线处,字符左右移版物质量左移到缺口上下垂直线 处 必须提高印刷质量,排齐缩短印刷周期 符号横线表 示水平位置,排阶梯型竖线表示垂RH 2 直位置,箭头 表示上方正图 一、校对程序加大表示适当加校对胶印读物,影印书刊空距大空距的注意事项 表示适当减 一、校对程序少空距,横式减小校对胶印读物,影印书刊文字画在字空距的注意事项头和行头之

switch的用法总结大全

switch的用法总结大全 想了解switch的用法么?今天给大家带来了switch的用法,希望能够帮助到大家,下面就和大家分享,来欣赏一下吧。 switch的用法总结大全 switch的意思 n. 开关,转换,转换器,软鞭子,[信]接线台 vt. vi. 转变,改变,转换,关闭电流,鞭打 vt. 转换,挥动(棍棒、鞭子等),迅速转动,鞭打 vi. 交换,调换 变形:过去式: switched; 现在分词:switching; 过去分词:switched; switch用法 switch可以用作动词 switch用作名词时意思是“开关”“转换”,用作动词时意思是“拧开关”“转变”“转换”,指通过某种措施或办法使某事物改变或改换其原有的位置、名称或运行方式等,引申可表示“挥动某物打某人”“打开”。

switch可用作及物动词,也可用作不及物动词。用作及物动词时,接名词或代词作宾语,也可接以动词不定式充当补足语的复合宾语。 switch用作动词的用法例句 No, hold it a second, switch that to roast chicken.不,等一等,把那个换成烤子鸡。 Our glasses have been switched--this is mine.咱们的玻璃杯对调了--这个是我的。 Nobody wants to switch back to the old system.谁也不希望回复到旧制度。 switch用法例句 1、The spokesman implicitly condemned the United States policy switch. 发言人含蓄地谴责了美国政策上的转变。 2、Every time I switch on the TV, theres football. Its overkill. 我每次打开电视都是足球节目,真是受不了。 3、Prince Edward threw the switch to light the illuminations. 爱德华王子按动开关亮起彩灯。

编辑常用校对符号一览表

常用校对符号一览表 符号作用符号形态示例符号在文中和页边用法示例说明 改正的字符较多,圈起 来 有困难时,可用线在页 边 改正提高出版物质量画清改过的范围;必须更 换的损、坏、污字也用改 正符号画出 删除提高出版物质量 增补的字符较多,圈起 来 增补必须搞好校对工作有困难时,可用线在页边 画清增补的范围 换损坏字和模糊字要调换 16=4 改正H2SO 4 上下角尼古拉·费帝 0.25+0.25=0.5 转正你的做法真不对 对调认真总结经验用于相邻的字词,用于隔 开的字词 转移要重视校对工作,提高出版物质量接排要重视校对工作,提高出版物质量 另起段完成了任务。 明年......

上下移序 号名称数量 字符上移到缺口左右水 平 01 +++5 线处,字符下移到箭头 所 第1 页共4 页

符号作用符号形态示例符号在文中和页边用法示例说明 指的短线处 左右移要重视校对工作,提高出版物质量字符左移到箭头所指的短线处,字符左移到缺口上下垂直线处 排齐必须提高印刷质量,缩短印刷周 期 排阶梯型RH2 符号横线表示水平位置,竖线表示垂直位置,箭头表示上方 正图 加大一、校对程序 表示适当加大空距空距校对胶印读物,影印书刊的注意事项 减小一、校对程序表示适当减少空距,横式 空距校对胶印读物,影印书刊的注意事项文字画在字头和行头之间 空1 字距 空1/2 字距 第一章校对职责和方法多个空距相同的,可用引 空1/3 字距线连出,只标一个符号空1/4字距 分开Goodmorning 用于外文 除在原删除的字符下画保留认真搞好校对工作“△”外,并在原删除符 号上画两竖线 机器是由许多零件组成,有的零件是同页内,要改正许多相同代替铸出来的,有的零件是锻出来的,有的字符,用此代号,要在 的零件是... 页边注明:〇=零

switch语句的用法

Switch语句的一般形式为: Switch(表达式) { case 常量表达式1: 语句1;break; case 常量表达式2: 语句2; break; … case 常量表达式n: 语句n; break; default: 语句;break; } 意思是先输入表达式的值,再输出和case 后的常量表达式比较,若不在case的语句中,则执行default后的语句;若与某一个常量表达式相等,则从这个表达式后的语句开始执行,并执行该case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句后有break语句,其含义为结束当前循环,不再执行该循环体。 例题:从键盘中输入0~6,并输出星期几。 #include #include using namespace std; int main() { int day;

cin>>day; switch(day) { case 0: cout<<"Sunday"<

小学生常用修改符号使用方法及画法

常用修改符号使用方法及画法 1981年12月,我国发布了中华人民共和国专业校准GBI一81《校对符号及其用法》。该标准规定的符号共有22种,常用的有以上15种。 一、修改符号的作用 1.改正号:表明需要改正错误,把错误之处圈起来,再用引线引到空白处改正. 2.删除号:表示删除掉.文字少时加圈,文字多时可加框打叉. 3.增补号:表明增补.文字少时加圈,文字多时可用线画清增补的范围.. 4.对调号:表明调整或颠倒的字句位置,三曲线的中间部分不调整. 5.转移号:表明词语位置的转移,将要转移的部分圈起来,并画出引线指向转移部位. 6.接排号:表明两行文字之间应接排,不需另起一行. 7.另起号:表明要另起一段.需要另起一段的地方,用引线向左延伸到起段的位置. 8.移位号:表明移位的方向.用箭头或凸曲线表示,使用箭头,是表示移至箭头前直线位置;使用凸曲线,是表示把符号内的文字移至开口处两短直线的位置. 9.排齐号:表明应排列整齐.在行列中不齐的字句上下或左右画出直线. 10.保留号:表明改错或删错后需保留原状.在改错或删错处的上方或下方画出三角 符号,并在原删除符号上画两条短线. 11.加空号:表明在字与字或行与行之间加空.符号画在字与字之间的上方,行与行之间的左右处. 12.减空号:表明字与字,行与行之间减空.符号使用方法同上. 13.空字号:表明空一字距;表明空1/2字距;表明空1/3字距;表明空1/4字距. 14.角码号:用以改正上下角码的位置. 15.分开号:用以分开外文字母. 二、修改符号使用方法和画法 为进一步规范文字材料的修改使用统一符号,现将《文章修改符号使用方法》印发给你们,望遵照执行。 一、删除号 删除号是删去字、词、句的符号。第一个符合用于删去句、段;第二个用于删去数字、词或标点符号。 二、调位号 调位号是调整字、词、句次序的符号。第一个和第二个符号用于个别字或少数字的调位;第三个符号用于大段或隔行的调位,箭头插在移入位置。 三、增补号 增补号是增补字、词、句的符号,一般用在需要增补的字、词、句的上方。第一个符号用于增补个别字;第二个符号用于增补几个字;第三个符号用于增补较多的字数。 四、提行号 提行号是另起一段的符号。把原来一段的文字分成两段;在需要分段的地方标示,竖线画在起段后的位置上。

校对符号及其用法

校对符号及其用法示例

图书体例示例与说明 一、层次格式 说明:①居中题,指居中书写的标题;②边题,指左起空两格书写,独占一行的标题;③段首标题,指左起空两格书写,题末写句号,其后接写正文的标题;④全书和每章、节、小节中的层次可以跳跃,如“一”层次后可直接选用层次(1),而跳过“(一)”、“1.”层次。但层次不要细分太多,尽量不要到a.b.及以下的层次。 二、图和表的编排 1.图的编排 (1)插图需要标注图序、图名,如有分图,应标注分图序、分图名。图序按章排,例如,“图2-1”,表示第二章第一幅图;当一幅图有几个分图时,可按(a)、(b)、(c)……编分图序。 (2)图中文字、设备文字符号、物理量符号等称为图字,对这些符号、字母含义的说明称为图注,写在图名的下方。插图中汉字较多时,为使图面清晰,可用数字代替,然后在图注中按数字写明各字代表的含义。 (3)文中要有“****如图×-×所示。”的引文,引文中提得图名要和图下的图名一致,且引文出现在图的前面,即“先见文,后见图的原则”。

2.表的编排 (1)应有表序和表名。表序按章编排,例如,表2-1。文中应有“****见表×-×。”引文中提得表名要与表上的表名一致,先文后表。 (2)相邻栏内的数字或内容相同时,不能用“同上”、“同右”等文字,而应以通栏表示或逐栏重复写出,表格中某些栏为空栏时,可空缺或不填;若应有数字,而未收集到时,以“—”填入。 三、公式的写法 ΔW=ΔPt(2-3)式中ΔW——在一定时间内电能的损失,kWh; ΔP——功率损失,kW; t——计算时间,h。 公式前面的文字最后没有标点符号。公式中出现的符号,应在第一次出现时加以注释,就近再出现时,不宜重复注释,同一符号不宜表示多个物理量。 四、图形符号、文字符号、量和单位、名词术语

常用校对符号一览表

常用校对符号一览表 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

常用校对符号一览表

一、校对是保证期刊质量的重要环节,是对编辑工作的继续和补充。校对必须高度负责,认真细致,树立严谨周密, 一丝不苟的作风。 二、1.根据原稿,核对并清除校样上的差错。 三、2.改正在政治思想上和科学性上遗留的不准确的提法和词句。 四、3.清除语法修辞上遗留的差错和毛病。 五、4.清除错别字。 六、5.解决和消除任何疑点。 七、二、把握校对标准 八、1.编辑负责校对、印刷工作的组织和实施,及时送取稿件和校样,做好与印刷厂的业务联系。

九、2.校对以原稿为准,不得在校样上随意增补、删减,发现原稿错误及编辑处理的疏漏和失误做出标示,由编辑 对原稿、校样予以处理。若作者提出修改时,要尽量坚持不动版面、不动字数的原则,减少改版的麻烦。 十、3.准确使用校对符号,消灭错字,补齐遗漏,纠正版式错误,严格执行三校加点校制度,保证期刊质量。 十一、4.校对以对校、折校为主,根据实际情况,部分稿件由作者校对一次,校后由编辑对格式、质量复校一次。 十二、5.校对时要注意版面的规范、美观,排版的合理。校对差错率要保持在万分之二以下。 十三、 明确校对内容 1.检查多、漏、错文字及标点、符号错误;核对标题、署名,文中人名、地名、数字、公式。 2.检查版面、格式,图表位置及表题、图题,字体、字号、字距和行距。 3.检查标题位置、层次及转行,注释、参考文献及序号,核对中英文目录及页码与文章的一致。 4.检查目录及对应的页码、刊眉、页码顺序、版权,封面、封二、封三、封底的文字、刊号、年月期号。

c语言中switch的用法

c语言中switch的用法 c语言中switch的用法的用法如下:C语言还提供了另一种用于多分支选择的switch语句,其一般形式为:switch(表达式){case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;}其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。 如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。 【例4-9】01.#include 02.int main(void){03. int a;04. printf("input integer number: ");05. scanf("%d",&a);06. switch (a){07. case 1:printf("Monday\n");08. case 2:printf("Tuesday\n");09. case 3:printf("Wednesday\n");10. case 4:printf("Thursday\n");11. case 5:printf("Friday\n");12. case 6:printf("Saturday\n");13. case 7:printf("Sunday\n");14. default:printf("error\n"); 但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。 这当然是不希望的。 为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。 在switch语句中,“case 常量表达式只相当于一个语句标号,表

switch语句的用法

if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为: 引用 switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段: 引用 switch(grade) { case 'A': /*注意,这里是冒号:并不是分号;*/ printf("85-100\n");

break; /*每一个case语句后都要跟一个break用来退出switch 语句*/ case 'B': /*每一个case后的常量表达式必须是不同的值以保证 分支的唯一性*/ printf("70-84\n"); break; case 'C': printf("60-69\n"); break; case 'D': printf("<60\n"); break; default: printf("error!\n"); } (2) 如果在case后面包含多条执行语句时,也不需要像if语句那样加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句.如: 引用 { case 'A': if(grade<=100) printf("85-100\n"); else printf("error\n"); break; …… (3) default总是放在最后,这时default后不需要break语句.并且,default 部分也不是必须的,如果没有这一部分,当switch后面圆括号中表达式的值与所有case后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出switch语句.此时,switch语句相当于一个空语句.例如,将上面例子中switch 语句中的default部分去掉,则当输入的字符不是"A","B","C"或"D"时,此switch语句中的任何一条语句也不被执行. (4) 在switch-case语句中,多个case可以共用一条执行语句,如:

c语言switch的用法

c语言switch的用法 switch 是一个开关语句,和case配套使用,和if else 判断语句差不多,switch 语句是用于多分支语句进行条件判断下面小编就来为大家介绍一下c语言switch的用法。用于多分支选择的switch 语句,其一般形式为:switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; case 常量表达式n: 语句n; default: 语句n+1; } 其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。【例4-9】#include stdio.h int main(void){ int a; printf(input integer number: );scanf(%d,switch (a){case 1:printf(Monday\n);case 2:printf(Tuesday\n);case 3:printf(Wednesday\n); case 4:printf(Thursday\n); case 5:printf(Friday\n);case 6:printf(Saturday\n);case 7:printf(Sunday\n); default:printf(error\n); } return 0; } 本程序是要求输入一个数字,输出一个英文单词。但是当输入3之后,却执行了case3以及以后的所有语句,输出了Wednesday 及以后的所有单词。这当然是不希望的。为什么会出现这种情况呢?这恰恰反应了switch语句的一个特点。在switch语句

使用switch计算加减乘除

使用switch计算加减乘除(基于Eclipse开发) import java.util.Scanner; public class Switch { public static void main(String args[]) { System.out.println("请输入要计算的式子:"); Scanner sc=new Scanner(System.in); System.out.println("请输入第一个数:"); int a=sc.nextInt(); System.out.println("请输出运算符:"); String str=sc.next(); char ch=str.charAt(0); System.out.println("请输入第二个数:"); int b=sc.nextInt(); switch(ch) { case '+': System.out.println(a+"+"+b+"="+(a+b)); break; case '-': System.out.println(a+"-"+b+"="+(a-b)); break; case '*': System.out.println(a+"*"+b+"="+(a*b)); break; case '/': if(a!=0) { System.out.println(a+"/"+b+"="+(a/b)); } else { System.out.println("除数不可以为零!"); } break; default: System.out.println("输入的不合法!"); } } }

Switch_语句 使用方法

C 语言“switch 语句” 的使用技巧---- C 语言作为国际上流行的计 算机语言已经和正在被广大的计算机用户使用。凡是使用过的人都会有同样的感觉——C 语言的使用灵活这个特点既是优点又是缺点,因为对精通C 语言的用户来讲,灵活就意味着编程可以无拘无束,甚至随心所欲;但对初学者或者是尚未摸着规律的用户来说,有时候就会觉得C 程序设计有点象雾里看花,摸不着头脑。因为灵活就意味着没有一个标准。而实际上,C 语言和其它计算机语言一样,只要你真正掌握了该语言的每一个语句的特点,理解、运用就不难掌握了。下面就C 语言中switch 语句的使用特点谈谈自己的体会。 ---- switch 语句的格式如下: switch(表达式) {case 常量表达式1: 语句1 case 常量表达式2: 语句2 case 常量表达式3: 语句3 case 常量表达式n: 语句n default : 语句n+1 } ---- 从表面上看来,switch 语句与PASCAL 语言中的case 语句以及FOXBASE 中的do case 语句非常类似,只是关键字有所不同:一个是switch;而另一个是case 或do case。但如果仔细阅读过教材或有关参考书的话,就绝不会有此想法。从语句的功能上来看,PASCAL 和case 语句或FOXBASE 的do case 语句中的常量表达式是用来与case 后 面的表达式比较以确定执行哪一个语句,一旦执行了某一语句,则会自动地结束这一case 后的语句;而C 的switch 语句则不然。首先,switch 语句中的常量表达式只是起到一个入口作用,一旦执行了相应的语句后,只要没有强迫中断语句(break),它就会一直按顺序继续执行下去,也就是会执行其它case 后面的语句,直到遇到“}” 符号才停止。乍看觉得有点不可事议,但若仔细回味且切身编程体会,那么就会感司到C 的switch 语句的独到之处。接下来就几个具体例子来剖析:switch 语句的特点以及区别于其它语言中的相应语句的妙处。 ---- 第一个例子:根据输入的百分制成绩,然后给出‘A’ ~‘E’ 相应的等级符(90-100 为‘A’、80-89 为‘B’、70-79 为‘B’、60-69 为‘C’、0-59 为‘E’)。主要的处理程序段如下:(temp、score、grade 皆为整型变量) temp=score/10; switch(temp) {case 9:grade=‘A’; case 8:grade=‘B’;case 7:grade=‘C’; case 6:grade=‘D’; case 5:grade=‘E’; } printf(“the grade is %c”,grade); ---- 仔细阅读这段程序(根据C 语言的特点),就会发现有很多错误。首先,对100 分和低于50 分的情况没有考虑;其次,C 语言的switch 特点是顺序执行,那么这段程序不输入的分数如何,最后的输出都将是‘E’。因此,修改这段程序,可以得到一个正确答案是:temp=score/10; switch(temp) {case 10: case 9:grade=‘A’;break; case 8:grade=‘B’;break; case 7:grade=‘C’;break; case 6:grade=‘D’;break; case 5: case 4: case 3: case 2: case 1: case 0:grade=‘E’; } printf(“the grade is %c,grade”);

switch的用法和短语例句(最新)

【篇一】switch的用法 switch的用法1:switch用作名词时意思是“开关”“转换”,用作动词时意思是“拧开关”“转变”“转换”,指通过某种措施或办法使某事物改变或改换其原有的位置、名称或运行方式等,引申可表示“挥动某物打某人”“打开”。 switch的用法2:switch可用作及物动词,也可用作不及物动词。用作及物动词时,接名词或代词作宾语,也可接以动词不定式充当补足语的复合宾语。 switch的用法3:switch也可用作名词,意思是“开关”“改变,转变”。例如:Where is the light switch?电灯开关在哪儿?We had to make a switch in our arrangements.我们不得不对我们的安排做些变动。 【篇二】switch的常用短语 switch用作动词 (v.) switch back (v.+adv.) switch from (v.+prep.) switch off (v.+adv.) switch on (v.+adv.) switch out (v.+adv.) switch over (v.+adv.) switch round (v.+adv.) switch to (v.+prep.) 【篇三】switch的用法例句 1. The spokesman implicitly condemned the United States policy switch. 发言人含蓄地谴责了美国政策上的转变。 2. Every time I switch on the TV, there's football. It's overkill. 我每次打开电视都是足球节目,真是受不了。

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语句直接处理多个分支(当然包括两个分支).其一般形式为: 1switch(表达式) 2{ 3case 常量表达式1:

4语句1; 5break; 6case 常量表达式2: 7语句2; 8break; 9…… 10case 常量表达式n: 11语句n; 12break; 13default: 14语句n+1; 15break; 16} C++ switch-case语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default 后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句. 以上是switch-case的正规写法,default语句总是写在最后。但是,

switch-case语句用法

switch-case语句用法 2007-12-25 08:11 if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if 语句层就越多,程序不但庞大而且理解也比较困难.因此,C语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.使用switch语句直接处理多个分支(当然包括两个分支).其一般形式为: 引用 -------------------------------------------------------------------------------- switch(表达式) { case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } -------------------------------------------------------------------------------- switch语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.如下程序,可以根据输入的考试成绩的等级,输出百分制分数段: 引用 -------------------------------------------------------------------------------- switch(grade) { case 'A': /*注意,这里是冒号:并不是分号;*/

如何使用switch case语句switch case语句用法详解_华清远见

如何使用switch case语句?switch case语句用法详解 华清远见的java培训导师为大家分享:如何使用switch case语句,以及switch case语句用法详解。 首先在使用switch case之前,我们需要了解一些注意事项: switch(A),括号中A的取值只能是整型或者可以转换为整型的数值类型,比如byte、short、int、char、还有枚举;需要强调的是:long和String类型是不能作用在switch语句上的。 case B:C;case是常量表达式,也就是说B的取值只能是常量(需要定义一个final型的常量,后面会详细介绍原因)或者int、byte、short、char(比如1、2、3、200000000000(注意了这是整型)),如果你需要在此处写一个表达式或者变量,那么就要加上单引号; case后的语句可以不用大括号,就是C不需要用大括号包裹着; default就是如果没有符合的case就执行它,default并不是必须的. 现在我们开始了解switch case,一般形式: switch(表达式){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1; } 意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。 与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case 语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。 int a; printf("input integer number: ");

相关文档