选择结构小学练习(if语句和case语句)
05、if与switch选择结构
《JAVA程序设计基础》(选择结构)练习一、选择题1. 为一个boolean类型变量赋值时,可以使用()方式A. boolean a = 1;B. boolean a = (9>=10);C. boolean a = “真”;D. boolean a == false;2. java中关于if选择结构描述错误的是()A. If选择结构是根据条件判断之后再做处理的一种语法结构B. 关键字if后小括号里必须是一个条件表达式,表达式的值必须为布尔型C. If后小括号里表达式的值为false时,程序需要执行大括号里的语句D. If语句可以和else一起使用3. 编译运行如下java代码,输出结果是()public class Test{public static void main(String[] args){int num = 5;if(num<=5){num += 2;System.out.println(num);}System.out.println(num+5);}}A.10B.510C.712D.运行出错4.下面这段代码的输出为()int year = 2046;if(year%2==0){System.out.println(“进入了if”);}else{System.out.println(“进入了else”);}System.out.println(“退出”);A.进入了ifB.进入了elseC.进入了else退出D.进入了if退出5.有else if块的选择结构是( )A.基本if选择结构B.if-else选择结构C.多重if选择结构D.switch选择结构6.下列关于if 选择结构和 switch选择结构的说法正确的是()A.(if-else)选择结构中else语句是必须有的B.多重if选择结构中else语句可选C.嵌套if选择结构中不能包含else语句D.switch选择结构中default语句可选7.下面程序的运行结果是().public class Weather {public static void main(String[] args).{int shiDu=45;//湿度if(shiDu>=80){System.out.println("要下雨了");.}else if(shiDu>=50){System.out.println("天很阴");}else if(shiDu>=30){System.out.println("很舒适");}else if(shiDu>=0){System.out.println("很干燥");}}}A.要下雨了B.天很阴C.很舒适D.很干燥8.在JDK1.7中,下列有关switch选择结构的说法,正确的是( )A.switch选择结构可以完全替代多重 if 选择结构B.当条件判断为等值判断,并且判断的条件为字符串时,可以使用switch选择结构C.当条件判断为等值判断.并且判断的条件为字符时,可以使用 switch选择结构D.当条件判断为等值判断,并且判断的条件为整型变量时,可以使用switch 选择结构9.下面这段代码的运行结果为( )int day=3;switch(day){case 1:case 3:case 5:System.out.println("学钢琴!");break;case 2:System.out.println("学英语!");default:System.out.println("休息哦!");}A.学钢琴!B.学钢琴!学英语!休息哦!C.学钢琴!休息哦!D.没有任何输出二、简答题1.说明什么情况下可以使用 switch选择结构代替多重if 选择结构。
习题五(选择结构)
习题一、选择题1.在C语言中,紧跟在关键字if 后一对圆括号里的表达式()。
A.只能用逻辑表达式B.只能用关系表达式C.只能用逻辑表达式或关系表达式D.可以是任意表达式2.在嵌套使用if语句时,C语言规定else总是()。
A.和之前与其具有相同缩进位置的if配对B.和之前与其最近的if配对C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对3.若有条件表达式(exp)?a++: b--,则以下表达式中能完全等价于表达式(exp)的是()。
A. (exp= =0)B. (exp!=0)C. (exp= =1)D. (exp!=1)4.以下程序的输出是()。
main( ){ int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);}A. 3B. 2C. 1D. 05.若有表达式(w)?(-x):(++y),其中与w等价的表达式是()。
A.w==1B.w==0C.w!=1D.w!=06.C语言中的switch语句形式如下所示,关键字switch后一对圆括号中表达式exp的类型是()。
switch (exp){ case常量表达式1:语句1;…case常量表达式n:语句n;default:语句n+1;}A.只能是整型或字符型B.只能是int类型C.只能是字符型D.只能是整型或实型7.以下不正确的if语句形式是()。
A.if (x>y&&x!=y);B.if (x= =y) x+=y;C.if (x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);D. if (x<y) {x++;y++;}8.执行以下程序后的输出是()。
int i=-1;if(i<=0) printf(“****\n”)else printf(“%%%%\n”);A.****B.有语法错误,不能正确执行C.%%%%cD.%%%%9.下列叙述正确的是()。
选择结构case语句
例一: 输入年、月,输出该月的天数
讨论:每年的1、3、5、7、8、10、12月,每月有31天; 4、6、9、11月,每月有30天; 2月,若是闰年有29天,平年有28天。
闰年是指年份能被4整除,但不能被100整除,或者年份能被 400整除的年。 设:年year 月month 每月天数days
判断闰年表达式:
read(year,month); case month of
1,3,5,7,8,10,12:days:=31; 4,6,9,11:days:=30; 2:if (year mod 4=0) and (year mod 100<>0) or (year mod 400=0)
then days:=29 e9;,year,' month=',month,' days=',days) end.
2.计算days
根据month的值选择计算
1,3,5,7,8,10,12:days:=31
4,6,9,11:
days:=30
2:
if 闰年 then days:=29 else days:=28
3.输出year,month,days
例一:输入年、月,输出该月的天数
Program monthdays(input,output); var year,month,days:integer; begin
(year mod 4=0) and (year mod 100<>0) or (year mod 400=0)
例一:输入年、月,输出该月的天数
一级算法: 1.输入year,month 2.计算days 3.输出year,month,days
例一:输入年、月,输出该月的天数
选择结构练习题
选择结构练习题选择结构练习题(导练)一、基础训练题:1.当VB执行下面语句后,A的值为()A=1IF A>0 THEN A=A+1IF A>1 THEN A=0A 、2B 、1C 、0D 、32.下列语句中,用于选择结构的是()A、While…Wend语句B、If语句C、For…Next语句D、Select Case语句3. 在如下VB的If语句中,假设a=15:b=23: If a>b Then max=a Else max=b那么执行该程序段后max值为()A、15B、23C、0D、-14.以下是一段VisualBasic程序,它的基本结构属于…IF x>0 Then X=x+1 Else X=x-1 EndIf…()A、顺序结构B、选择结构C、循环结构D、树型结构5.当程序出现多分支选择时,用If语句比较繁琐,用Select Case 语句就方便多了。
()6.在VB中进行程序设计时,IF语句用于处理单分支及双分支型的选择结构,SelectCase 语句用于处理多分支选择结构。
()7.补充完善下列程序段计算旅客的行李费,收费标准为:20千克以下(包括20千克)不收费,超过20千克的部分每千克收20元。
X表示行李重量,Y表示行李费。
Dim X, YAs SingleX=InputBox("输入行李重量")If ________ ThenY=0ElseY=20*(X-20)End IfPrint "行李费= ";Y二、考题训练(能力提升训练)1、[ 单选题1 分]在VisualBasic中,将多个语句合并在一行上的并行符是()A、撇号(’)B、冒号(:)C、大于号(>)D、感叹号(!)2、[ 多选题2 分]程序的三种基本结构是( )A、顺序结构B、循环结构C、选择结构D、树型结构3、[ 单选题1 分]税务部门征收个人所以税,以2000元为起征点,规定如下:①不超过500元的,税率为5%;②超过500至2000,税率为10﹪;③超过2000至5000,税率为15﹪;……该题设计程序结构时最适合使用的控制结构是()。
列举几个C语言常用的选择结构语句
以下是几个常用的选择结构语句:1、if语句:if语句用于根据条件是否为真来执行不同的代码块。
它可以与可选的else或else if语句一起使用来实现多个条件的判断。
if (condition) {// 如果条件为真,执行这里的代码} else {// 如果条件为假,执行这里的代码}switch语句:switch语句用于在多个可能的选项之间进行选择。
它根据表达式的值来匹配不同的case标签,执行相应的代码块。
2、switch (expression) {case value1:// 执行代码块1break;case value2:// 执行代码块2break;// 其他case标签default:// 如果没有匹配的值,执行这里的代码}3、三元运算符:三元运算符是一种紧凑的选择结构,它允许根据条件的真假选择不同的值。
result = (condition) ? value_if_true : value_if_false;这些是C语言中常用的选择结构语句。
它们允许程序根据条件来做出决策,并执行相应的代码块或选择不同的值。
这在编写控制流程和逻辑的程序时非常有用。
4、if-else if-else语句:if语句可以与多个else if子句一起使用,用于处理多个条件。
if (condition1) {// 如果条件1为真,执行这里的代码} else if (condition2) {// 如果条件2为真,执行这里的代码} else {// 如果以上条件都为假,执行这里的代码}5、嵌套if语句:你可以在一个if语句内部嵌套另一个if语句,以处理更复杂的条件。
if (condition1) {if (condition2) {// 如果条件1和条件2都为真,执行这里的代码}}6、条件运算符:条件运算符(也称为三元运算符)可以用来实现简单的条件选择。
result = (condition) ? value_if_true : value_if_false;7、逻辑操作符:逻辑操作符(如&&和||)允许你在条件语句中组合多个条件,以实现更复杂的选择。
小学生句式练习题
小学生句式练习题### 句式练习题1. 选择句式:小明喜欢吃水果,他会选择吃苹果还是香蕉?- 小明喜欢吃苹果,因为他觉得苹果又甜又脆。
- 小明更喜欢吃香蕉,因为香蕉软软的,吃起来很方便。
2. 条件句式:如果明天天气晴朗,我们会去公园放风筝。
- 明天如果下雨,我们就会在家里玩拼图。
3. 假设句式:假如我有一双翅膀,我会飞到天空中去。
- 如果我有一台时光机,我会回到过去看看恐龙。
4. 因果句式:因为今天作业很多,所以小明没有时间玩游戏。
- 由于昨天晚上没有睡好,小明今天上课打瞌睡。
5. 并列句式:小华喜欢画画和唱歌,他经常在课余时间练习。
- 小红既喜欢跳舞,也喜欢游泳,她每个周末都会去舞蹈班和游泳池。
6. 转折句式:虽然小明数学成绩很好,但他更喜欢语文课。
- 尽管今天天气很冷,但是小华还是决定去户外跑步。
7. 递进句式:小丽不仅学习好,而且乐于助人。
- 小华不仅完成了作业,还帮助妈妈做家务。
8. 疑问句式:你今天为什么没有来学校?- 这本书是谁的?我好像没有见过。
9. 感叹句式:多么美丽的彩虹啊!- 哇,这个蛋糕看起来真好吃!10. 祈使句式:请把窗户关上,外面风很大。
- 不要忘了带雨伞,天气预报说今天有雨。
11. 虚拟语气句式:如果我是你,我会选择那个红色的气球。
- 如果我有更多的时间,我会去图书馆看书。
12. 被动句式:这个礼物被小明送给了小红。
- 那本书被老师推荐给了全班同学。
通过这些练习,小学生可以更好地理解和掌握不同类型的句式结构,提高语言表达能力。
if选择语句练习题
if选择语句练习题if选择语句是编程中常用的控制结构之一,它可以根据某个条件的真假来决定程序执行的路径。
通过练习if选择语句的使用,我们能够加深对条件判断和流程控制的理解,提升编程能力。
下面是一些if选择语句的练习题,帮助大家巩固所学知识。
练习一:判断成绩等级根据学生的成绩,判断其等级,并输出相应的提示。
具体要求如下:1. 成绩等级为"A"时,输出"优秀"。
2. 成绩等级为"B"时,输出"良好"。
3. 成绩等级为"C"时,输出"及格"。
4. 成绩等级为"D"时,输出"不及格"。
5. 对于其他成绩,输出"成绩输入错误"。
练习二:判断奇偶数判断一个整数是否为奇数或偶数,并输出相应的结果。
具体要求如下:1. 判断整数是否为奇数,若是,输出"奇数";若不是,继续判断。
2. 判断整数是否为偶数,若是,输出"偶数";若不是,输出"无效输入"。
练习三:判断闰年判断一个年份是否为闰年,并输出相应的结果。
具体要求如下:1. 输入一个年份,判断是否为4的倍数,若是,继续判断。
2. 判断是否为100的倍数,若是,继续判断。
3. 判断是否为400的倍数,若是,输出"闰年";若不是,输出"不是闰年"。
练习四:计算面积根据用户输入的图形类型,计算相应图形的面积,并输出结果。
具体要求如下:1. 输入图形类型,如"圆形"、"矩形"等。
2. 若输入为"圆形",则继续输入圆的半径,计算圆的面积。
3. 若输入为"矩形",则继续输入矩形的长和宽,计算矩形的面积。
4. 若输入为其他图形类型,输出"无效输入"。
选择结构程序设计典型例题
选择结构,用if语句实现的
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
}
13
例3 输入3个数a,b,c,要求按由小到 大的顺序输出。
14
解题思路:可以先用伪代码写出算法:
if a>b,a和b对换 if a>c,a和c对换 if b>c,b和c对换 顺序输出a,b,c (a是a、b中的小者) (a是三者中最小者) (b是三者中次小者)
18
例4 写一程序,判断某一年是否闰年。
解题思路:在前面已介绍过判别闰年的方 法 本例用不同的方法编写程序
19
例4 写一程序,判断某一年是否 闰年。
设:leap代表闰年信息,leap=1闰年,leap=0 非闰年
不能被4整除
非润年
被100整除,又能 被400整除 润年 其他,非闰年 被4整除,但不能 被100整除
(教材P85例4.14)
2
求 ax2+bx+c=0 方程的解首先要注意的问题:
1、a=0 ,方程不是二次方程 2、b2-4ac=0, 有两个相等的实根 3、b2-4ac>0, 有两个不相等的实根 特殊条件的处理
4、b2-4ac<0, 有两个共轭复根
5、如何判断实数为零(或大于零,或小于零)
3
解题思路:
6
例2 输入两个实数,按代数值由小到大 的顺序输出这两个数。
7
解题思路:
只需要做一次比较,然后进行一次交换即可 用if语句实现条件判断 关键是怎样实现两个变量值的互换
互换前 互换后
A A
★
●
●B
★B
8
C
if条件句练习题
if条件句练习题If条件句练习题If条件句是英语语法中的一个重要部分,它用于表达假设、条件和可能性。
在日常生活和工作中,我们经常会遇到各种各样的情况,需要使用if条件句来表达自己的意思。
下面是一些if条件句的练习题,帮助我们更好地理解和运用这一语法结构。
1. 如果明天下雨,我会带伞去上班。
2. 如果我有足够的时间,我会去旅行。
3. 如果你不小心摔倒了,我会立刻帮助你。
4. 如果你不喜欢这本书,我可以给你推荐其他的。
5. 如果他来参加派对,我会感到非常高兴。
6. 如果我有机会学习海外,我会选择去英国。
7. 如果你早点告诉我,我会帮你解决这个问题。
8. 如果你想要成功,你必须付出努力。
9. 如果我有钱,我会买一辆豪车。
10. 如果我是你,我会尽快处理这个事情。
这些练习题涵盖了不同的情境和语法结构,下面我将对每个句子进行解析和说明。
1. 如果明天下雨,我会带伞去上班。
这是一个表示将来可能发生的情况的条件句。
如果明天下雨,那么我会带伞去上班。
这个句子中的if条件句使用的是一般现在时,表示可能性。
2. 如果我有足够的时间,我会去旅行。
这是一个表示假设情况的条件句。
如果我有足够的时间,那么我会去旅行。
这个句子中的if条件句使用的是一般现在时,表示假设和可能性。
3. 如果你不小心摔倒了,我会立刻帮助你。
这是一个表示将来可能发生的情况的条件句。
如果你不小心摔倒了,那么我会立刻帮助你。
这个句子中的if条件句使用的是一般现在时,表示可能性。
4. 如果你不喜欢这本书,我可以给你推荐其他的。
这是一个表示假设情况的条件句。
如果你不喜欢这本书,那么我可以给你推荐其他的。
这个句子中的if条件句使用的是一般现在时,表示假设和可能性。
5. 如果他来参加派对,我会感到非常高兴。
这是一个表示将来可能发生的情况的条件句。
如果他来参加派对,那么我会感到非常高兴。
这个句子中的if条件句使用的是一般现在时,表示可能性。
6. 如果我有机会学习海外,我会选择去英国。
c语言选择结构练习题
C语言选择结构练习题一、单选题A. ifB. switchC. forD. while2. 当表达式 (a > b) 为真时,下列哪个表达式的值为假?A. !(a <= b)B. (a == b)C. (a >= b)D. (a != b)A. ifelseB. switchcaseC. whileD. dowhile4. 当if语句的条件为真时,下列哪个选项的语句不会执行?A. if语句内的语句B. else语句内的语句C. if语句和else语句内的语句D. 与if语句平级的下一个语句二、多选题A. ifB. else ifC. switchD. forA. if和else语句块只能包含一条语句B. if和else语句块可以包含多条语句,但需要用大括号括起来C. if语句块后面可以不跟else语句块D. else语句块后面可以继续跟if语句块A. 没有与case匹配的值B. case后面的值与switch表达式匹配C. switch表达式为空D. default分支位于所有case分支之前三、填空题1. 在C语言中,______ 关键字用于实现选择结构。
2. 当if语句的条件为真时,执行______ 语句块;当条件为假时,执行______ 语句块。
3. 在switch语句中,每个case分支后面需要使用______ 语句来跳出switch结构。
四、编程题1. 编写一个C程序,输入一个整数,判断它是正数、负数还是零,并输出相应的结果。
2. 编写一个C程序,输入三个整数,找出其中的最大值并输出。
3. 编写一个C程序,根据用户输入的成绩(0100),输出相应的等级(A、B、C、D、E)。
4. 编写一个C程序,输入一个年份,判断它是否为闰年,并输出结果。
5. 编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。
用户输入两个整数和一个运算符,程序输出运算结果。
课堂习题-选择控制结构
第五章选择控制结构1.学会正确使用关系与逻辑运算,熟练构建关系与逻辑表达式。
2.练习并熟练掌握if、switch语句使用,实现二路与多路选择结构。
3.掌握if、switch语句嵌套使用。
习题一大小写转换【目的】熟悉关系与逻辑运算,了解if-else的顺序与嵌套层次关系。
【内容】下面程序希望完成大小写字母转换功能。
若输入一个大写字母,则转化为小写输出;若输入小写字母则转化为大写输出;对其他字母则原样不变输出。
运行程序,分别输入一次大写、一次小写字母、一次‘#’进行验证。
如果程序有错,请改正。
#include<stdio.h>void main(){char ch;ch=getchar();if('a'<=ch<='z') ch-=32;if('A'<=ch<='Z') ch+=32;putchar(ch);putchar('\n');}#include<stdio.h>void main(){char ch;ch=getchar();if('a'<=ch&&ch<='z'){ch=ch-32;}else{if('A'<=ch&&ch<='Z'){ch=ch+32;}}putchar(ch);putchar('\n');}习题二成绩转换【目的】学习if~else、switch语句的嵌套使用。
【内容】【提示】本程序需要从键盘接收两个字符,先判断第一个字符,再判断第二个字符以确定其对应的百分制数。
例如:输入4+,第一个字符等于'4',则应再判断第二个字符,如果是'+'则输出80,如果是回车符则输出75,如果是'-'则输出70。
C语言学习-选择结构if语句、switch语句
C语⾔学习-选择结构if语句、switch语句今天主要学习了,if语⾔和switch语句,下⾯直接进⼊正题。
C语⾔为我们提供了3种流程控制结构,分别为:顺序结构,选择结构,循环结构。
顺序结构:默认的流程结构。
按照书写顺序执⾏每⼀条语句。
选择结构:对给定的条件进⾏判断,根据不同的结果执⾏不同的代码断。
循环结构:对给定条件成⽴的情况下,反复执⾏某⼀代码断。
3种流程图如下:⼀、顺序结构1int main(){23 printf("hello world!\n");45 printf("I like iOS!\n");67return0;89 }以上程序的运⾏结果如下:⼆、选择结构C语⾔中选择结构的实现⽅式有两种:if语句和switch语句。
先来看下if语句的使⽤,⽽if语句的形式是有好多种的。
先来看看if语句最简单的形式if ( 条件 ){语句1;语句2;....}如果if右边⼩括号()中的条件成⽴,也就是为“真”时,就会执⾏第2~6⾏⼤括号{}中的语句;如果条件为假,就不执⾏⼤括号{}中的语句。
这⾥的if是关键字。
例如:1int main(){23int a = 7;45if ( a ){6 printf("条件a成⽴\n");7 printf("a的值为真");8 }910 }C语⾔规定所有⾮0值都为“真”,⽽a的值是7,因此第3⾏的条件是成⽴的,接着就会执⾏第5、6⾏代码。
输出结果如下:条件a成⽴a的值为真如果将a的值改为0,那么第3⾏的条件就不成⽴,就不会执⾏第5、6⾏代码语句嵌套if1int main(){23int a = 7;45if ( a > 0 ){67 printf("a的值⼤于0\n");89if ( a<9 ){1011 printf("a的值⼩于9");12 }13 }14 }第3⾏的a>0是成⽴的,因此会按顺序执⾏第4~11⼤括号中的代码。
选择结构——case语句
begin
read(year,month); case month of
1,3,5,7,8,10,12:days:=31;
4,6,9,11:days:=30; 2:if (year mod 4=0) and (year mod 100<>0) or (year mod 400=0) then days:=29 else days:=28 end;
writeln('year=',year,'
end.
month=',month,'
days=',days)
Pascal暑假微课系列
第04课
选择结构——case语句
分情况case语句
在同时出现多个条件时,根据情况从中选 择其一运行的语句。
格式1:
case 表达式 of 常数表1:语句1; 常数表2:语句2; …… 常数表n:语句n; end;
格式2: case 表达式 of 常数表1:语句1; 常数表2:语句2; …… 常数表n:语句n; else 语句n+1 end;
(year mod 4=0) and (year mod 100<>0) or (year mod 400=0)
例一:输入年、月,输出该月的天数
一级算法: 1.输入year,month 2.计算days 3.输出year,month,days
例一:输入年、月,输出该月的天数
二级求精: 1.输入year,month 2.计算days
根据month的值选择计算
1,3,5,7,8,10,12:days:=31 4,6,9,11: 2: days:=30 if 闰年 then days:=29 else days:=28
选择结构——case语句
第04课
选择结构——case语句
分情况case语句
在同时出现多个条件时,根据情况从中选 择其一运行的语句。
格式1:
case 表达式 of 常数表1:语句1; 常数表2:语句2; …… 常数ase 表达式 of 常数表1:语句1; 常数表2:语句2; …… 常数表n:语句n; else 语句n+1 end;
例一: 输入年、月,输出该月的天数
闰年是指年份能被4整除,但不能被100整除,或者年份能被 400整除的年。 设:年year 月month 每月天数days
判断闰年表达式:
(year mod 4=0) and (year mod 100<>0) or (year mod 400=0)
例一:输入年、月,输出该月的天数
一级算法: 1.输入year,month 2.计算days 3.输出year,month,days
例一:输入年、月,输出该月的天数
例一:输入年、月,输出该月的天数
选择结构习题一
第五章if语句练习题1..已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是____ ____ _if(x>y)z=x;x=y;y=z;2.以下if语句语法正确的是________A.if(x>0)printf(“%f”,x)else printf(“%f”,-x);B.if(x>0){x=x+y;printf(“%f’,x);}else printf(“%f”,-x);C.if(x>0){x=x+y;printf(“%f”,x);}else printf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f,x);}else printf(“%f”,-x);3.请阅读以下程序:main( ){int a=5,b=0,c=0;if(a=b+c)printf(“* * *\n”);elseprintf(“$ $ $\n”);}以上程序______A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出* * *D.输出$ $ $4.以下程序的运行结果是______main( ){int m=5;if(m++>5)printf(“%d\n”,m);else printf(“%d\n”,m--);}A. 4B. 5C. 6D. 75.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是______if(a<b)if(c<d) x=1;elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A. 1B. 2C. 3D. 66.有一个函数关系见下表:下面程序段中能正确表示上面关系的是( )A. y=x+1;if(x>=0)if(x==0)y=x;else y=x-1;B. y=x-1;if(x!=0)if(x>0)y=x+1;else y=x;C. if(x<=0)if(x<0)y=x-1;else y=x;else y=x+1;D.y=x;if(x<=0)if(x<0)y=x-1;else y=x+1;7.以下程序的输出结果是______main( ){int a=100,x=10,y=20,okl=5,ok2=0;if(x<y)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(“%d\n”,a);}A.1B.0C.-1D.值不确定8.以下程序输出结果是_______main( ){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);A.3B.2C.1D.09.以下不正确的语句为______A.if(x>y);B.if(x=y)&&(x! =0) x+=y;C,if(x! =y)scanf(“%d”,&x);else scanf(“%d”,&y);D.if(x<y){x++;y++;}10.阅读以下程序#include<stdio.h>main( ){float a, b;scanf(“%f”,&a);if(a<0.0)b=0.0;else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);else if(a<10.0)b=1.0/a;else b=10.0;printf(“%f\n”,b);}若运行时输入 2.0<回车>,则上面程序的输出结果是_____A.0.000000B.0.500000C.1.000000D.0.25000011.若运行时输入:16<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){int year;printf(“Input you year:”);scanf(“%d”,&year);if(year>=18)printf(“you$4.5yuan/xiaoshi”);else printf(“your$3.0yuan/xiaoshi”);} 12.若运行时输入:2<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ){char class;scanf(“%c”,&class);if(class==’1’)printf(“1st class postage is 19p”);elseprintf(“2nd class postage is 14p”);} 13.若运行时输入:4.4<回车>,则以下程序的运行结果是( )#include<stdio.h>main( ) {float costprice,sellingprice;printf(“enter cost price $:”);scanf(“%f”,&costprice);if(costprice>=5){sellingprice=costprice+costprice*0.25;printf(“sellingprice(0.25)$%6.2f”,sellingprice);}else{sellingprice=costprice+costprice*0.30;printf(“sellingprice(0.30)$%6.2f”,sellingprice);}}14.以下程序的运行结果是( )main( ){ if(2*2= =5<2*2= =4) printf(“T”);else printf(“F”);}15.请阅读以下程序:main( ){int t,h,m;scanf(“%d”,&t);h=(t/100)%12;if(h= =0)h=12;printf(“%d:”,h);m=t%100;if(m<10)printf(“0”);printf(“%d”,m);if(t<1200||t= =2400)printf(“AM”);else printf(“PM”);}若运行时输入:1605<回车>时,程序的运行结果是( )16.以下程序实现:输入圆的半径r和运行标志m,按照运行标志进行指定计算.请在( )内填入正确的内容.标志运算a 面积c 周长b 二者均计算#define pi 3.14159main( ){char m;float r,c,a;printf(“input mark a c or b&&r\n”);scanf(“%c%f”,&m,&r);if( ){a=pi*r*r;printf(“area is %f”,a);}if( ){c=2*pi*r;printf(“circle is %f”,c);}if( ){a=pi*r*r;c=2*pi*r;printf(“area&&circleare%f%f”,a,c);}}17.若运行时输入:5999<回车>,则以下程序的运行结果(保留小数后一位)是( )main( ){int x;float y;scanf(“%d”,&x);if(x>=0&&x<=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&x<=10000)y=54+0.3*x;printf(“%6.1f”,y);}18.以下程序实现输出x,y,z三个数中的最大者.请在( )添入正确内容.main( ){int x=4,y=6,z=7;int ( )if( )u=x;else u=y;if( )v=u;else v=z;printf(“v=%d”,v);}19.以下程序实现:输入三个整数,按从大到小的顺序进行输出.请在( )内填入正确内容main( ){int x,y,z,c;scanf(“%d%d%d”,&x,&y,&z);if( ){c=y;y=z;z=c;}if( ){c=x;x=z;z=c;}if( ){c=x;x=y;y=c;}printf(“%d,%d,%d”,x,y,z);}20.以下程序对输入的两个整数,按从大到小顺序输出.请在( )内填正确内容.main ( ){int x,y,z;scanf(“%d,%d,”,&x,&y);if( ){z=x; }printf(“%d,%d”,x,y);}21.以下程序对输入的一个小写字母,将字母循环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在( )填入正确内容#include “stdio.h”main( ){char c;c= ;if(c>=’a’&&c<=’u’)else if(c>=’v’&&c<=’z’) putchar(c);}22.输入一个字符,如果它是一个大写字母,则把它变成小写,如果是小写,则变成大写,其他字符不变,请在( )填正确内容main ( ){char ch;scanf(“%c”,&ch);if( )ch=ch+32;else if(ch>=’a’&&ch<=’z’)printf(“%c”,ch);}23.以下程序的运行结果是( )main( ){int a,b,c;int s,w,t;s=w=t=0;a=-1,b=3,c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}else if(c>0)w=a-b;else t=c;printf(“%d%d%d”,s,w,t);}24.以下程序的运行结果是( )main( ){int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(! b)if(! c)x=15;else x=25;printf(“%d\n”,d);}25.以下程序的运行结果是( )#include<stdio.h>main( ){int x,y=1,z;if(y!=0)x=5;printf(“\t%d\n”,x);if(y= =0)x=4;else x=5;printf(“\t%d\n”,x);x=1;if(y<0)if(y>0)x=4;else x=5;printf(“\t%d\n”,x);}26.以下程序的运行结果是( )#include<stdio.h>main( ){int x,y=-2,z=0;if((z=y)<0)x=4;else if(y= =0)x=5;else x=6;printf(“\t%d\t%d\n”,x,z);if(z=(y= =0))x=5;x=4;printf(“\t%d\t%d\n”,x,z);if(x=z=y)x=4;printf(“\t%d\t%d\n”,x,z);}27.阅读下面程序:main ( ){int s,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;else if(a= =b)t=5;else t=2*s;printf(“s=%d,t=%d”,s,t);}为使输出结果t=4,输入量a和b应满足的条件是( )28.请阅读下面程序:main( ){int s ,t,a,b;scanf(“%d,%d”,&a,&b);s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t; else if(a= =b)t=5; else t=2*s;printf(“s=%d,t=%d ”,s,t);}为使输出结果s=1,t=5,输入量a 和b 应满足条件是( )29. 下面程序根据以下函数关系,对输入的每个x 值,计算出y 值,在( )填正确内容main( ) {int x,y; scanf(“%d,&x); if(1)y=x*(x+2); else if(2)y=2*x; else if(x<=-1)y=x-1; else ; if(y!=-1)printf(“%d ”,y); else printf(“error ”);}30. 下面程序根据以下函数关系,对输入的每个x 值,计算出相应的y 值.在( ) 填正确内容#include “math.h ” main( ) {int x,a; float y;scanf(“%d%d ”,&x,&a); if( )y=0; elseif( )y=sqrt(a*a-x*x); else y=x; printf(“%f ”,y);}31. 以下程序的功能是计算一元二次方程ax 2+bx+c=0的根,在( )填正确内容 #include “math.h ” main( ){float a,b,c,t,disc,twoa,term1,term2; printf(“enter a,b,c:”); scanf(“%f%f%f ”,&a,&b,&c); if( ) if( )printf(“no answer due to input error\n ”); elseprintf(“thesinglerootis%f\n ”,-c/b); else{disc=b*b-4*a*c; twoa=2*a;terml=-b/twoa; t=abs(disc); term2=sqrt(t)/twoa; if(3)printf(“complex root\n real part=%fimag part=%f\n ”, terml,term2); elseprintf(“realroots\nrootl=%froot2=%f\n ”,terml+term2,term1-te rm2);}}32. 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在( )填正确内容. #include “math.h ” main( ) {float a,b,c; float s,area;scanf(“%f %f %f ”,&a,&b,&c); if( ) {s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f ”,area); if( ) printf(“等边三角形”); else if( ) printf(“等腰三角形”);else if((a*a+b*b= =c*c)| |(a*a+c*c= =b*b)||(b*b+c*c= =a*a) ) printf(“直角三角形”); else printf(“一般三角形”);} else printf(“不能组成三角形”);} 33. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei 计算的资料:重量(千克) 收费标准(元/公斤) wei<=10 0.80 10<wei<=20 0.75 20<wei<=30 0.70 请在程序的[ ]内填入正确的内容. main( ){float len,wei,hei,wid,mon,r;scanf(“%f %f %f %f ”,&len,&wid,&hei,&wei );if(len>1| |wid>1| |hei>1| |wei>30); else if(wei<10) r=0.8; else if(wei<=20) r=0.75; else if(wei<=30);if(r= =-1)printf(“error\n ”):else{ ;printf(“%f”,mon);} }34.以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容.main( ){int y,f;scanf(“%d”,&y);if(y%400= =0) f=1;else if( ) f=1;else ;if(f)printf(“%d is”,y);else printf(“%d is not”,y);printf(“a leap year\n”);} 35.有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容main( ){int a,b,c,d,t;scanf(“%d %d %d %d”,&a,&b,&c,&d);if(a<b){t=a;a=b;b=t;}if ( ){t=c;c=d;d=t;}if(a<c){t=a;a=c;c=t;}if( ){t=b;b=c;c=t;}if(b<d){t=b;b=d;d=t;}if(c<d){t=c;c=d;d=t;}printf(“%d %d %d %d\n”,a,b,c,d);} 36.以下程序的运行结果是__main( ){int a=2,b=3,c;c=a;if(a>b)c=1;else if(a= =b)c=0;else c=-1;printf(“%d\n”,c);}37.在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______。
case语句-if语句
case语句。
属于顺序语句,处理多分支的情况。
语法结构;
case表达式is
when 选择值1 => 顺序语句1;
when选择值2=> 顺序语句2;
……………….
when others => 顺序处理语句n;
end case;
这个case语句类似于C里的switch。
有几点要注意:
(1)选择值不能有交集,即每个选择值必须不同。
(2)选择值必须包含该表达式所以的可能值,若不能一一例举全,就必须用关键词others来涵盖其他所有的情况
(3)case中的各个分支是并行的,即优先级是一样的,这点是与IF构成的选择器的不同点。
一下我们解析一个实例来对比加深印象:
用IF语句构成的选择器源码:
20~28:IF..ELSEIF..ELSE结构。
这里的每个条件后的执行是有优先级的。
先执行第20句a=”00”,如满足就执行21句,然后跳出IF结构,否则才往下判断第22句,如满足就执行第23句,然后跳出IF结构,否则再往下运行,如此运行。
所以第20句a=”00’的执行优先级是最高的,肯定是它先做判断后其它的语句才有条件执行,即排列越前的语句,优先级越高。
而case中的各个条件,无优先级,它们是一起运行的。
这也反证了为什么其选择值不能重复。
因为若重复的话,同
一个时刻就会有两个选择值满足条件,那么这个时刻到底执行那一条语句就出现冲突了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构的程序设计练习(if语句和case语句)第一部分:1.以下运算符优先级最高的是( ) 。
A. <=B. ORC. +D. DIV2.下列语法正确的关系表达式是 ( ) 。
A. 1<x<20B. ‟243‟>200C. 11.37>=12D. a<5 AND b>=03.设A1=ture,A2=False,A3=True表达式A1 OR A2 ANDA3的值为()。
A、FALSEB、TRUEC、0D、14.已知a , b ,c都是布尔变量,它们的值分别是Flase 、True、True,,计算下面各表达式的值,正确的一组是( )①NOT a OR NOT b ②b AND c OR a③NOT( b AND c) AND a OR c ④ b OR NOT c AND True AND NOT aA) ①True ②True ③True ④True B)①True ②True ③False ④FalseC) ①True ②False ③True ④False D)①False ②False ③True ④True五、判断一个整数是两位数并且能被5整除的正确的表达式是:()A:(X>10) AND (x MOD 5)B:(10<=x) AND (x<100) OR (x MOD 5=0)C:(10<=x<100) AND (x DIV 5)D:(x>=10) AND (x<100) AND (x MOD 5=0)六、写出判断下列条件的条件表达式。
1.i是j的整数倍的布尔表达式.2.m是偶数的布尔表达式是.3.y在5至10之间的布尔表达式.4.x在20~40或60~100之间5.写出一个数a既能被3整除又能被5整除的表达式.6.y是闰年的布尔表达式是.(年号能被4整除,并且不能被100整除,但可以被400整除的年份为闰年)7.m,n都是偶数或都是奇数8. a不等于0且b不等于0的布尔表达式第二部分:1.下列程序运行后,变量value的值为()x:=20;if x>=10 then value:=5*x else value:=4*x;(A) 100 (B) 80 (C) 90 (D) 702.下列程序运行后,变量max的值为()a:=5;b:=10;max:=a;if b>max then max:=b(A) 5 (B) 10 (C) 5和10 (D) 以上都不是3.下列程序段运行后,变量a,b的值为()a:=3;b:=4;if a>b then begin t:=a; a:=b; b:=t; end(A) 3, 4 (B) 4, 3 (C) 3, 3 (D) 4, 44.下列程序段运行后,下面运行的结果是()。
A:=1; B:=2.0; c:=3;If A>B then writeln(A) else C:=B-A;Writeln(C);(A) 3.0 (B) 2.0 (C) 1.0 (D) –1.0 5.分析下面程序段,执行后所得到的输出是()。
X:=2; Y:=6;IF X>3 THENY:=2*X;Y:=3*Y;Write(Y);(A) 6 (B) 12 (C) 18 (D) 24当 X:=4; Y:=6; 时 ( )(A) 6 (B)12 (C) 18 (D) 246.当X在5<X<=21或60<=X AND x <80范围内时Y为True,否则Y为False的表达式是()。
A.If (x>5) And (x<=21) and (x>=60) And (x<80) Then Y:=True Else Y:=False;B. If (x>5) Or (x<=21) or (x>=60) Or (x<80) Then Y:=True Else Y:=False;C. If (x>5) And (x<=21) or (x>=60) And (x<80) Then Y:=True Else Y:=False;D. If x>5 And x<=21 or x>=60 And x<80 Then Y:=True Else Y:=False;7.实型变量a,b中放有两门课的成绩,如果都及格(成绩>=60)则显示“pass”,如果a成绩不及格,则显示“fail”,如果a及格b不及格则不做任何处理,有待补考,下列程序可实现上述要求的是()。
A. If a>=60 ThenB. If a<60 ThenIf b>=60 Then Writeln(…Fail‟)Writeln(…Pass‟)ElseElse If b>=60 ThenWriteln(…Fail‟) Writeln(…Pass‟)C If (a>=60) And (b>=60) ThenD If b>=60 ThenWriteln(…Pass‟)If a>=60 Then W riteln(…Pass‟) Else If b<60 Then Else If b>=60 Then Writeln(…Fail‟); Writeln(…Fail‟) 8.分析下面程序段,执行后所得到的输出是()y:=0;if x<10 then y:=10else if x<100 then y:=100else y:=200;writeln(y);试指出:当x:=80时,运行的结果是(),x:=8时结果为(),x:=100时结果为()(A) 0 (B) 10 (C) 100 (D) 2009.当同时满足a1<a2且a3>a4条件时,把y赋值给x,当a1>=a2时把n赋值给m的程序段应该是:10.已知A=1,B:=6,C=7下面程序输出的结果是。
PROGRAM RE (INPUT,OUTPUT);V AR A,B,C,L:REALBEGINReadln(A,B,C);IF (A+B)>C THENIF (A+C)>B THENIF (B+C)>A THENBEGINL:=(A+B+C)/2Writeln(L);ENDELSEWriteln (…B+C<=A‟);ELSEWriteln(…A+C<=B‟);ELSEWriteln(…A+B<=C‟);END.11、已知有说明V ar x:Real;下列程序段中错误的是( ) 。
Case x<=2.0 of0:x:=0;1:x:=1;end;A. 情况表达式中有常数B. 情况常量与情况表达式类型不一致C.情况表达式为关系D. 赋值语句两边类型不一致12设K为整型变量,用case语句重定下面的程序段IF (K<=10)AND(K>0) THENIF K>5 THENIF K<8 THEN X:=0ELSE X:=1ELSE IF K>2 THEN X:=3ELSE X:=4;第三部分完善程序1.如何使用计算机产生二个二位数相加题,让学生输入后判断其正误?(前面略)Randomize;X:=random(10)*10+ random(10); 或X:=trunc(random*90)+10;Y:= ;Wri te(X,‟+‟,Y,‟=‟);Readln(s);Writeln;If then writeln(…right‟)else writeln(…wrong‟);end2.输入三角形的三个边,判断它是何类型的三角形(等边三角形?等腰三角形?一般三角形?)。
Program ex5_4();V ar a,b,c:integer;BeginWrite(…a,b,c=?‟);Readln(a,b,c);If a=b thenIf then writeln(…Deng bian san jiao xing‟)else writeln(…Deng yao san jiao xing‟)elseif then writeln(…Deng yao san jiao xing‟)else writeln(…yi ban san jiao xing‟)编写程序:(请各位学生选做,并不要求每题都做,但希望能够写出关键语句,就是程序中的if 语句部分和case语句部分)1、输入两个数a,b,输出较大数的平方值。
2、节日期间,某超市购物优惠规定:所购物品不超过100元时,按九折付款,如超过期100元,超过部分按七折收费,编一程序完成超市自动计费的工作。
3、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。
编一程序完成自动计费工作。
4、某超市为了促销,规定:购物不足50元的按原价付款,超过50不足100的按九折付款,超过100元的,超过部分按八折付款。
编一程序完成超市的自动计费的工作。
5、对一批货物征收税金,价格在10000元以上的货物征税5%;对5000元以上,10000元以下的货物征税3%;对5000元以下,1000元以上的货物征税2%;对1000元以下的货物免税。
编一程序读入某一货物的价格,计算并输出其应征税金。
6、输入三个数a,b,c ,打印出最大者;二种方法A:用不嵌套的if语句B:用嵌套的if语句7.输入两个正整数a,b。
b最大不超过三位数,使a在左,b在右,拼接成一个新的数c。
例如:a =2,b=16,则c=216;若a=18,b=476,则c=18476。
提示:求c的公式为:c=a×K+b8.编写程序来模拟石头剪子布的游戏,要求学生输入一个选择(石头剪子布分别有一个数字来表示0代表石头,1代表剪子,2代表布),计算机随机产生一个选择,然后比较大小,最后显示两者的选择和输赢情况)9.输入两个数值(均不为零)及一个算术运算符,输出其运算的结果如输入3, 5 ,* 。
则输出3*5=15输入6,7 ,- 。
则输出6-7=--110.当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。
编一程序完成分数的自动转换工作。
转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。
(提示:可以利用DIV运算来使程序更简明)11.某全自动加油站a,b,c三种汽油的单价(元/kg)分别是1.50、1.35和1.18,也提供了“自己加”或“协助加”两个服务等级,这样用户可以得到5%或10%的优惠。