if和switch讲解习题
if语句&switch语句
(1)先后用3个独立的if语句处理 输入x scanf("%d",&x); 若 x<0, 则y=-1 if(x<0) y=-1; 若 x=0, 则y=0 if(x==0) y=0; 若 x>0, 则y=1 if(x>0) y=1; 输出x和y printf("x=%d,y=%d\n",x,y);
(2)用一个嵌套的if语句处理 输入x 若x>=0 若 x>0, 则y=1 否则 y=0 否则 y=-1 输出x和y scanf("%d",&x); if (x>=0) if (x>0) y=1; else y=0; else y=-1; printf("x=%d,y=%d\n",x,y);
if语句只有两个分支可供选择,在实际问题中常常 需要用到多分支的选择。 举例:成绩等级分类,人口年龄分类,工资统计分 类,银行存款分类等等。 以上情况如果用if语句处理,分支较多,程序冗长, 可读性差。 switch语句可以方便地处理多分支选择。
switch语句的一般形式: switch(表达式) 整型及字符型数据 { case 常量1 :语句1 case 常量2 :语句2 ┇ ┇ ┇ case 常量n :语句n default : 语句n+1 }
3’、if (number > 500) cost = 0.15; else if (number > 300) cost = 0.10; else if (number > 100) cost = 0.075; else if (number > 50) cost = 0.05; else cost = 0;
JAVA基础入门—if switch练习
default: days=31; //其它月份为31天
}
System.out.println(month+"月份为【"+days+"】天");
}
}
if(c>max) max=c;
System.out.println("Max="+max);
min=a<b ? a : b;
min=c<min ? c : min;
System.out.println("Min="+min);
}
}
2、给出一个分数,按不同的分数段将其评定为A、B、C、D和E五个档次之一。
//应用
public class App4_2
{
public static void main(String[] args)
{
int testScore=86;
char grade;
if(testScore>=90){
grade='A';
} else if (testScore>=80) {
1、找出三个整数中的最大值和最小值。
//filename:App4_1.java if语句的应用
public class App4_1
{
public static void main(String[] args)
{
int a=1,b=2,c=3,max,min;
if(a>b)
max=a;
else
max=b;
System.out.print("请输入月份:");
第2章 顺序结构、选择结构和循环结构的程序设计 习题答案
第二章顺序结构、选择结构和循环结构的程序设计一、简答1. 参考书上23页2. while先判断,后执行,do while先执行,后判断,循环体至少执行一次3. 参考书上29页4. continue,结束本次循环break,结束循环区别在于,continue只结束本次循环重新进行下次循环,而break结束整个循环二、填空题1. 顺序结构,选择结构,循环结构2. if else 和switch3. 语句1 ,语句24. 零5. break ,continue6. 7 ,07. ? : ,双目三、单选1-5 ABDCC 6-10 DBACA 11-15 CBCDA 16-20 ACBAD 21-25 ADCBB 26-29 BCCA四、程序分析题1. end 1end2. num%10 max = t3. j%34. 99五、编程题1.#include <stdio.h>int main(){char str[100] ;gets(str) ;int n1 , n2 , n3 , n4 , i ;n1 = n2 = n3 = n4 = 0 ;for(i = 0 ; str[i] != '\0' ; ++i) {if(str[i] >= 'A' && str[i] <= 'Z')++n1 ;else if(str[i] >= 'a' && str[i] <= 'z')++n2 ;else if(str[i] >= '0' && str[i] <= '9')++n3 ;else}printf("大写字母:%d\n" , n1) ;printf("小写字母:%d\n" , n2) ;printf("数字字符:%d\n" , n3 ) ;printf("其他字符:%d\n" , n4) ;return 0;}2.#include <stdio.h>#include <stdlib.h>int main(){int array[4] , min , max , i ;for(i = 0 ; i < 4 ; ++i)scanf("%d" , &array[i]) ;min = max = array[0] ;for(i = 1 ; i < 4 ; ++i) {if(array[i] < min)min = array[i] ;else if(array[i] > max)max = array[i] ;}printf("min = %d , max = %d\n" , min , max) ;return 0;}3.#include <stdio.h>int main(){float money , lixi ;int year ;scanf("%f %d" , &money , &year) ;switch(year) {case 1 :lixi = money * 0.63 / 100 ;case 2 :lixi = money * 0.66 / 100 ;break ;case 3 :lixi = money * 0.69 / 100 ;break ;case 5 :lixi = money * 0.75 / 100 ;break ;case 8 :lixi = money * 0.84 / 100 ;break ;default :printf("输入错误\n") ;return -1 ;}printf("%f\n" , money + lixi) ;return 0;}4.#include <stdio.h>int main(){int x , y ;scanf("%d" , &x) ;if(x > 100)y = x + 8 ;else if(x < -10)y = -x + 8 ;elsey = 0 ;printf("%d\n" , y) ;return 0;}5.#include <stdio.h>int main(){int i , j , k , m = 3 ;for(k = 5 ; k < 12 ; k += 2 , --m) {for(i = 0 ; i < m ; ++i)printf(" ") ;for(j = 0 ; j < k ; ++j)printf("*") ;printf("\n") ;}return 0;}6.此题可以沿用第五题的思路进一步完善,写出最佳程序。
java 流程控制 选择题
java 流程控制选择题
当涉及到Java流程控制的选择题时,通常涉及到if语句、switch语句和三元运算符等内容。
我会从多个角度给出可能的选择题答案。
1. if语句的作用是什么?
A. 用于循环控制。
B. 用于异常处理。
C. 用于条件判断。
D. 用于定义变量。
正确答案,C. 用于条件判断。
2. 下列哪个选项是Java中的逻辑运算符?
A. &&。
B. ||。
C. !
D. All of the above.
正确答案,D. 以上全是逻辑运算符。
3. switch语句适合用于什么样的情况?
A. 多重条件判断。
B. 循环控制。
C. 异常处理。
D. 对象实例化。
正确答案,A. 多重条件判断。
4. 下列哪个选项是三元运算符?
A. ?
B. :
C. =。
D. +。
正确答案,A. ?
5. 下列代码的输出是什么?
java.
int x = 10;
int y = 20;
int z = (x > y) ? x : y; System.out.println(z);
A. 10。
B. 20。
C. 30。
D. 编译错误。
正确答案,B. 20。
以上是针对Java流程控制选择题的一些可能问题和答案,希望能够帮助到你。
如果还有其他问题,欢迎继续提问。
Java基础if ~switch练习及答案
public class homework{
public static void main(String[] args){
int HD=3;
if(HD<5){
System.out.println("留下享用!");
public static void main(String[] args){
int sorce=70;
if(sorce==100){
System.out.println("满分!爸,买车!");
}else if(sorce>90){
switch(sum){
case 1: System.out.println("拨给t.println("拨给老妈");break;
case 3: System.out.println("拨给爷爷");break;
}else{
System.out.println("No");
}
}
}
4、输入赵本山的考试成绩,显示所获奖励
成绩:100分,爸爸给他买辆车
成绩大于90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
public class homework{
public static void main(String[] args){
int y=1997;
int y1=y%4;
int y2=y%400;
if(y1==0||y2==0){
第5章选择结构程序设计习题及答案
第5章 选择结构程序设计5-1 比较单分支、双分支、多分支if 语句。
答:(1)多分支if 语句可用多条单分支、双分支if 语句等价实现。
(2)双分支if 语句形式上相当于单分支if 语句扩展else 分支而来。
(3)单分支if 语句可以认为是双分支if 语句缺省else 子句的特殊情况,一条双分支语句可用两条单分支语句实现。
思考:分支结构主要用在哪些情况下?它有哪几种形式?5-2, 下列描述哪些是正确的?(1) if (x<0)y=−1;else if(x==0) y=0;else y=1;(2)if(x>=0)if(x>0) y = 1 ;else y = 0 ;else y = -1 ;(3) y = -1 ;if(x!=0)if(x>0) y = 1 ;else y = 0 ;(4)y = 0 ;if (x>=0)if(x>0) y = 1 ;答:(1) 正确 ; (2) 正确 ;(3) 不正确 ;(4) 不正确 ; 思考 : 若将(3)改为: y = -1 ; (4) 改为:y = 0 ;if(x>=0) /*删除原if(x>=0)*/ if(x>0) y =1 ; if(x>0) y = 1 ;else y = 0 ; else y = -1 ;后是否正确 ?5-3 仔细阅读以下程序 , 指出程序的运行结果 .⎪⎪⎩⎪⎪⎨⎧>=<-=010001x x x y#include<stdio.h>main(){ int a , b ;a =b = 5 ;if(a==1)if(b==5){a+=b ;printf("a=%d\n ",a) ;}else{a-=b ;printf("a=%d\n",a) ;}printf("a+b=%d",a+b) ;}解: 结果为: a + b = 10思考:为何有三个printf 语句,却只有一行输出?如果将第5行去掉或改为if(a==5) , 结果是否一样?5-3仔细阅读以下程序,指出程序的运行结果。
if用法详解(含练习和答案)
if用法详解(含练习和答案)If的用法一、if作为连词,引导条件状语从句,表示“假如”“如果”等。
在复合句中,如果主句使用将来时,则if引导的状语从句使用一般现在时。
例如:1.如果天不下雨,下周星期天我们将去公园。
2.如果你请求他,他将会帮助你。
二、if还可以引导让步状语从句。
这时if相当于“即使是”,“虽说”。
例如:1.虽然她很穷,但至少她还是诚实的。
2.即使我错了,那么你也不对。
3.虽然会花费我一下午的时间,我还是要做这件事。
三、if作为连词还可以引导宾语从句。
引导宾语从句时和whether意思相同。
例如:1.XXX问她是否喜欢它。
2.她问他们是否有一件棉织的。
四、用于虚拟语气中,if从句中使用过去式,表示不可能实现、大概不会实现或提出作为考虑的假定条件。
例如:1.假使你是只鸟,你便会飞了。
2.如果我向他借贷,他会答应吗?另外,if从句中使用过去完成式,表示过去未实现的条件(例如由于不可能实现或某人未能实行)。
例如:1.要是他们早些动身,他们便可及时到达了。
2.如果他们那时不动身,现在他们就不会在此地了。
人一样。
2.As if by magic,the XXX.)花儿一夜之间就像魔法一样开了。
其次,unless与if连用,表示“除非”的意思。
例如:1.Unless you work hard,you won’t succeed.(If you don’t work hard。
you won’t succeed.)除非你努力工作,否则你不会成功。
2.I won’t go unless you come with me.(If you don’t com e with me。
I won’t go.)除非你和我一起去,否则我不会去。
最后,suppose与if连用,表示“假设、设想”的意思。
例如:1.Suppose it rains tomorrow,what will you do。
(If it rains tomorrow。
c语言switch例题
c语言switch例题(最新版)目录1.C 语言中的 switch 语句2.switch 语句的结构和用法3.switch 语句的注意点4.switch 语句的例题及解析正文C 语言中的 switch 语句是一种多分支选择结构,它允许根据一个表达式的值来执行不同的代码块。
switch 语句的结构和用法如下:```cswitch (expression) {case constant1:// code to be executed if expression is equal to constant1;break;case constant2:// code to be executed if expression is equal to constant2;break;// you can have any number of case statementscase constantN:// code to be executed if expression is equal toconstantN;break;default:// code to be executed if expression doesn"t match any constant;}```在 switch 语句中,expression 表示一个整型或字符型的表达式。
case 后面跟一个常量表达式,表示当 expression 等于这个常量时,将执行该代码块。
break 语句用于跳出 switch 语句,如果没有 break 语句,程序将继续执行下一个代码块,直到遇到 break 或者 switch 语句结束。
default 语句是可选的,当 expression 不等于任何 case 后面的常量时,将执行 default 语句。
在使用 switch 语句时,需要注意以下几点:1.expression 的类型应为整型或字符型;2.case 后面的常量表达式应为常量,不能是变量;3.每个 case 语句后面的代码块可以包含任意数量的语句,但必须以break 语句结束;4.default 语句可以省略,但如果使用了 default 语句,必须保证它在所有 case 语句之后。
第(4)次实验题目(if语句, switch语句)
第4次实验题目
1、使用多分支if语句编程,从键盘输入一个合法的算术运算符(+、-、*、/)
及两个浮点数,根据输入的运算符判断这两个浮点数做何种运算,并打印运算结果(要求结果保留两位小数)。
程序运行效果如下图所示:
要求:运算结果保留2位小数。
提示:数据的输入顺序要注意,推荐同学先输入运算符,再输入两个浮点数。
思考:
(1)能否输入求余(%)运算符进行运算?为什么?
(2)如果输入数据时先输入两个浮点数,再输入一个运算符,需注意什么问题?为什么?
2、使用if语句的嵌套结构编程,从键盘输入一元
二次方程的三个系数,编程求一元二次方程的实
根。
运行效果如下图所示:
提示:
(1) 这是一个选择结构嵌套的题目,先根据输入的变量a、b、c的值判断方程是否有实根?如果有实根,再计算是一个实根,还是两个实根?
(2) 该题要用到求开方值的数学库函数sqrt,以及包含头文件 math.h
3、使用switch语句编程,从键盘输入一个整型的分数,如果在90-100分之间,
打印“A级优秀”;如果在80-89分之间,打印“B级良好”;如果在60至79分之间,打印“C级中等”;如果在60分以下,打印“D级不及格”;如果是一个无效分数,需给出提示信息。
程序运行效果如下所示:
提示:先使用if语句判断输入的分数是否在0-100的范围内,如果在此范围内,再将分数值和10整除(使用除号“/”),例如:对于分数段在80~89之间
的分数,和10整除后,就转换为一个固定的整数值8,最后再使用switch
语句作分支的判断与处理。
课堂习题-选择控制结构
第五章选择控制结构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。
if语句switch语句上机练习
1126上机练习1、要将“China”翻译成密码。
密码规律是:用原来字母的后面第4个字母代替原来的字母。
请编写一程序实现。
并输出结果。
(Glmre)2、输入一个字母,将该字母进行大小写转换,输出转换后的字母。
3、输入一个不大于255的自然数x,计算y=(1+x)/x2。
4、给定一个三位正整数,分别输出它的个位数、十位数和百位数。
5、编写程序,实现从键盘上输入4个整数,并按从大到小顺序输出。
6、编写一个程序,实现对给出的一百分制成绩,输出相应的成绩等级。
即:90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’7、输入华氏温度F,利用公式C=5/9*(F-32)转换成摄氏温度C,根据转换结果C的不同值,按以下要求给出相应的提示。
C>40时,打印“Hot”30<C≤40时,打印“Warm”20<C≤30时,打印“Room Temperature”10<C≤20时,打印“Cool”0<C≤10时,打印“Cold”C≤0时,打印“Freezing”8、编一程序,要求实现下面的功能:输入一个实数后,屏幕上显示如下菜单(加粗部分):1.输出相反数2.输出平方数3.输出平方根4.退出程序运行的效果为:若按1键,则输出该数的相反数;若按2键,则输出该数的平方数;……。
按1 ~4之外的其他键时,显示出错,、。
9、列程序想求出满足如下条件的三位数n:(1)n除以11(整数相除)所得到的商等于n的各位数字的平方和;(2)n中至少有二位数字相同。
如:131除以11的商为11,131各位数字的平方和为11,131中有二位数字相同,故131是所要求出的三位数中的一个;又如550,也是满足条件的三位数。
switch函数和if语句的相关练习题及答案
switch函数和if语句的相关练习题1. 以下程序的执行结果是 (-1)main(){ int x=100,a=10,b=20,v1=5,v2=0;if(a<b)if(b!=15)if(!v1)/*得0所以x=1不执行*/x=1;elseif(v2)/* 得0所以x=10不执行,所以x在if语句中没有赋值*/x=10;x=-1;printf(“%d”,x); }2. 以下程序的输出结果是 8,8,10main(){ int x=10,y=9;int a,b,c;a=(--x==y++)?--x:++y;/*a=x=8,y=10*/b=x++;/*b=x=8,x=9*/c=y;/*b=8,c=10*/printf(“%d,%d,%d”,a,b,c); }3. 以下程序输入3时,输出结果是 34main(){ int k;scanf(“%d”,&k);switch(k){ case 1:printf(“%d”,k++);case 2:printf(“%d”,k++);case 3:printf(“%d”,k++);/*输出本身的值3,但是k已经变成4*/case 4:printf(“%d”,k++); break; /*输出本身的值4,但是k已经变成5*/ default :printf(“FULL!”); }printf(“\n”); }4. 以下程序的执行结果是 10main( ){ int a=-1,b=1,k;if((++a<0)&&!(b--<=0))/*if(++a<0)为假, 后面短路,与运算前面为假,则这个表达式就为假,且a=0,b因为短路了没有赋值,所以b还是它本身的值*/printf(“%d%d\n”,a,b);elseprintf(“%d%d\n”,b,a); }5. 以下程序的运行结果是__1,1______。
main(){int x,y,z;x=1;y=2;z=3;(x=y--<=x)||(x=y!=z);/* (x=y--<=x): 2<x为真1 x=1为真,后面短路,或运算前面为真,则这个表达式就为真,在语句 (x=y--<=x)中,x=1,y=1,后面因为短路没有赋值 */printf(“%d,%d”,x,y);}6. 以下程序的运行结果是__1,0________。
7.8switch语句(翻转课堂)
小结
if与switch的区别
if(条件表达式) {
…… } else if(条件表达式) {
…… } else {
…… }
switch(变量){ case 值1: …… break; case 值2: …… break; …… default: ……
}
区别:
1. 语法不同 2. 判断条件不同 3. switch只能判断零散的值,if不止能够判断零散的值还能够
拓展任务 计算生肖
任务:请分别使用if语句和switch语句实现根据出生年份计算生肖 计算生肖的原理:
出生年份与12取余数(year%12)
余数=0:猴 余数=1:鸡 余数=2:狗 余数=3:猪 余数=4:鼠 余数=5:牛
余数=6:虎 余数=7:兔 余数=8:龙 余数=9:蛇 余数=10:马 余数=11:羊
判断范围区间
switch语句
学习目标
掌握switch语句的用法 理解if语句与switch语句的区别
课前预习问题汇总
switch的语法结构出错 判断条件是数字,如何表达?
案例分析 显示每一天的问候语
任务:获当前是星期几,然后给出不同问候语
➢ 星期一:新的一周开始了!
➢ 星期二:还要努力工作!
➢ 星期三:还要努力工作!
case表示一种 取值的可能
switch(变量){ case 值1: …… break; case 值2: …… ...break; default: …… break;
}
判断的对 象是变量
break表示终 止switch语句
default表示前面任何 取值都不成立时所执 行的操作(可省略)
请读一读下面的程序
实验二 if-else和switch
实验二、if-else和switch一、实验目的1. 熟练掌握if语句、if-else语句和switch语句的语法。
2. 灵活使用if-else和switch语句实现简单的选择编程问题。
3. 区分if-else语句和switch语句的使用场合。
【实验题2.1】键盘输入3个浮点数a、b、c的值,按从小到大的顺序依次输出。
/*【实验题2.1】键盘输入3个浮点数a、b、c的值,按从小到大的顺序依次输出。
编于2010/4/13 ke*/#include <stdio.h>main(){double a,b,c,q;printf("输入a,b,c\n");scanf("%lf,%lf,%lf",&a,&b,&c);if(a>b){q=a; a=b;b=q;}if(a>c){q=a;a=c; c=q;}if(b>c){q=b;b=c;c=q;}printf("%0.2lf,%0.2lf,%0.2lf\n",a,b,c);}【实验题2.2】有一函数:x (x<1)y = 2x-1 (1<=x<10)3x-11 (x>=10)写一程序,输入x,输出y值。
/*【实验题2.2】有一函数编于2010/4/13 ke*/#include <stdio.h>main(){double x,y;printf("输入x\n");scanf("%lf",&x);if(x<1) y=x;else if(x>=1 && x<10)y=2*x-1;else if(x>=10) y=3*x-11;printf("%0.2lf\n",y);}【实验题2.3】已知银行整存整取存款不同期限的月息利率分别为:月息利率=0.63% 期限=1年0.66% 期限=2年0.69% 期限=3年0.75% 期限=5年0.84% 期限=8年输入存款的本金和年限,求到期时能从银行得到的利息与本金的合计。
JavaScript知识点:分支结构(if、switch)+算法例题
JavaScript知识点:分⽀结构(if、switch)+算法例题if-else分⽀1.if条件应该是boolean类型的值或表达式2.如果条件不是Boolean,会进⾏⾃动转换以下⼏种情况会默认转换为 false:if(0)、if(0.0)if(NaN)、if(undefined)if("")、if(null)if(false)switch-case执⾏流程:1.解析变量或表达式中的值2.⽤解析出来的值与case后的值进⾏⽐较等值运⾏代码块3.如果值不相等,就执⾏default:后的代码块switch直落模式:两个或多个case之间没有任何操作代码,表⽰这两个或多个块要执⾏同样的代码块,如:switch(变量/表达式){case 值1:case 值2:case 值3:语句块;break;default:语句块;break;}以下是⼀些算法题的代码:(执⾏时需要改变函数的函数名调⽤每⼀个例题函数执⾏)1 <!DOCTYPE html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>分⽀结构</title>6 </head>7 <body>8 <!-- 编写⼀个收银程序,根据商品的单价、购买的数量以及收款⾦额计算并输出应收⾦额和找零 -->9 <script type="text/javascript">10function getMoney(){11// 定义输⼊变量:商品单价price、购买的的数量count、12// 收款⾦额money13var price,cont,money;14//定义输出变量:消费⾦额sumPrice、找零coins15var sumPrice,coins;16// 弹框接受输⼊的值:单价、数量17 price = prompt("请输⼊商品单价:");18 count = prompt("请输⼊商品数量:");19// 计算商品总价20 sumPrice = price*count;21// 判断是否打折22if(sumPrice>=500){23 sumPrice *=0.8;24 alert("您消费到达500,享受8折优惠!");25 }26 alert("您共消费:"+sumPrice+"元");27// 接受付款⾦额28 money = prompt("请付钱:");29//判断付款⾦额是否⼤于消费⾦额30if(money >= sumPrice){31// 计算找零32 count = money - sumPrice;33 alert("找您:"+count);34 }35else36 alert("钱不够!");3738 }39 getMoney();//函数调⽤⼝40 </script>41 <script type="text/javascript">42//1. 通过弹框输⼊年⽉⽇,判断该⽇是这⼀年的第多少天?43function ymd(){44// 定义输⼊变量45var year = prompt("请输⼊年份:");46var month = prompt("请输⼊⽉份:");47var date = prompt("请输⼊⽇期:");48// 通过⽉份判断49switch(Number(month)){50case 1:month =0;break;51case 2:month=31;break;52case 3:month=59;break;53case 4:month=90;break;54case 5:month=120;break;55case 6:month=151;break;56case 7:month=181;break;57case 8:month=212;break;58case 9:month=243;break;59case 10:month=273;break;60case 11:month=304;break;61case 12:month=334;break;62 }63 date=month + Number(date);64// 判断输⼊年份是否是闰年65if((year%4==0 && year%100!=0) || year%400==0){66if(month>=2)67 date +=1;68 }69 console.log("今天是今年的第:"+date+"天");70 }71// 2.模拟电话银⾏按键程序72function bank(){73// 通过switch选择系统功能74var press = prompt("请输⼊数字选择功能(1.查询余额2.取款3.转换4.退出系统):"); 75switch(Number(press)){76case 1:seek();break;77case 2:draw();break;78case 3:change();break;79case 4:exit();break;80 }81function seek(){82 console.log("余额查询中……");83 }84function draw(){85 console.log("取款进⾏中……");86 }87function change(){88 console.log("转账进⾏中……");89 }90function exit(){91 console.log("退出系统,谢谢使⽤!");92 }93 }94// 3.买保险95// 已婚都可以买96// 未婚男<25不买97// 未婚⼥<22不买98function insure(){99// 弹框接受员⼯信息:婚否、性别、年龄100var isMarry = prompt("是否已婚(Y|N):");101var sex = prompt("请输⼊性别(M|W):");102var age = prompt("请输⼊年龄:");103if(isMarry=="Y"){104 console.log("公司为您提供保险!");105 }else if ((sex=="M" &&age<25)||(sex=="W" && age<22)) {106 console.log("不满⾜公司提供保险条件!");107 }else{108 console.log("满⾜公司提供保险条件!");109 }110 }111// 4.某超市促销活动112// 会员总价>100 ⼋折 <100 9折113// ⾮会员>100 九折 <100 不打折114function superMk(){115//弹框询问是否是会员(0|1)116//弹框询问商品总价格117//定义变量:是否会员isVIP、价格price118var isVIP = prompt("是否是会员(0|1):");119var price = prompt("商品总价格为:");120// 判断是否是会员121if(isVIP==1){122if(price>100){123 price = price *0.8;124 console.log("您是会员且购买⾦额超过100可以打⼋折");125126 }else{127 price = price * 0.9;128 console.log("您是会员可以打九折!");129 }130 }else if(price>100){131 console.log("您购买⾦额超过100可以打九折!");132 price = price *0.9;133 }134 console.log("您需要付款:"+price+"元");135 }136// 5.计算1-100之间的和、乘积137function sumPro(){138var sum=0,product = 1;139for(var i=1;i<=100;i++){140 sum += i;141 product *= i;142 }143 console.log("和为:"+sum,"乘积为:"+product); 144 }145// 6.九九乘法表146// 1*1=1147// 1*1=1 1*2=2148function multTable(){149for (var i = 1; i <= 9; i++) {150for (var j = 1; j <=i; j++) {151var mult = i*j;152 document.write(j + "*" + i + "=" + mult); 153154 }155 document.write("<br/>")156 }157 }158 multTable();//函数调⽤⼝159160 </script>161 </body>162 </html>。
if-else以及switch条件控制语句练习
if-else以及switch条件控制语句练习⼀、第⼀题 ⽉度考试如果机试成绩⼤于等于90分并且理论成绩⼤于90分,或者上机成绩和理论成绩的平均分⼤于等于80分,并且综合积分不低于90分也能考试通关。
要求:1、在控制台输⼊学⽣的机试成绩、理论成绩、综合积分2、如果考试通关提⽰“恭喜你考试通关”public void test1(){System.out.println("题⽬1");Scanner s=new Scanner(System.in);System.out.println("输⼊在控制台输⼊学⽣的机试成绩、理论成绩、综合积分");double jishi=0,lilun=0,zonghe=0;jishi=s.nextDouble();lilun=s.nextDouble();zonghe=s.nextDouble();boolean condition1=jishi>=90&&lilun>90;boolean condition2=(0.5*jishi+lilun*0.5)>=80&&zonghe>=90;if(condition1&condition2){System.out.println("恭喜通关");}else{System.out.println("没通关");}}⼆、第2题⽤户购买商品,指定购买数⽬,如果库存不⾜提⽰“抱歉,没有⾜够的库存”,否则提⽰“购买成功”库存数⽬减少相应数⽬。
⽆论购买成功与否最后都输出库存数参考解决⽅案:1、⽤户从控制台输⼊要购买的商品数⽬2、定义整型变量表⽰库存数⽬3、使⽤if-else双分⽀结构,判断库存数据是否够public void test2(){System.out.println("第⼆题\n输⼊⽤户要购买的商品数⽬");Scanner s=new Scanner(System.in);int expect=s.nextInt();int total=500;if(expect<=500){System.out.println("购买成功!库存还有"+(500-expect));}else{System.out.println("购买失败!");}}三、第3题缴税=全⽉应纳税所得额*税率-速算扣除数扣除标准:个税按3500元/⽉的起征标准算例:某⼈的⼯资收⼊为5000元他应纳个⼈所得税为:(5000-3500)×0.03-0=45(元)参考解决⽅案:⽤户输⼊⼯资根据⼯资计算出全⽉应纳税所得额使⽤多重if判断全⽉应纳税所得额的范围,确定税率和速算扣除数使⽤公式计算缴税数额缴税=全⽉应纳税所得额*税率-速算扣除数@Testpublic void test3(){System.out.println("第三题");double init=new Scanner(System.in).nextDouble();double temp=init-3500;double rate=0;int kouchu=0;if(temp>0&temp<1500){rate=0.03;kouchu=0;}else if(temp<4500){rate=0.10;kouchu=105;}else if(temp<9000){rate=0.20;kouchu=555;}else if(temp<35000){rate=0.25;kouchu=1005;}else if(temp<55000){rate=0.3;kouchu=2755;}else if(temp<80000){rate=0.35;kouchu=5505;}else{rate=0.45;kouchu=13505;}double salary_1=temp*rate-kouchu;double salary=init-salary_1;System.out.println("扣税前⼯资是"+init+"\n扣税有"+salary_1+"\n最后⼯资是"+salary);}四、第4题需求分析:实训前最后⼀个⽉考试结束,所有考试通过的学⽣会按照学号分到实训1班和实训2班,学号为奇数的进⼊实训1班,学号为偶数的进⼊实训2班,考试通不过的学⽣则提⽰不能升⼊实训。
谭浩强C程序设计 08_switch加练习
一、if语句的三种形式(参见P96图) 1.if (表达式) 语句 2.if (表达式) 语句 else 语句 例1:if (x<0) x*=-1; 例2:if (x>y) max=x; else max=y;
3. if (表达式1) 语句 else if (表达式2) 语句 else if (表达式3 ) 语句 …... [ else 语句]
练习4
• 从键盘输入二个整数, • 如果两数大于100,输出“超过100” • 否则输出“两数太小”
练习5
• 有三个整数a,b,c,由键盘输入,输出其中最 大的数
1. 书上相关的内容复习。 2. P111页5.5,5.7。
练习2 switch语句
在C语言中调试,要求根据考试成绩的等级打印出百分制分 数段,具体的分数段如图5-12所示。要求在C语言中输入一个等 级,然后输出相应的分数段,具体如下图所示。
2. switch语句--多分支选择语句 一般形式如: switch (表达式) { case 常量表达式1: case 常量表达式2: . . . case 常量表达式n: default : }
语句1 语句2
语句n 语句n+1
例如,根据考试成绩的等级打印出百分制分数段 switch (grade) { case 'A': printf("85--100\n"); case 'B': printf("70--84\n"); case 'C': printf("60--69\n"); case 'D': printf("<60\n"); default : printf("error\n"); }
关于Java控制语句之if、switch语句知识拓展
关于Java控制语句之if、switch语句知识拓展关于Java控制语句之if、switch语句知识拓展javaif语句Java控制语句分为三大类:①顺序结构;②选择结构;③循环结构。
--------------------------------------------------------------------------------选择结构又分为:①单选择结构;②双选择结构;③多选择结构。
主要涉及:if_else,switch,while,break和continue,for.if单选择结构对条件表达式进行一次测试,若测试为真,则执行下面的语句,否则跳过该语句。
例(Math类的使用)random(),返回一个正符号的小数,区间大小是[0,1).注意if的作用域的问题:if语句如果不加{},它的控制范围仅限于第一句。
(一般建议加上{},养成一个好习惯)if-else双选择结构当条件表达式为真时,执行语句块1,否则,执行语句块2,也就是else部分。
if-elseif-else多选择结构下面给大家介绍Javaswitch语句Java控制语句——switch语句上述if语句的等值判断,可以用switch来代替。
注意每个case后面一般要添加break,表示当前这个case执行完了;防止出现case穿透,即继续执行case,直到遇到break才跳出。
下面例子反过来利用了case穿透现象。
【例子】JDK7.0新特*:增强switch在JDK7之前,switch(表达式){……},其中的表达式结果只能是int(可以自动转为int的byte、short、char),枚举类型。
但是JDK7中,表达式结果也可以是字符串。
(ps:自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。
byte(1个字节)→short(2个字节)→int(4个字节)。
)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C) 输出***
D)输出$$$
5.若运行时给变量x输入12,则以下程序的运行结果是(A)。
main()
{int x,y;
scanf(“%d”,&x);
y=x>12?x+10:x-12;
printf(“%d\n”,y);
}
A)0B)22C) 12D) 10
6.阅读以下程序:
main( )
{int x=1,a=0,b=0;
switch(x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf(“a=%d,b=%d\n”,a,b);
}
该程序的输出结果是(A)。
A)a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2
a=-1;
printf(“%d\n”,a);
}
A) 1B)10C)-1D) 值不确定
4.请阅读以下程序:
main()
{
int a=3,b=1,c=0;
if(a=b+c) printflse printf(“$$$\n”);
}
以上程序(C)。
A) 有语法错不能通过编译
default: printf(“error.”);
}
}
A)>=85.B)>=60.C)>=60.<60.error.D)error.
9.请读程序:
main()
{
int x=1, y=0, a=0, b=0;
switch(x)
{
case 1:
switch(y)
{case 0:a++;break;
case 1:b++;break;
main()
{int x;
scanf("%d",&x);
if(x--<5) printf("%d", x);先判断x--<5 即为5<5不成立,后x—为4
else printf("%d", x++);x++为5
}
程序运行后,如果从键盘上输人5,则输出结果是(C)。
A)3B)4C) 5D) 6
7.有如下程序
8.若输入B,以下程序的输出结果是(C)。
main( )
{char grade;
scanf(“%c”,&grade);
switch(grade)
{
case‘A’:printf(“>=85.”);
case‘B’:
case‘C’:printf(“>=60.”);
case‘D’:printf(“<60.”);
2若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(D)。
A)a<>0B)!aC)a=0D)a
1.if(a!=0)等价于if(a)
2.一切非零的数字都当做为真
3-1.以下程序的输出结果为(C)。
main()
{
int a=2, b=-1, c=2;
if(a<b)if(表达式)语句//如果表达式不成立,则后面的语句不执行
}
case 2:
a++; b++; break;
}
printf(“a=%d, b=%d\n”, a, b);
}
上面程序的输出结果是(A)。
A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2
if(b<0) c=0;
else c++;
printf(“%d\n”,c);
}
A)0B)1C)2D)3
3.以下程序的输出结果是(C)。
main()
{int a=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)成立
if(y!=10)成立
if(!ok1)不成立
a=1;
else
if(ok2) a=10;不成立
1.已知int x=10, y=20, z=30;以下语句执行后x, y, z的值是(B)。
if(x>y)
z=x;x=y;y=z;
A) x=10,y=20,z=30B)x=20,y=30,z=30
C) x=20,y=30,z=10D) x=20,y=30,z=20
考点:if只能控制一条语句(如果有大括号,即控制整个符合语句,无大括号就只控制到第一个分号处!)