(部选)JAVA各章习题及答案(2)

2019-06-05 14:46

Enter the value of radius please: 26 volume = 73622.17663932561 第三章 一、选择题

1.下列( D )不属于Java语言流程控制结构?

(A)分支语句

(B)跳转语句

(C)循环语句

(D)赋值语句

【解析】Java语言流程控制结构只包括分支、循环和跳转三种语句。 2.假设a是int类型的变量,并初始化为1,则下列( D )是合法的条件语句?

(A)if(a){}

(B)if(a<<=3){}

(C)if(a=2){}

(D)if(true){}

【解析】条件语句中的“条件表达式”只能是boolean类型,不能是其他类型。 3.下列说法中,不正确的一个是( C )。

(A)switch语句的功能可以由if…else if语句来实现 (B)若用于比较的数据类型为double型,则不可以用switch语句来实现 (C)if …else if语句的执行效率总是比switch语句高 (D)case子句中可以有多个语句,并且不需要大括号{}括起来 【解析】语句的执行效率高低要根据具体语句来确定,不能简单地说if …else if语句的执行效率总是比switch语句高。 4.设a、b为long型变量,x、y为float型变量,ch为char类型变量且它们均已被赋值,则下列语句中正确的是( B )。

(A)switch(x+y) {} (B)switch(ch+1) {} 5.下列循环体执行的次数是( C )。

int y=2, x=4; while(--x != x/y){ } (A)1

(B)2

(C)3

(D)4

【解析】第1次执行while时,--x的值为3,3/2=1,满足等号两端值不等的条件,执行一次循环体;第2次执行while时,--x的值为2,2/2=1,条件满足,又执行一次循环体;第3次执行while时,--x的值为1,1/2=0,条件满足,再次执行一次循环体;第4次执行while时,--x的值为0,0/2=0,条件不满足满足,结束循环。因此在这个循环语句执行的过程中,循环体共执行了3次。 6.下列循环体执行的次数是( B )。

