共13页第1页郑州大学软件技术学院《程序设计导论》课程试题2009-2010学年第二学期(模拟卷)(适用专业:考试时间:120分钟)注意:请将所有答案写在答题纸上。合分人:复查人:一、单项选择:(每题2分,共40分)分数评卷人1、在Java中,main()方法的返回值的类型是:A、publicB、staticC、voidD、String2、Java源程序文件的扩展名为:A、.javaB、.classC、.exeD、.jar3、在JAVA中,下列标识符合法的是:A、3kyouB、@163C、nameD、while4、设有定义inta=3,b=4,c=5;则以下的表达式中,值为false的是:A、ab&&bcB、a=bC、a(b+c)D、!(ab)5、以下选项中,合法的赋值语句是:A、a1;B、i++;C、a=a+1=5;D、y=int(i);6、若所用变量都已正确定义,以下选项中,非法的表达式是:A、a!=4||b==1;B、’a’%3;C、’a’=1/3;D、’A’+32;7、以下的变量定义语句中,合法的是:A、byte=128;B、boolean=null;C、longa=123L;D、double=0.9239d;8、下列程序段执行后t3的结果是()。intt1=2,t2=3,t3;t3=t1t2?t1:(t2+t1);A、2B、4C、5D、69、Java语言中创建一个对象使用的关键字是:A、classB、interfaceC、newD、create10、已知inta[]=newint[10],则下列对数组元素的访问不正确的是:A、a[0]B、a[1]C、a[9]D、a[10]11、下列方法定义中,正确的是:A、intx(){charch=’a’;return(int)ch;}B、voidx(){...returntrue;}题号一二三四总分分数共13页第2页C、intx(){...returntrue;}D、intx(inta,b){returna+b;}12、在某个类A中存在一个方法:voidset(intx),以下不能作为这个方法的重载的声明的是:A、voidset(inty)B、intset(intx,doubley)C、doubleset(intx,inty)D、voidset(intx,inty)13、下列语句序列执行后,i的值是:for(inti=2;i=10;i++)System.out.println(i);A、2B、10C、11D、不确定14、以下不属于构造方法特征的是:A、构造方法名与类名相同B、构造方法不返回任何值,也没有返回类型C、构造方法在创建对象时调用,其他地方不能显式地直接调用D、每一个类只能有一个构造方法15、已知声明并初始化二维数组inta[][]={{1,2},{3,4},{5,6}},则a[1][1]的值为:A、1B、2C、4D、516、要表示10个学生的成绩,下列声明并初始化数组正确的是:A、int[]score=newint[];B、intscore[10];C、intscore[]=newint[9];D、intscore[]=newint[10];17、下列代码中的错误是:(1)publicclassTest(2){(3)publicstaticvoidmain(String[]args)(4){(5)inti;(6)i+=1;(7)}(8)}A、非法的表达式i+=1B、找不到符号iC、类不应为publicD、尚未初始化变量i18、下列不属于访问控制符的是:A、publicB、privateC、protectedD、static19、在Java中,属于整数类型变量的是:A、singleB、doubleC、byteD、char20、局部变量能否和成员变量重名?A、可以,局部变量可以与成员变量重名,这时可用“this”来指向成员变量B、可以,这时可用“local”关键字来指向局部变量C、不能,局部变量不能与成员变量重名D、不能,在一个类中不能有重名变量,不管是成员变量还是函数中的局部变量共13页第3页二、读程序,写出程序运行后的结果。(共18分)分数评卷人1、classP2_1{publicstaticvoidmain(Stringargs[]){inta=2,b;b=a++;System.out.println(b=+b);b=--a;System.out.println(b=+b);b=a/10*10;System.out.println(b=+b);}}2、classP2_2{staticvoidreverse(Strings){intn=s.length();for(inti=n-1;i=0;i--){System.out.print(s.charAt(i));}System.out.println();}publicstaticvoidmain(Stringargs[]){Strings=abcd;reverse(s);System.out.println(s);}}3、classP2_3{staticintn1=9;publicstaticvoiddisplay(){byten2=127;n1=n1+n2;(接右页)共13页第4页(接左页)System.out.println(n1=+n1);System.out.println(n2=+n2);}publicstaticvoidmain(Stringargs[]){intn3;n3=n1+2;System.out.println(n1=+n1);System.out.println(n3=+n3);display();}}4、classP2_4{publicstaticvoidmain(Stringargs[]){intday=2;switch(day){case1:System.out.println(法国大餐);break;case2:case4:System.out.println(满汉全席);break;default:System.out.println(香蕉餐);}}}}5、classP2_5{publicstaticvoidmain(Stringargs[]){(接下页)共13页第5页(接上页)for(inti=1;i=3;i++){for(intj=1;j=3-i;j++){System.out.print();}//为一个空格for(intk=1;k=2*i-1;k++){System.out.print(*);}System.out.println();}}}6、publicclassPerson{privateStringname;privatebooleansex;privateintage;publicPerson(){}publicPerson(Stringn,booleans,inta){setName(n);setSex(s);setAge(a);}publicvoidsetName(Stringn){name=n;}publicStringgetName(){returnname;}publicvoidsetSex(booleans){sex=s;}publicStringgetSex(){(接右页)共13页第6页(接左页)if(sex==true)returnmale;elsereturnfemale;}publicvoidsetAge(inta){age=a;}publicintgetAge(){returnage;}publicvoiddisp(){System.out.println(Name:+getName()+Sex:+getSex()+Age:+getAge());}publicstaticvoidmain(Stringargs[]){Personp1=newPerson();Personp2=newPerson(Mary,false,20);p1.disp();p2.disp();}}三、根据程序功能完善程序,在给出的空白处填上正确的语句。(每空3分,共30分)分数评卷人1、求1~100以内所有的偶数之和。classP3_1{publicstaticvoidmain(Stringargs[]){intsum=(1);for(inti=1;i=100;i++){if((2)){Sum=sum+i;//求偶数之和}(接下页)共13页第7页}(接上页)System.out.println(sum);}}2、下列方法用于判断一个数是否为“水仙花数”。水仙花数是一个三位数,它的各位数字的立方和等于该数。publicstaticvoidis(intn){inti,j,k;i=n/100;//求百位j=(3);//求十位k=(4);//求个位if(n==(5))//各位数字的立方和等于该数?System.out.println(n+是水仙花数!);elseSystem.out.println(n+不是水仙花数!);}3、递归方法gcd,返回x和y的最大公约数。x和y的最大公约数方法gcd的递归定义如下:如果y等于0,则gcd(x,y)就是x;否则,gcd(x,y)就等于gcd(y,x%y),其中“%”是求模运算符。staticintgcd(intx,inty){if((6))returnx;else(7);}4、下面的方法为在升序排列的数组中进行二分查找的算法。staticintbinarySearch(intdata[],intkey)//在升序排列的数组中进行二分查找{intleft=0,right=data.length-1,mid;while(left=right){mid=(8);if(key==data[mid])returnmid;elseif(keydata[mid])(9);elseif(keydata[mid])(10);}return-1;}共13页第8页四、编程题,请写出完整的程序。(共12分)分数评卷人1、(5分)编程求1+2+3…+100的值并输出。2、(7分)定义一个水果类Fruit,要求如下:私有属性weight,代表水果的质量,数据类型为float私有属性color,代表水果的颜色,数据类型为String构造方法publicFruit(),将质量和颜色初始化为默认值构造方法publicFruit(floatw,Stringc),将质量和颜色初始化为w和c公有方法getWeight(),用于获取水果的质量公有方法setWeight(),用于设置水果的质量公有方法getColor(),用于获取水果的颜色公有方法setColor(),用于设置水果的颜色公有方法disp(),用于显示水果的质量和颜色共13页第9页郑州大学软件技术学院《程序设计导论》课程试题答题纸一、单项选择题号答案题号答案1~56~1011~1516~20二、读程序,写出程序运行后的结果1、2、3、4、共13页第10页5、6、三、根据程序功能完善程序,在给出的空白处填上正确的语句(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)共13页第11页四、编程题,请写出完整的程序答案一、单项选择(每题2分,共40分)1~5CACDB6~10CCACD11~15AACDC16~20DDDCA二、读程序,写出程序运行后的结果(每题3分,共18分)1、b=2b=2b=02、dcbaabcd3、n1=9n3=11n1=126n2=1274、满汉全席5、*********6、Name:nullSex:femaleAge:0Name:MarySex:femaleAge:20三、根据程序功能完善程序,在给出的空白处填上正确的语句(每空3分,共30分)(1)0(2)i%2==0(3)(n-100*i)/10或者(n%100)/10(4)n-100*i-10*j或者n%10(5)Math.pow(i,3)+Math.pow(j,3)+