算法与程序的设计会考习题带答案解析_第1页
算法与程序的设计会考习题带答案解析_第2页
算法与程序的设计会考习题带答案解析_第3页
算法与程序的设计会考习题带答案解析_第4页
算法与程序的设计会考习题带答案解析_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

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

文档简介

1、2013-2014学年度算法与程序设计模块会考复习题一.选择题1 .计算机解决问题的过程是 BA.确定方案分析问题设计步骤设计程序B.分析问题确定方案设计步骤设计程序C.分析问题设计步骤确定方案设计程序D.设计程序分析问题设计步骤确定方案2 .程序设计语言的分类是A 。.顺序结构、分支结构和循环结构(程序的三种结构).自然语言、伪代码和流程图A.机器语言、汇编语言和高级语言BC.低级语言、中级语言和高级语言D3 .流程图中表示判断的是B 。A.矩形框B .菱形框 C .圆形框 D .椭圆形框计算判断平行四边形:输出圆角矩形:开始和结束4 .在Java系统中设计程序,源代码文件的扩展名是C。A.

2、 txtB . classC. java D . doc文本文件java编译后,字节码word文件图片文件 jpg,gif,bmp 视频 avi, wmv flv , 3gp, MP4 音频 mp3 wma wav, mid5 .用于将两个或多个字符串连接起来的运算符是D 。A. * B. + C. & D. +&&W,都为真则真,否则假|或,其一为真就为真%取余数 14%4结果为2运算顺序,先乘除,再加减,再比较>=,在非,与,或。6 .下列可以作为合法变量名的是 AA. $1 B. class C. 2b D. a*2(1)字母开头,后面跟着字母或数字(2)字

3、母又包含$,_不能为java关键字。区分大小写。7 .关于java规则错误的是A 。A. Java语句不区分大小写B.主类名必须与文件名一致C. main()是程序执行的起点D.Java语句以分号结尾8.要想正确的调试出程序,在保存A.完全一致B ,完全不同Java源程序时主类名必须与文件名A 。C. 可以相同也可以不同 D.大小写可以不一样9 .下列不合法的运算符是 CA.B. !=C. <>D. >=二学1断是否等于!=不等于 >=大于或等于<二小于或等于10 .下面关于算法的描述,错误的是 C 。A.算法可以用自然语言来表示B.算法可以用流程图来表示C.同一

4、种算法只能用一种程序语言来实现D.同一种算法可以用不同的程序语言来实现11 .定义变量:int a; 则变量a的类型是 D。A.字符型B .浮点型C .逻辑型 D .整数型char 2 字节 float 4 字节 boolean 1bit 8 位=1 字节 int 4 字节byte 字节型1字节1-128 , 127】short 短整型2字节 long 长整型8字节12.变量x、v、z的值分别是1、3、5,执行语句组:A. 3 5 1B . 3 5 3C .=表示赋值,把右边值传给左边x=y=3Y=z=5Z=x=3(x在前两步已经变为 3)x=y; y=z; z=x 后,x、y、z的值分别是B

5、5 3 1 D . 5 1 313 .表达式50 % 7 的值是 B 。A. 0B . 1C. 2D . 3可实现的功能是14 .语句 System.out.println();A.输出一个空行 B.输出一个空格C.什么都不做D.出现错误信息15 .下列选项中哪个不属于程序设计的三种基本结构A.顺序结构B.选择名构(分支结构)C.条件结构D.循环结构16.下面的流程图应属于哪种程序结构(有返回的箭头就为循环)N满足条件?N=1000TrueFalseN=N+1输出结果A.顺序结构.分支结构17.假设 int a=2;int b=3;则执行b+=a语句后b的值是A. 2 b+=a,相当于B. 1