int x=10, y=30; do{ y -= x; x++; (A)1

}while(x++

(C)3

(D)4

(C)switch ch {}

(D)switch(a+b); {}

【解析】switch后面的表达式必须放在括号()中,且表达式的类型只能是byte、short、int和char类型,不能是其他类型。

【解析】执行1次循环体后,y的值为20,x值为11,然后执行while,此时x++的值为11,y—的值为20,因此x++

7.已知如下代码:

switch(m){ }

当m的值为( D )时,输出“Condition 3” (A)2 续向后执行。 二、填空题

1.跳转语句包括break、continue、return和throw 6

(B)0、1

(C)0、1、2

(D)0、1、2、3

【解析】当m的值为0、1、2、3时,都能输出“Condition 3”,因为case 0、case 1、case 2后面的语句都没有break,因此可以继

case 0: System.out.println(\case 1: System.out.println(\case 2: System.out.println(\case 3: System.out.println(\default:System.out.println(\

2.switch语句先计算switch后面的 表达式 的值,再和各 case 语句后的值做比较。 3.if语句合法的条件值是 boolean 类型。 4.continue语句必须使用于 循环 语句中。

5.break语句有两种用途:一种从switch 语句的分支中跳出,一种是从循环语句内部跳出。 6.do - while循环首先执行一遍 循环体 ,而while循环首先判断 表达式的值 。 7.与C++语言不同,Java语言不通过 goto 语句实现跳转。

8.每一个else子句都必须和它前面的一个距离它最近的 if 子句相对应。

9.在switch语句中,完成一个case语句块后,若没有通过break语句跳出switch语句,则会继续执行后面的 case 语句块。 10.在for循环语句中可以声明变量,其作用域是 for循环体 。 三、写出下列程序的运行结果

1. public class X3_3_1 {

public static void main(String[] args) {

for(int i=0; i<10; i++){

} } }

【运行结果】01234

【程序解析】本程序主要考查break语句的使用。程序中的for循环变量i是从0到9进行循环,正常情况下应该输出0到9,但是由于循环体中有“if(i==5) break;”语句,当i为5时for循环就结束了,因此最后的结果是01234。 2.public class X3_3_2 {

public static void main(String[] args) {

int i=5, j=2; while(j

【运行结果】4

【程序解析】本程序主要考查while语句以及“后缀--”运算符的使用。由于每执行一次while判断,i的值就减1,每执行1次循环体,j的值就增加1,而while判断总共经历了“2<5”、“3<4”、“4<3”三次,第3次时由于条件不满足,还没有执行循环体就结束了循环,因此循环体总共执行了2次,j的值也只加了2,而其初始值为2,因此j最后的值为4。 3.public class X3_3_3 {

public static void main(String[] args) {

int i=4;

while(--i>0){ } System.out.print(i); } }

【运行结果】0

【程序解析】本程序主要考查while语句以及“前缀--”运算符的使用。由于i的初值为4,要使“while(--i>0)”结束执行,必须等到i的为0,因此i最后的值为0。 4.public class X3_3_4 {

public static void main(String[] args) {

int j=0;

j += i;

for(int i=3; i>0; i--){

7

if(i==5) break;

System.out.print(i);

} } }

int x = 2; while(x

System.out.print(x); }

【运行结果】33453456

【程序解析】本程序主要考查for循环和while循环嵌套的情况。在for循环第1次执行到while语句时,j和x的值分别为3和2,此时“while(x0”条件满足,进入for循环体。在for循环第2次执行到while语句时,j和x的值分别为5和2,此时“while(x0”条件不满足,退出for循环,结束程序执行。 5. public class X3_3_5 {

public static void main(String[] args) { int i=8, j=2; while(j< --i) } }

【运行结果】6

【程序解析】本程序主要考查while循环和for循环嵌套执行的情况。第1次执行“while(j< --i)”时,j和—i的值分别为2和7,条件满足,执行for循环,for循环体共执行了4次,j的值增4,变为6;然后又第2次执行“while(j< --i)”,此时j和—i的值分别为6和6,条件不满足,结束while循环,输出j的值。 6. public class X3_3_6 {

public static void main(String[] args) {

int a=0, b=1;

if(b%2==0)

a += b;

do{ b++;

}while(b <= 100); System.out.print(a); } }

【运行结果】2550

【程序解析】本程序主要考查do…while循环的执行情况。执行循环体之前,a=0,b=1,进入循环体后,由于“b%2==0”的条件不满足,因此直接执行“b++”,b的值变为2,满足“while(b <= 100)”条件,再次进入循环体。此时“b%2==0”的条件满足,语句“a+=b”执行,然后执行“b++”,再进行“while(b <= 100)”判断,如此一直执行下去,直至该条件不满足为止,最后输出a的值。从循环过程来看,只有b为偶数时才加到a中去,因此a的值应该是“2+4+6+…+100”。 7. public class X3_3_7 {

public static void main(String[] args) { for(int i=1; i<=10; i++){

8

for(int k=0; k<4; k++) j++;

System.out.print(j);

} } }

if(i<=5) continue;

System.out.print(i + \

【运行结果】6 7 8 9 10

【程序解析】本程序主要考查continue语句的使用情况。由于“if(i<=5) continue;”语句,使得for循环变量i从1到5的循环过程中都不能执行“System.out.print(i + \”,只有i的值从6到10时才执行该语句,因此输出结果为“6 7 8 9 10”。 8. public class X3_3_8 {

public static void main(String[] args) { char ch='7'; int r=10; switch(ch+1){ }

System.out.print(r); } }

【运行结果】27

【程序解析】本程序主要考查switch…case语句,由于“ch+1”的值是'8',因此程序执行了“r += 8;”语句,由于该语句后没有break,因此又执行了后面的“r += 9;”语句,由于r的初值为10,因此r最后的值为27。 9. public class X3_3_9 {

public static void main(String[] args) { lable:

} }

【运行结果】3 6 7

【程序解析】本程序主要考查continue lab语句的运行情况。当程序执行到“continue lable;”语句时,程序直接跳转到外层for循环,执行下一次循环。

10. public class X3_3_10 {

public static void main(String[] args) { int j=0;

a1: for(int i=3; i>0; i--){

9

j += i;

for(int k=1; k<3;k++){ }

j *= k; if(i==k)

break a1;

a2:

for(int i=0; i<3; i++){

for(int j=0; j<3; j++){ }

System.out.print(\

if(i==j) continue lable; System.out.print(i*3+j+\case '7': r += 7; case '8': r += 8; case '9': r += 9;

default:

}

}

}

System.out.println(\

}

【运行结果】j= 16

【程序解析】本程序主要考查break lab语句的执行情况。当程序执行到“break a1;”时,程序流程直接跳出a1所在的外层for循环,输出j的值。 四、编写程序

1.利用if语句,根据下列函数编写一个程序,当键盘输入x值时,求出并输出y的值。

y = x (x<=1) 3x-2 (1=10) 【编程分析】本题主要考查if…else语句的使用。根据给定的数学算式,只要给出x的值,就有对应的y算式,因此利用if…else语句直接可以实现。

【参考程序】 import java.io.*; public class X3_4_1 {

public static void main(String[] args) throws IOException{ } 【运行结果】

9 x = 9 y = 25

2.利用switch语句将学生成绩分级,当从键盘中输入学生成绩在100~90范围时,输出“优秀”,在89~80范围时输出“良好”,在79~70范围时输出“中等”,在69~60范围时输出“及格”,在59~0范围时输出“不及格”,在其他范围时输出“成绩输入有误!”。 【编程分析】本题主要考查switch语句的使用。由于要根据一定的数值范围来输出相应的汉字,而switch后面的表达式类型不能是一个范围,因此要把一个整数范围变成一个整数来满足要求。由于Java中的int和int运算的结果还是int型,可以把某个给定的程序除10,如89/10和81/10的结果都是8,这样就满足了要求。 【参考程序】

import java.io.*;

public class X3_4_2 {

public static void main(String[] args) throws IOException{ 10

InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int score, k;

score = Integer.parseInt(br.readLine()); if(score>100 || score<0){

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(\

}


(部选)JAVA各章习题及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:营养师模拟试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: