?
一、选择题
1.下面哪个不能用于switch语句的参数?
a. byte b=1; b. int i= 1;c.boolean b=false;
d.char c='a';
2.下面if语句错误有哪些?
if(x++){
y=x*z;
x/=2;
else{
y=y*y;
++z;
}
a. if条件不能用后置运算符;
b.if条件必须是布尔型,不能使用数值型;
c.else处掉了一个“}”;
d.可以使用break,跳出if分支。
3.下面程序执行后输出的结果是什么?
for(int I=0;I<2;++I){
System.out.println("I is "+I);
}
a. I is 1
I is 2
b. I is 1
c. I is 0
I is 1
d. I is 0
4.下面程序能否正确编译?
int i=0;
while(1){
System.out.print("I plus one is " +(i+1));
}
a. yes b. no
5.下面程序能否正确编译?
for(;;){
System.out.print("inside the loop");
}
a. yes b. no
二、指出下面程序段运行结果
1.
int i=0;
while(i>0){
System.out.println("value of i:" +i);
}
do{
System.out.println(i);
}while(i<2);
2.
int i=1;
do {
while(i<1){
System.out.print("i is "+i);
}
}while(i>1);
3.
for(int i=0;i<2;i++){
switch(i){
case 0:
System.out.println("i is 0");
break;
case 1:
System.out.println("i is 1");
continue;
}
System.out.println(i);
}
三、编程题
1.请编写程序完成个人所得税计算。
个税免征额3500元
(工资薪金所得适用)
级数 全月应纳税所得额全月 税率(%) 速算扣除数
1 不超过1,500元 3 0
2 超过1,500元至4,500元的部分 10 105
3 超过4,500元至9,000元的部分 20 555
4 超过9,000元至35,000元的部分 25 1,005
5 超过35,000元至55,000元的部分 30 2,755
6 超过55,000元至80,000元的部分 35 5,505
7 超过80,000元的部分 45 13,505
例如:某人某月工资减去社保个人缴纳金额和住房公积金个人缴纳金额后为5500元,
个税计算:(5500-3500)*10%-105=95元
2.一个球从100米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求它在第十次落地时,共经过多少米?第十次反弹多高?
要求:使用循环结构语句实现。