6、C. 6D. 5b=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 qA. (int)(Math.rand

7、om()*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,5922 .只定义5个元素的int型数组的最大下标值是B qA. 5 B. 4 C. 6 D. 7数组最大下标,为数组长度减1,5-1

8、=423 .若需要将字符串类型变量转换为整型,使用的方法是B 。A. integer.parseint() B. Integer.parseInt()C. double.parsedouble() D . Double.parseDouble()Integer.parseInt(),Double.parseDouble(),Long.parseLongO,Float.parseFloatO24 .在public static void main(String args口)主方法中,使用命令行方式输入数据,第一个参数将传递给数组元素 A 。A. args0 B . args1 C . argsn

9、 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. String B.int

10、C. long D.double28 .在for循环中执行 A语句后终止某个循环,使程序跳到循环体外的第一个可执行语句。D.stopA. break B .continue跳过本次,执行下一个C. return 返回调用函数29 .下面哪种循环结构在条件表达式被计算之前至少执行了一次循环体语句?CA. for B . while C . do-while D ,都不是30 .假设a=8; b=4; 则执行 max=(a>b) ? a:b;语句后,max的值是 A。A. 8 B. 4C. 12 D. 2?:简化的if结构 if(a>b) max=a else max=b二、操作题(读

11、程序判断运行结果、程序填空)1. public class lx public static void main(String args)int a,b,c,d;a=6;b=3;c=(a+b)*(a-b);/(6+3)*(6-3)=9*3=27d=(a+b)/(a-b);/(6+3)/(6-3)=9/3=3System.out.print(a+" "+b+" "+c+" "+d); 上面程序的运行结果是 A A. 6 3 27 3 B. 3 6 27 3 C. 6 3 6 3 D. 27 3 6 32. public class lx

12、 /编译 javac lx.java运行 java lx 9 8/args0从dos窗口输入的第一个参数,即 9 public static void main(String args) int x = Integer.parseInt(args0);double y;if (x >0 ) y=Math.sqrt(x);/开根号else不变容双引号,变化容不加号,直接+连接 y= Math.abs(x); /绝对值System.out.println("y="+y);/以命令行方式运行上面程序,输入数据9的结果A. y=9.0 B. y=-9.0 C. y=91 D.

13、 y=3.03. public class lx public static void main(String args)int x=2;switch(x)/ /要点,根据switch 的值,执行对应的 case, case 1:System.out.println(Math.pow(3,2);3的 2 次哥break;case 2:System.out.println(Math.abs(-5);x break;case 3:System.out.println(Math.sqrt(9); break;case 4:System.out.println(Math.max(7,10); brea

14、k;上面程序的运行结果是 BA. 9 B. 5 C. 3 D. 10的值为2,则执行本case,即取-5的绝对值,结果为 5根号9求7和10的最大值4. public class lx public static void main(String args口) int s=0;/ s 初值为 0for (int a=1;a<=10;a=a+3)/a 的围是 1,4,7,10for外面,结果只有一个 s最终值 s=s+a; / 累力口 s+=a; sum=sum+aSystem.out.print(s+" ");/一般情况,此语句在a的围是1,4,7,10当 a=1 时

15、,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又因为输出语句在循环,所以每次都输出,得出输出结果为1 5 12 22若输出语句在循环外,则只有最后的输出 22D. 1 5 12 22上面程序的运行结果是 DA. 1 5 12B , 1 4 7 10C. 1 4 75. public class lxpublic static void main(String args口) int x=1; /x 初值为 1do if (x%2=0 && x%3=0 )/x 能被 2,且能被 3

16、 整除 / /改为 | 输出结果为 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至ij 15中,能被x能被2,且能被3整除的数,即6,12上面程序的运行结果是 DA. 2 3 4 6 B. 1C. 6D. 6 126. public class lx public static void main(String args)int s=0;int t=0;for (int x=11;x<=15;x=

17、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=39System.out.print(s+"");System.out.print(t);上面程序的运行结果是 CA. 11 15 B.39 26 C. 26 39 D. 15 117. public class test public static void main(String args)int a=1,3,5,7,9;/ 数组,下标从 。开始 for

18、(int j=0;j<=4;j+)System.out.print(aj+" ");/输出数组的所有成员 上面程序的运行结果是 B A. a0 a1 a2 a3 a4 B.1 3 5 7 9 C. aj D. 0 1 2 3 4 输出改为“a” +j+ “”8. public class lx public static void main(String args) int a=1,2,3,b=4,5,6,c;c=a; /c=a=1,2,3a=b; /a=b=4,5,6b=c; /b=c=1,2,3System.out.println("a数组的值是:&qu

19、ot;+a0+" "+a1+" "+a2);System.out.println("b数组的值是:"+b0+" "+b1+" "+b2); 上面程序的运行结果是 D A. a数组的值是:a0 a1 a2B. a数组的值是:123b数组的彳1是:b0 b1 b2 b数组的彳1是:456数组的彳1是:4 5 6数组的彳1是:1 2 3C. a 数组的值是:b0 b1 b2 D. a b数组的值是:a0 a1 a2 b9. public class lx public static void main

20、(String args口) int i,j;for(i=1;i<3;i+) for(j=1;j<=3;j+)/ 若改为 j=i ;共执行 5 次,即 i=1 时,for(j=1;j<=3;j+) 3i=2时,for(j=2;j<=3;j+) 2System.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次程

21、序运行完成后,打印输出语句被执行的次数为 D。A. 2B . 3 C . 5D. 610. import java.io.*;public class lx public static void main(String args) throws IOException InputStreamReader reader=new InputStreamReader(System.in);BufferedReader input=new BufferedReader(reader);System.out.print("请输入一个正整数:");String x=input.read

22、Line();int a=Integer.parseInt(x);int s=1;/s=1,表示假设 a是质数for (int i=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+"是素数");elseSystem.out.println(a+"不是素数"); 运行程序时,输入数据:13,则程序显示的结果是 A 。 A. 13是素数B . 13不是素数C . s=0D. s=1*下面的四道题,请依据题目的要求,将程序补

23、充完整。11.请计算并输出1-5的平方值,程序运行结果如下图。二 C: XTIITDOTS syst e 132 cad.,public class lx public static void main(String args) double s,i;for (i=1; ;)/i 的围是1到5,推出(1)应该填写i<=5,(2)为i=i+1 s=Math.pow( ,);/s 为i的平方,则(3)填写底数i ,(4)填写平方,即 2System.out.println( +" 的平方值是:"+s);/(5)为项数,即 i 填空处应选择 CA. i=5 B. i<

24、5 C. i<=5 D. i=2填空处应选择 AA. i+ B. s+ C. i+=2 D. s+=2填空处应选择 BA. x B. i C. 2 D. s填空处应选择DA. y B. s C. iD. 2填空处应选择DA. s B. Math.pow(x,y) C. x D. i12.三个连续的自然数,依次是4、7、9的倍数,问这三个自然数最小是多少?程序运行结果如下图。public class lx public static void main(String args) int i=0;int x=0; while ();if (i%4=0)&&()&&am

25、p;()/三个连续的自然数能被 4,7,9整除。又因为i%4=0,则(3)是i+1能被7整除,(4)是i+2能被9整除x=1; /符合条件,x=1,又有循环前x=0,推出x为循环判断的条件。可以推出 是x=0时,运行/i每次加1,推出 (2)为x=x+1 System.out.println("这三个连续的自然数是:"+i+" "+ +” "+(i+2);填空处应选择 BA. x=0 B. x=0 C. i=0D.i=0填空处应选择 AA. i+ B. x+ C. x=1 D. i=1填空处应选择 DA. i%7=0B. i%7=0C. (i+

26、1)%7=0D. (i+1)%7=0填空处应选择DA. i%9=0B. i%9=0C. (i+2)%9=0D. (i+2)%9=0填空处应选择 CA. i B. i+2 C. i+1 D. 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)double s=0;for(int i=1;i<=10000;i+)s=s+1/(2*i-1);-1n次哥可以比较累加与本题的区别,看出本题

27、奇数项为加号,偶数项为减号,在不敢变数值的情况下,只有 解决。public class lxpublic static void main(String args)double i,x;double ;for (i=1;i<=10000;i+) x=Math.pow(,);s=s+x*( );System.out.println(" 兀的近似值为:"+);填空处应选择BA. sB. s=0C. x=0D. s=1填空处应选择AA. -1B. iC. i+1D. s+1填空处应选择CA. -1B. iC. i+1D. s+1填空处应选择DA. 1/2*i-1 B. 1/

28、2i-1 C. 1/(2i-1) D. 1/(2*i-1) 填空处应选择 CA. s B. 4s C. 4*s D. x14.斐波那契数列又因数学家列昂纳多斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列” 经过月数: 1 234567891011 12兔子对数: 1 1 2358-13-21-34-55-89-144请编写程序,输出斐波那契数列的前20项。程序运行结果如下图。FilJ-l f(2 = l FI3J-3 f<41=3 riGi-s fR 3=3 F17J-13 Fl»J=21 F(9-34 Fill-E& Ffi 1 -A9F1133233 flHJ-

29、377 FEISJ=BLU f161-JH7 FU?3=15fl7 F(181-258f 31 二请按任意键独缕 public class lxpublic static void main(String args) int f=;f1=1;f2=1;System.out.println();System.out.println("f2=1");for (int i=;i<=20 ; i+) fi=;System.out.println("f"+i+"="+); 填空处应选择 CA. new int0 B. new int10

30、C. new int25 D. new intf填空处应选择AA. "f1=1" B. f1=1 C. "f2=1" D. f2=1填空处应选择DA. 0B. 1C. 2D. 3填空处应选择 BA. fi+1+巾+2B.巾-1+用-2C. fi-1-fi-2 D. fi+fi+1填空处应选择 DA. fi+1 B. fi+2 C. fi-1 D. fi三、作品题(编程题)1 .已知密度计算公式是:p=m/v。某物体,重量是 350kg,体积是2.8m3,请编程求出该物体的密度。public class lx public static void main

31、(String args) int m=350;double v=2.8;double p=m/v;System.out.println("该物体的密度为:"+p+"千克/立方米)2 .某语音服务系统程序需要计算机做出如下显示:当用户输入1时,显示“您是未注册用户,请拨打 1065”;当用户输入2时,显示“您是已注册用户,请拨打 1066”;当用户输入3时,显示“您是高级用户,请拨打1067”;当用户输入4时,显示“您是vip用户,请拨打1068”。请你编写程序帮助实现此功能。import java.io.*;public class yonghupublic s

32、tatic void main(String args) throws IOExceptionInputStreamReader reader=new InputStreamReader(System.in);BufferedReader input=new BufferedReader(reader);System.out.print("请输入数字 1-4 :");String s=input.readLine(); int x=Integer.parseInt(s); switch (x) case 1:您是未注册用户,请拨打1065");您是已注册用户,请拨打1066");您是高级用户,请拨打1067");您是vip用户,请拨打1068");System.out.println(" break;case

温馨提示

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

评论

0/150

提交评论