当前位置:首页 > AnjoyoJava03课后习题带答案
AnjoyoJava03课后习题
一、选择题:
1. 下列( )不属于Java语言流程控制结构?
A、分支语句 B、跳转语句 C、循环语句 D、赋值语句 2. 假设a是int类型的变量,并初始化为1,则下列( )是合法的条件语句?
A、if(a){} B、if(a<<=3){} C、if(a=2){} D、if(true){} 3. 下列说法中,不正确的一个是( )。
A、switch语句的功能可以由if…else if语句来实现
B、若用于比较的数据类型为double型,则不可以用switch语句来实现 C、if …else if语句的执行效率总是比switch语句高
D、case子句中可以有多个语句,并且不需要大括号{}括起来
4. 设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,
则下列语句中正确的是( )。 A、switch(x+y) {} B、switch(ch+1) {} C、switch ch {} D、switch(a+b); {} 5. 下列循环体执行的次数是( )。
int y=2, x=4;
while(--x != x/y){ } A、1 B、2 C、3 D、4 6. 下列循环体执行的次数是( )。
int x=10, y=30;
do{ y -= x; x++; }while(x++ switch(m){ case 0: System.out.println(\ case 1: System.out.println(\ case 2: System.out.println(\ case 3: System.out.println(\ default:System.out.println(\ } 当m的值为( )时,输出“Condition 3” A、2 B、0、1 C、0、1、2 D、0、1、2、3 二、填空题: 1. 跳转语句包括________、________、________。 2. switch语句先计算switch后面的________的值,再和各________语句后的值做比较。 3. if语句合法的条件值是________类型。 4. continue语句必须使用于________语句中。 5. break语句有两种用途:一种从________语句的分支中跳出,一种是从________内部跳 出。 6. do - while循环首先执行一遍________,而while循环首先判断________。 7. 与C++语言不同,Java语言不通过________语句实现跳转。 8. 每一个else子句都必须和它前面的一个距离它最近的________子句相对应。 9. 在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句, 则会继续执行后面的________语句块。 10. 在for循环语句中可以声明变量,其作用域是________。 三、编写程序: 1. 利用if语句,根据下列函数编写一个程序,当键盘输入x值时,求出并输出y的值。 x (x<=1) 3x-2 (1 “优秀”,在89~80范围时输出“良好”,在79~70范围时输出“中等”,在69~60范围时输出“及格”,在59~0范围时输出“不及格”,在其他范围时输出“成绩输入有误!”。 3. 利用for循环,计算1+3+7+??+(220-1)的和。 4. 已知S?1? 11111??????,利用while循环编程求解n=100时的S值。 234n?1n答案: 一、选择题: 1. D 2. D 3. C 4. B 5. C 6. B 二、填空题: 1. break、continue、return 2. 表达式,case 5. switch 、循环语句 6. 循环体、表达式的值 10. for循环体 7. D 3. boolean 7. goto 4. 循环 8. if 9. case 三、编程题: 1. 答:【参考程序】 import java.io.*; public class X3_4_1 { public static void main(String[] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int x, y; x = Integer.parseInt(br.readLine()); if(x<=1) y = x; else if(x<10) y = 3*x - 2; else y=4*x; System.out.println(\ } } 2. 答:【参考程序】 import java.io.*; public class X3_4_2 { public static void main(String[] args) throws IOException{ InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int score, k; score = Integer.parseInt(br.readLine()); if(score>100 || score<0){ System.out.println(\输入成绩超出范围!\ System.exit(1); } k = score/10; switch(k){ case 10: case 9: System.out.println(\优秀\ break; case 8: } } } System.out.println(\良好\ break; case 7: System.out.println(\中等\ break; case 6: System.out.println(\及格\ break; default: System.out.println(\不及格\ 3. 答:【参考程序】 public class X3_4_3 { public static void main(String[] args) { int i, sum=0; for(i=1; i<21; i++) sum += Math.pow(2,i) - 1; System.out.println(\ } } 以上是标准答案中的方法,李老师还有两个方法: public static void method2() { long re = 0; for (int i = 1; i < 21; i++) { long bi = 2; for (int j = 1; j < i; j++) { bi = bi * 2; } bi--; re = re + bi; } public static void method3() { long re = 0; for (int i = 0; i < 20; i++) { long bi = 2 << i; bi--; re = re + bi; } System.out.println(re); } 4. 答:【参考程序】 public class X3_4_4 { public static void main(String[] args) { int i=1, n = 100; double sign = 1, sum = 0; while(i<=n){ double k = sign/i; sum += k; i++; sign = -sign; } System.out.println(\ } }
共分享92篇相关文档