算法与程序的设计会考习题带答案解析_第1页
算法与程序的设计会考习题带答案解析_第2页
算法与程序的设计会考习题带答案解析_第3页
算法与程序的设计会考习题带答案解析_第4页
算法与程序的设计会考习题带答案解析_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2013-2014学年度《算法与程序设计》模块会考复习题选择题1.计算机解决问题的过程是____B___。A.确定方案分析问题设计步骤设计程序B.分析问题确定方案设计步骤设计程序C.分析问题设计步骤确定方案设计程序D.设计程序分析问题设计步骤确定方案2.程序设计语言的分类是A。A.机器语言、汇编语言和高级语言B.顺序结构、分支结构和循环结构(程序的三种结构)C.低级语言、中级语言和高级语言D.自然语言、伪代码和流程图3.流程图中表示判断的是B。A.矩形框B.菱形框C.圆形框D.椭圆形框计算判断平行四边形:输出圆角矩形:开始和结束4.在Java系统中设计程序,源代码文件的扩展名是___C____。A.txtB.classC.javaD.doc文本文件java编译后,字节码word文件图片文件jpg,gif,bmp视频avi,wmv,flv,3gp,MP4音频mp3,wma,wav,mid5.用于将两个或多个字符串连接起来的运算符是D。A.*B.++C.&D.+&&与,都为真则真,否则假||或,其一为真就为真%取余数14%4结果为2运算顺序,先乘除,再加减,再比较>=,在非,与,或。6.下列可以作为合法变量名的是A。A.$1B.classC.2bD.a*2(1)字母开头,后面跟着字母或数字(2)字母又包含$,_不能为java关键字。区分大小写。7.关于java规则错误的是A。A.Java语句不区分大小写B.主类名必须与文件名一致C.main()是程序执行的起点D.Java语句以分号结尾8.要想正确的调试出程序,在保存Java源程序时主类名必须与文件名__A。A.完全一致B.完全不同C.可以相同也可以不同D.大小写可以不一样9.下列不合法的运算符是C。A.==B.!=C.<>D.>===判断是否等于!=不等于>=大于或等于<=小于或等于10.下面关于算法的描述,错误的是C。A.算法可以用自然语言来表示B.算法可以用流程图来表示C.同一种算法只能用一种程序语言来实现D.同一种算法可以用不同的程序语言来实现11.定义变量:inta;则变量a的类型是D。A.字符型 B.浮点型 C.逻辑型D.整数型char2字节float4字节boolean1bit8位=1字节int4字节byte字节型1字节【-128,127】short短整型2字节long长整型8字节12.变量x、y、z的值分别是1、3、5,执行语句组:x=y;y=z;z=x后,x、y、z的值分别是B。A.351 B.353 C.531D.513=表示赋值,把右边值传给左边x=y=3Y=z=5Z=x=3(x在前两步已经变为3)13.表达式50%7的值是B。A.0 B.1 C.2 D.314.语句System.out.println();可实现的功能是A。A.输出一个空行B.输出一个空格C.什么都不做D.出现错误信息15.下列选项中哪个不属于程序设计的三种基本结构C。A.顺序结构B.选择结构(分支结构)C.条件结构D.循环结构16.下面的流程图应属于哪种程序结构C(有返回的箭头就为循环)。N=1000N=1000N满足条件?N=N+1输出结果FalseTrueA.顺序结构B.分支结构C.循环结构D.都不适合17.假设inta=2;intb=3;则执行b+=a语句后b的值是D。A.2B.1C.6D.5b+=a,相当于b=b+a=3+2=5同理b*=a,为b=b*a18.在调试程序过程中,下列哪一种错误是计算机检查不出来的?CA.编译错误 B.执行错误 C.逻辑错误 D.任何错误计算机都能检查出来19.Java程序中注释语句的格式是B。A.//*注释容*//B./*注释容*/除此之外//也表示注释C./注释容/D./*注释容//20.在java的应用程序中,程序执行时A方法是应用程序的执行入口。A.main() B.private() C.class() D.static()21.随机产生[10,60]的整数的表达式是D。A.(int)(Math.random()*60)B.(Math.random()*51+10)C.(int)(Math.random()*50+10)D.(int)(Math.random()*51+10)【m,n】随机整数公式为(int)(Math.random()*(n-m+1)+m),可得出结果另外,考试需要知道反推返回(int)(Math.random()*60),由式子无加数,即+0,推出m为0又n-m+1=60,n-0+1=60,得出n=59所以【m,n】围是[0,59]22.只定义5个元素的int型数组的最大下标值是B。A.5B.4C.6D.7数组最大下标,为数组长度减1,5-1=423.若需要将字符串类型变量转换为整型,使用的方法是B。A.integer.parseint()B.Integer.parseInt()C.double.parsedouble()D.Double.parseDouble()Integer.parseInt(),Double.parseDouble(),Long.parseLong(),Float.parseFloat()24.在publicstaticvoidmain(Stringargs[])主方法中,使用命令行方式输入数据,第一个参数将传递给数组元素A。A.args[0]B.args[1]C.args[n]D.都不对25.下列方法中,可实现求出不大于x的最大整数的是____C_____。A.Math.sqrt(x);根号B.Math.pow(x,y);x的y次幂C.Math.floor(x);不大于D.Math.round(x);4舍5入Math.abs(x)x的绝对值Math.random()[0,1)随机小数26.用于返回x的绝对值的方法是A。A.Math.abs(x)B.Math.round(x)C.Math.sqrt(x)D.Math.pow(x,y)27.switch(表达式)语句中,表达式的值必须是___B_____类型。A.StringB.intC.longD.double28.在for循环中执行__A语句后终止某个循环,使程序跳到循环体外的第一个可执行语句。A.breakB.continue跳过本次,执行下一个C.return返回调用函数D.stop29.下面哪种循环结构在条件表达式被计算之前至少执行了一次循环体语句?CA.forB.whileC.do-whileD.都不是30.假设a=8;b=4;则执行max=(a>b)?a:b;语句后,max的值是A。A.8B.4C.12D.2?:简化的if结构if(a>b)max=aelsemax=b二、操作题(读程序判断运行结果、程序填空)1.publicclasslx{publicstaticvoidmain(Stringargs[]){ inta,b,c,d; a=6; b=3; c=(a+b)*(a-b);//(6+3)*(6-3)=9*3=27 d=(a+b)/(a-b);//(6+3)/(6-3)=9/3=3 System.out.print(a+""+b+""+c+""+d);}}上面程序的运行结果是AA.63273B.36273C.6363D.273632.publicclasslx//编译javaclx.java运行javalx98{publicstaticvoidmain(Stringargs[]){intx=Integer.parseInt(args[0]);//args[0]从dos窗口输入的第一个参数,即9doubley;if(x>0){y=Math.sqrt(x);}//开根号else{y=Math.abs(x);}//绝对值System.out.println("y="+y);//不变容双引号,变化容不加号,直接+连接}}以命令行方式运行上面程序,输入数据9的结果DA.y=9.0B.y=-9.0C.y=91D.y=3.03.publicclasslx{publicstaticvoidmain(Stringargs[]){intx=2;switch(x)//要点,根据switch的值,执行对应的case,{case1: System.out.println(Math.pow(3,2));3的2次幂 break;case2:System.out.println(Math.abs(-5));//x的值为2,则执行本case,即取-5的绝对值,结果为5break;case3:System.out.println(Math.sqrt(9));根号9break;case4:System.out.println(Math.max(7,10));求7和10的最大值break;}}}上面程序的运行结果是BA.9B.5C.3D.104.publicclasslx{publicstaticvoidmain(Stringargs[]){ints=0;//s初值为0 for(inta=1;a<=10;a=a+3)//a的围是1,4,7,10 {s=s+a;//累加s+=a;sum=sum+a System.out.print(s+"");//一般情况,此语句在for外面,结果只有一个s最终值}}}a的围是1,4,7,10当a=1时,s=s+a=0+1=1当a=4时,s=s+a=1+4=5当a=7时,s=s+a=5+7=12当a=10时,s=s+a=12+10=22又因为输出语句在循环,所以每次都输出,得出输出结果为151222若输出语句在循环外,则只有最后的输出22上面程序的运行结果是DA.1512 B.14710 C.147 D.1512225.publicclasslx{publicstaticvoidmain(Stringargs[]){intx=1;//x初值为1do{if(x%2==0&&x%3==0)//x能被2,且能被3整除//改为||输出结果为2,3,4,6,8,9,10,12,14,15{System.out.print(x+"");}x++;//x每次加1,等同于x=x+1或x+=1;}while(x<=15);//x小于等于15时运行程序X的围是1到15中,能被x能被2,且能被3整除的数,即6,12}}上面程序的运行结果是DA.2346B.1C.6D.6126.publicclasslx{publicstaticvoidmain(Stringargs[]){ints=0;intt=0;for(intx=11;x<=15;x=x+1)//x的围是11,12,13,14,15{if(x%2==0)//x的围能被2整除的数累加,即s=12+14=26{s=s+x;}else{t=t+x;}//t为x的围,不能被2整除的数累加,11+13+15=39}System.out.print(s+"");System.out.print(t);}}上面程序的运行结果是CA.1115B.3926C.2639D.15117.publicclasstest{publicstaticvoidmain(Stringargs[]){ inta[]={1,3,5,7,9};//数组,下标从0开始for(intj=0;j<=4;j++) { System.out.print(a[j]+"");//输出数组的所有成员 } }}上面程序的运行结果是BA.a[0]a[1]a[2]a[3]a[4]B.13579C.a[j]D.01234输出改为”a”+j+“]”8.publicclasslx{publicstaticvoidmain(Stringargs[]){inta[]={1,2,3},b[]={4,5,6},c[];c=a;//c=a={1,2,3}a=b;//a=b={4,5,6}b=c;//b=c={1,2,3}System.out.println("a数组的值是:"+a[0]+""+a[1]+""+a[2]);System.out.println("b数组的值是:"+b[0]+""+b[1]+""+b[2]);}}上面程序的运行结果是DA.a数组的值是:a[0]a[1]a[2]B.a数组的值是:123b数组的值是:b[0]b[1]b[2]b数组的值是:456C.a数组的值是:b[0]b[1]b[2]D.a数组的值是:456b数组的值是:a[0]a[1]a[2]b数组的值是:1239.publicclasslx{publicstaticvoidmain(Stringargs[]){inti,j; for(i=1;i<3;i++) {for(j=1;j<=3;j++)//若改为j=i;共执行5次,即i=1时,for(j=1;j<=3;j++)3次i=2时,for(j=2;j<=3;j++)2次,共5次 {System.out.println(i+"*"+j+"="+i*j);} }//双层for循环的解法,具体化外循环,分析循环。当i=1时,j的围是for(j=1;j<=3;j++)循环3次当i=2时,j的围是for(j=1;j<=3;j++)循环3次得出输出语句,共执行3+3=6次}}程序运行完成后,打印输出语句被执行的次数为____D______。A.2B.3C.5D.610.importjava.io.*;publicclasslx{publicstaticvoidmain(Stringargs[])throwsIOException{InputStreamReaderreader=newInputStreamReader(System.in);BufferedReaderinput=newBufferedReader(reader);System.out.print("请输入一个正整数:");Stringx=input.readLine();inta=Integer.parseInt(x);ints=1;//s=1,表示假设a是质数for(inti=2;i<=(a-1);i++)//i的围从2到a-1,{if(a%i==0)//找到一个能被a整除的i,则a不是质数 {s=0;}}if(s==1){System.out.println(a+"是素数");}else{System.out.println(a+"不是素数");}}}运行程序时,输入数据:13,则程序显示的结果是_____A_____。A.13是素数B.13不是素数C.s=0D.s=1*下面的四道题,请依据题目的要求,将程序补充完整。11.请计算并输出1-5的平方值,程序运行结果如下图。publicclasslx{publicstaticvoidmain(Stringargs[]){doubles,i;for(i=1;=1\*GB3①;=2\*GB3②)//i的围是1到5,推出(1)应该填写i<=5,(2)为i=i+1{s=Math.pow(=3\*GB3③,=4\*GB3④);//s为i的平方,则(3)填写底数i,(4)填写平方,即2System.out.println(=5\*GB3⑤+"的平方值是:"+s);//(5)为项数,即i}}}填空=1\*GB3①处应选择CA.i=5B.i<5C.i<=5D.i=2填空=2\*GB3②处应选择AA.i++B.s++C.i+=2D.s+=2填空=3\*GB3③处应选择BA.xB.iC.2D.s填空=4\*GB3④处应选择DA.yB.sC.iD.2填空=5\*GB3⑤处应选择DA.sB.Math.pow(x,y)C.xD.i12.三个连续的自然数,依次是4、7、9的倍数,问这三个自然数最小是多少?程序运行结果如下图。publicclasslx{publicstaticvoidmain(Stringargs[]){inti=0;intx=0;while(=1\*GB3①){=2\*GB3②;if((i%4==0)&&(=3\*GB3③)&&(=4\*GB3④)//三个连续的自然数能被4,7,9整除。又因为i%4==0,则(3)是i+1能被7整除,(4)是i+2能被9整除{x=1;}//符合条件,x=1,又有循环前x=0,推出x为循环判断的条件。可以推出(1)是x==0时,运行//i每次加1,推出(2)为x=x+1 }System.out.println("这三个连续的自然数是:"+i+""+=5\*GB3⑤+""+(i+2));}}填空=1\*GB3①处应选择BA.x=0B.x==0C.i=0D.i==0填空=2\*GB3②处应选择AA.i++B.x++C.x=1D.i=1填空=3\*GB3③处应选择DA.i%7==0B.i%7=0C.(i+1)%7=0D.(i+1)%7==0填空=4\*GB3④处应选择DA.i%9==0B.i%9=0C.(i+2)%9=0D.(i+2)%9==0填空=5\*GB3⑤处应选择CA.iB.i+2C.i+1D.x13.圆周率π的计算公式为:π/4=1-1/3+1/5-1/7+1/9…+(-1)(i+1)/(2n-1),编程求π的近似值。程序运行结果如下图。//本题先考虑1+1/3+1/5+.....1/(2n-1)的式子结果为累加,则s初值为0通项是s=s+1/(2*i-1)doubles=0;for(inti=1;i<=10000;i++)s=s+1/(2*i-1);比较累加与本题的区别,看出本题奇数项为加号,偶数项为减号,在不敢变数值的情况下,只有-1的n次幂可以解决。publicclasslx{publicstaticvoidmain(Stringargs[]){doublei,x;double=1\*GB3①;for(i=1;i<=10000;i++){x=Math.pow(=2\*GB3②,=3\*GB3③); s=s+x*(=4\*GB3④);}System.out.println("π的近似值为:"+=5\*GB3⑤);}}填空=1\*GB3①处应选择BA.sB.s=0C.x=0D.s=1填空=2\*GB3②处应选择AA.-1B.iC.i+1D.s+1填空=3\*GB3③处应选择CA.-1B.iC.i+1D.s+1填空=4\*GB3④处应选择DA.1/2*i-1B.1/2i-1C.1/(2i-1)D.1/(2*i-1)填空=5\*GB3⑤处应选择CA.sB.4sC.4*sD.x14.斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。经过月数:---1---2---3---4---5---6---7---8---9---10---11---12兔子对数:---1---1---2---3---5---8--13--21--34--55--89—144请编写程序,输出斐波那契数列的前20项。程序运行结果如下图。publicclasslx{publicstaticvoidmain(Stringargs[]){intf[]==1\*GB3①;f[1]=1;f[2]=1;System.out.println(=2\*GB3②);System.out.println("f[2]=1");for(inti==3\*GB3③;i<=20;i++){f[i]==4\*GB3④;System.out.println("f["+i+"]="+=5\*GB3⑤);}}}填空=1\*GB3①处应选择CA.newint[0]B.newint[10]C.newint[25]D.newint[f]填空=2\*GB3②处应选择AA."f[1]=1"B.f[1]=1C."f[2]=1"D.f[2]=1填空=3\*GB3③处应选择DA.0B.1C.2D.3填空=4\*GB3④处应选择BA.f[i+1]+f[i+2]B.f[i-1]+f[i-2]C.f[i-1]-f[i-2]D.f[i]+f[i+1]填空=5\*GB3⑤处应选择DA.f[i+1]B.f[i+2]C.f[i-1]D.f[i]作品题(编程题)已知密度计算公式是:p=m/v。某物体,重量是350kg,体积是2.8m3,请编程求出该物体的密度。publicclasslx{publicstaticvoidmain(Stringargs[]){intm=350;doublev=2.8;doublep=m/v;System.out.println("该物体的密度为:"+p+"千克/立方米");}}某语音服务系统程序需要计算机做出如下显示:当用户输入1时,显示“您是未注册用户,请拨打1065”;当用户输入2时,显示“您是已注册用户,请拨打1066”;当用户输入3时,显示“您是高级用户,请拨打1067”;当用户输入4时,显示“您是vip用户,请拨打1068”。请你编写程序帮助实现此功能。importjava.io.*;publicclassyonghu{publicstaticvoidmain(Stringargs[])throwsIOException{InputStreamReaderreader=newInputStreamReader(System.in);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论