“程序设计基础-Java”期中测试答卷 (试卷在后)
专业___________学号____________姓名___________ 一.单项选择题(每空1分) 1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 15、 二、填空题(每题2分) 1、 3、 5、 7、 9、 2、 4、 6、 8、 10、 三、程序阅读题(每题5分)
1、 2、 3、 4、 5、
四、程序(段)填空题(每空4分) (1) (3) (5) (7) (9) (2) (4) (6) (8) (10) “程序设计基础-Java”期中测试
一.单项选择题
1. 已知int a=3,b=4,c=9;,以下表达式值不为零的是______。
A.a/b A. 12L
B.c/b/a B. -10
C.c%a C. 1,900
D.c%b D. 0x123 D.true
2. 以下选项中不正确的整型常量是_____。
3. 设z=false,则表达式 !!!z 的值是______。
A.0 B.1 C.false 4. 表达式 !(x>0||y>0) 等价于_____。
A.!x>0||!y>0 B.!(x>0)||!(y>0) C.!x>0&&!y>0 D.!(x>0)&&!(y>0)
5. 若变量已正确定义并赋值,表达式______不符合Java语言语法。
A.true&&false B.+a C.int(3.14) D.a=b=5 6. 设x=5,y=5,z=0,则表达式
(z=1)!=0&&(z==1)||(x=0)!=z 和x,y,z的值分别是_______。
A.true 5 5 1 B.false 5 5 1
C.true 5 5 0
D.true 0 5 1
7. 设x=012,执行语句System.out.print(x); 将得到______。 A.012 B.12 C.10 D.18 8. 设x=5,y=6,则表达式
(x!=0)&&(y=5)
的值是_______。
A.0 B.true C.false
9. 若x是double类型变量,表达式 x=10/4 的值是_____ 。 A.2.5 B.2.0 C.3
10. 若变量已正确定义并赋值,表达式 -k++ 等价于______。 A.-(k++) B.(-k)++ 11. 设c='m',则表达式
c-1=='n'||c+1=='n'
的值是_______。 A.0
B.1
C.-(k+1)
D.表达式有错 D.2 D.-(++k)
C.true D.false
12. 已知字符 ‘a’ 的ASCII码为 97 ,执行下列语句的输出是_____。
System.out.println ('b'+\A.b,c B.语句不合法 C.98, 99 D.b,99 13. 以下选项中不正确的实型常量是_____。
A.1E3.2 B.2.3e-1 C..23 14. 下列运算符中,优先级从高到低依次排列为_____。
D.2.3e0
A.!,&&,|| B.||,&&,! C.&&,||,! D.&&,!,||
15. 执行 i=2; if(i>2) if ( i<3 ) i=1; else i=2; i=3; 后i的值应为: _____。
A.1 B.2 C.3 D.语句错误
二、填空题
1. 设ch是字符型变量,判断ch为数字字符的表达式是______。 2. 计算下列分段函数的赋值语句是______(使用条件表达式)。
1 x>0
y= 0 x=0 -1 x<0
3. 设b=2,表达式 !(b==2) 的值是______。 4. 下列程序段执行后,i = ____ s = ____ int i=10,s=0;
while(i!=1){s+= --i;}
5. 下列程序段的输出结果是_____。
int k, s;
for(k=0, s=0; k<10; k++)
if (s>k) break;
else s += k; System.out.println( k+\
6. 输入12345#后,下列程序段的输出结果是_____。 import java.io.*; public class T1{
public static void main(String []args)throws IOException{
char c;
for(c=(char)System.in.read(); (char)System.in.read()!='#'; c=(char)System.in.read()) System.out.print(c);
} }
7. 用下列for循环将小写字母逆序输出(即从z到a), 其语句应为:
for (i=0; i<26; i++) ________。 8. 下列程序的输出结果是_____。
public class T1{
static int f(int m) { int k=0,s=0; for(; k<=m; k++) s++; return s; }
public static void main(String []args){ int s=1; s=f(5);
System.out.println(s+\
} }
9. 下列程序段的输出结果是______。
short b=(short)(0x12345678); System.out.println(b);
10. 循环 i=1;for(j=7; ++i!=--j; ) s=i+j; 循环体将执行_____次。
三、程序阅读题
1. 下列程序的输出结果是_______。
public class T1{ public static void main(String []args){ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y){
case 0: a++;break; case 1: b++; break; }
case 2:
a++;b++;break;
}
case 3: a++;b++; }
System.out.println(a+\}
2. 下列程序的输出结果是______。
public class T1{
public static void main(String []args){ int x, k;
x =12;
for (k=0; x!=0; x=x-2) ++k;
System.out.println(\}
}
3. 输入c2470f ?<回车>后,下列程序的输出结果是_______,该程序的主要功能是
_______。(其中ch=(char)System.in.read();表示读入一个字符)
import java.io.*; public class T1{
public static void main(String []args)throws IOException{
char ch;
long number=0;
while((ch=(char)System.in.read())<'0'||ch>'6') ; while(ch!='?'&&ch>='0'&&ch<='6'){ number=number*7+ch-'0';
System.out.print(number+\ ch=(char)System.in.read();
} } }
4. 输入4<回车>后,下列程序的输出结果是_______。
import java.util.*;
public class T1{
public static void main(String []args){
int j,k,n; long f,s;
Scanner in=new Scanner(System.in); n=in.nextInt(); s=0; f=1;
for(k=1;k<=n;k++){ for(j=1;j System.out.print(s+\ } } } 5. 若输入-10+15*3/5=<回车> , 则以下程序的输出结果是_______。 import java.io.*; public class T1{ public static void main(String []args)throws IOException{ int m=0, sum=0; char c, oldc='+'; do { } } c=(char)System.in.read(); if(c<='9'&&c>='0') m=10*m+c - '0'; else { if(oldc=='+') sum += m; } else sum -= m; m=0; oldc=c; System.out.print(sum+\ } while(c!='='); 四、程序(段)填空题 1.输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + …… import java.util.*; public class T1{ public static void main(String []args){ // S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + …… int k, flag, n; float s; Scanner in=new Scanner(System.in); n=in.nextInt(); flag=1; ___(1)___; for (k=1 ; k<=n; k++){ s=s+___(2)___; ___(3)___; } System.out.println(\ } } 2.输入以 -1结束的一批整数,输出其中的最大值。