山东大学网络教育网络工程2008秋《JAVA程序设计》(C卷)试题加答案
- 格式:doc
- 大小:50.50 KB
- 文档页数:5
第一章测试1【判断题】(2分)Java语言最大的优势在于,它能够在所有的计算机上运行,即“一次编写,处处运行”。
A.错B.对2【判断题】(2分)高级语言编写的程序不能直接被计算机识别,必须经过转换才能被执行。
A.对B.错3【单选题】(2分)解释执行Java字节码文件的是哪个命令?A.javadocB.javacC.javapD.java第二章测试1【单选题】(2分)intA=55;charB='E';System.out.println(A+B);A.175B.124C.55D.652【单选题】(2分)shortc=8;byted=16;System.out.println("c|d="+(c|d));A.-8B.24C.12D.13【单选题】(2分)shorta=-128;shortb=128;System.out.println("a&b="+(a&b));A.B.1C.127D.1284【判断题】(2分)char型变量中不能存贮一个中文汉字。
A.错B.对5【单选题】(2分)下列哪个选项是合法的标识符?A.123B._nameC.1firstD.class6【单选题】(2分)下列哪个赋值语句是不正确的?A.floatf=11.1;B.floatd=3.14f;C.doublef=11.1E10f;D.doubled=5.3E12;7【单选题】(2分)给出下列代码,哪行在编译时可能会有?①publicvoidmodify(){②inti,j,k;③i=100;④while(i>0){⑤j=i*2;⑥System.out.println("Thevalueofjis"+j);⑦k=k+1;⑧}⑨}A.4B.7C.8D.6第三章测试1【单选题】(2分)classCount{publicintcount;publicCount(intc){count=c;}publicCount(){count=1;}}publicclassTest{publicstaticvoidincrement(Countc,inttimes){c.count++;times++;}publicstaticvoidmain(Stringargs[]){CountmyCount=newCount();inttimes=0;for(inti=0;i<3;i++)increment(myCount,times);System.out.println("myCount.count="+myCount.count+"times="+time s);}}程序的运行结果正确的是()A.myCount.count=3times=1B.myCount.count=4times=1C.myCount.count=4times=0D.myCount.count=3times=02【单选题】(2分)关于构造方法constructor,下列说法正确的是()A.class中的constructor不可省略B.constructor必须与class同名,且区分返回值的类型。
潍坊学院成人教育《JAVA程序设计》C卷试题及参考答案一、基础问答:(共30分)1、Hashtable的原理,并说出HashMap与Hashtable的区别2、并说出SessionBean和EntityBean的区别,3、WebService缺点:4、同步有几种实现方法,都是什么?5、JSP中动态INCLUDE与静态INCLUDE的区别?二、Java编程与程序运行结果(共32分)1.文件读写,实现一个计数器(20分)2.写一个Singleton模式的例子(12分)三、数据库(共38分)1.使用Class类,显示String类对象s的类名。
(14分)2.对表books进行下列操作:(24分)(1)将表中name为“袖珍英汉词典”的记录的“bk_num”数据项改为130。
(2)删除表中booksname为“袖珍英汉词典”的记录。
(3)在表中插入name为“哈利波特”的记录。
JAVA程序设计答案C一、基础问答:(共30分)1、HashTable的原理:通过节点的关键码确定节点的存储位置,即给定节点的关键码k,通过一定的函数关系H(散列函数),得到函数值H(k),将此值解释为该节点的存储地址.HashMap 与Hashtable很相似,但HashMap 是非同步(unsynchronizded)和可以以null 为关键码的.2、SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件.EntityBean被用来代表应用系统中用到的数据.对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.3、(1).WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
(2).WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一。
(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。
(3) 从键盘输入10个正的整数,找出其中的素数输出。
答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。
不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。
1.下列关于计算机系统和Java编程语言的说法,正确的是(C)A.计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B.Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C.在程序中书写注释不会影响程序的执行,可以多写一些详细的注释。
D.Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
2.下列选项中符合Java命名规则的标识符是(D)A.2japro B. &Class C. const D. _1233.下列在Java语言中关于数据类型和包装类的说法,正确的是(B)A.基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型。
B.long和double都占了64位(64bit)的存储空间。
C.默认的整数数据类型是int,默认的浮点数据类型是float。
D.和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。
4.下面赋值语句中正确的是(A)A.double d=5.3e12;B. float f=11.1;C.int i=0.0;D. Double oD=3;5.如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是(D)A.2530B. 55C. 2052055D. 252556.如下Java语句double x=2.0; int y=4; x/=++y; 执行后,x的值是(C)A.0.5B. 2.5C. 0.4D. 2.07.下列关于Java语言中String和char的说法,正确的是(C)A.String是Java定义的一种基本数据类型。
B.String是以“\0”结尾的char类型的数组char[]。
C.使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。
--.多选题(16分)1、在Java中,以下哪种情况被视为错误?()A、内存芯片故障B、试图用零去除时C、未向用户分配存储单元的引用D、试图执行非法的指令学生答案:AD2、以下哪个是关于Java的正确说法()A具有编译器B、具有解释程序C、具有编译器和解释程序D、具有字节码阅读器学生答案:D3、当我们希望在发生某些条件时跳出循环,可以使用()A.break语句B、continue语句C、exit语句学生答案:AB4.Java语言在体系结构上是()A、定向的B、抽象的C、无关的D、特定的学生答案:BC二、简答题(15分)5、abstract class和interface有什么区别学生答案:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。
不能创建abstract 类的实例。
然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。
不能有抽象构造函数或抽象静态方法。
Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。
取而代之,在子类中实现该方法。
知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。
在接口中,所有方法都是抽象的。
多继承性可通过实现这样的接口而获得。
接口中的所有方法都是抽象的,没有一个有程序体。
接口只可以定义static final成员变量。
接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。
当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。
然后,它可以在实现了该接口的类的任何对象上调用接口的方法。
由于有抽象类,它允许使用接口名作为引用变量的类型。
通常的动态联编将生效。
引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
三、单选题(26分)6、何时抛掷Error异常?()A、当发生动态链接失败或JVM本身发生某些知命错误时B、当OS中的中断处理程序不处理生成的中断时C、当运行时异常系统无法处理它时以上都是学生答案:A7、使用以下哪些修饰符进行修饰时,子类不可访问其变量?()A、ProtectedB、PrivateC、以上两者都是D、以上都不是学生答案:B8、下面语句段的输出结果是什么?()inti=9;switch(i){default:System.out.printn("default");case 0:System.out.printn("zero");break;case 1:System.out.printn("one");case 2:System.out.printn("two");}A、defaultB、default,zeroC、error default clause not definedD、no output displayed 学生答案:B9、引用抽象类的引用变量可以初始化为()A、抽象类的对象B、抽象类子类的对象C、以上两者都是D、以上都不是学生答案:B10、可在方法的作用域中抛掷的异常是:()A.使用Java的throw语句的方法直接抛掷的异常B、被方法通过调用其他方法抛掷的异常上面的a和b以上都不是学生答案:C11、以下关于接口的说法哪些是错误的?()A、创建接口层次结构是可能的。
1.下列关于计算机系统和Java编程语言的说法,正确的是(C)A.计算机是由硬件、操作系统和软件组成,操作系统是缺一不可的组成部分。
B.Java语言编写的程序源代码可以不需要编译直接在硬件上运行。
C.在程序中书写注释不会影响程序的执行,可以多写一些详细的注释。
D.Java的集成开发环境(IDE),如Eclipse,是开发Java语言必需的软件工具。
2.下列选项中符合Java命名规则的标识符是(D)A.2japro B. &Class C. const D. _1233.下列在Java语言中关于数据类型和包装类的说法,正确的是(B)A.基本(简单)数据类型是包装类的简写形式,可以用包装类替代基本(简单)数据类型。
B.long和double都占了64位(64bit)的存储空间。
C.默认的整数数据类型是int,默认的浮点数据类型是float。
D.和包装类一样,基本(简单)数据类型声明的变量中也具有静态方法,用来完成进制转化等。
4.下面赋值语句中正确的是(A)A.double d=5.3e12;B. float f=11.1;C.int i=0.0;D. Double oD=3;5.如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是(D)A.2530B. 55C. 2052055D. 252556.如下Java语句double x=2.0; int y=4; x/=++y; 执行后,x的值是(C)A.0.5B. 2.5C. 0.4D. 2.07.下列关于Java语言中String和char的说法,正确的是(C)A.String是Java定义的一种基本数据类型。
B.String是以“\0”结尾的char类型的数组char[]。
C.使用equals()方法比较两个String是否内容一样(即字符串中的各个字符都一样)。
一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。
A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。
void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。
A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。
int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。
char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。
A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。
A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。
《JAVA程序设计》模拟题 A一.判断题1.Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
(√)2.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
()3.有的类定义时可以不定义构造函数,所以构造函数不是必需的。
()4.由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。
()5.抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法()6.java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(√)7.Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)8.Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。
(√)9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。
()10.System类不能实例化,即不能创建System类的对象。
(√)11.一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。
(√)12.接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
()13.静态初始化器是在其所属的类加载内存时由系统自动调用执行。
(√)14.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。
(√)15.所有的鼠标事件都由MouseListener监听接口的监听者来处理(√)二.单项选择题1.在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。
A、import java.awt.* ;B、import java.applet.* ;C、import java.io.* ;D、import java.awt.event.* ;2. 关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是( c )A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问3. Java application中的主类需包含main方法,main方法的返回类型是什么?( d )A、intB、floatC、doubleD、void4. 设有下面两个类的定义:class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分String name; // 姓名 int getScore(){} return score;}}则类Person和类Student的关系是( b )。
08年9月全国计算机等级考试二级C++笔试试题及答案2008年9月全国计算机等级考试二级C++真题试卷及答案1)一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A)123456ABCDEB)EDCBA54321C)ABCDE12345 D)54321EDCBA(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2)C)O(log2n) D)O(nlog2n)(4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是()。
A)控制流C)模块调用B)事件驱动D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是()。
A)N-S 图C)PAD 图B)DFD 图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是()。
A)一致性C)多态性B)分类性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
A)一对一C)多对一B)一对多D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是()。
A)人工管理阶段C)数据库系统阶段(10)有三个关系R、S 和T 如下:由关系R 和S 通过运算得到关系T,则所使用的运算为()。
A)笛卡尔积B)交C)并D)自然连接(11)在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
《JAVA程序设计》模拟题一.判断题1、Boolen变量值可以是0或1 ( × )2、在Java中,整型的大小是不固定的。
一些编译器使用2字节的整型,而其它编译器则使用4字节 ( × )3、运算符 ++ 的优先级高于运算符 + ( × )4、将Short值赋给Long值是允许的 ( √ )5、Java中的每个类都至少有一个构造器 ( √ )6、静态方法可作用于类变量和实例变量 ( × )7、在同一类中可以有具有以下声明的两个方法:void method1(int j,int k)和int method2(int k,int j) ( √ )8、一个类的子类可以是某些其它类的超类 ( √ )9、当超类引用变量指定为对子类的引用时,只能访问超类中定义的成员 ( × )10、一个类可以拥有任何数量的超类和子类 ( √ ) 二.单项选择题1. 哪种语言是以对象为特征的开发可视化程序组件的语言?( B )A. 过程化语言B. 面向对象的语言C. 机器语言D. 以上都不是2. 以下哪个选项使Java得以在因特网上流行?( A )A. Java AppletB. Java应用程序C. Java字节码3) 所有Java应用程序必须包含下面哪个方法才能独立运行?( D )A. Start()B. Begin()C. Method()D. Main()4) 执行编译好的Java程序的命令是( B )A. javacB. javaC. runD. ececute5) 可以将以下哪个值赋给类型char的变量?( C )(1).’A’(2).9(3).12.3(4).”hello”A. (1)和(2)B. (1)、(2)和(3)C. (1)D. (2)6.Java中的子类也称为( C )A. 内联类B. 嵌套类C. 派生类D. 隐藏类7.以下哪个是关于Java的正确说法( D )A. 不具有编译器B. 不具有解释程序C. 不具有编译器和解释程序D. 具有字节码阅读器8.运算符“|”是( A )A. 位运算符B. 逻辑运算符C. 这种运算符不存在9. 使用以下哪些修饰符进行修饰时,子类不可访问其变量?( B )A. ProtectedB. PrivateC. 以上两者都是D. 以上都不是10. 以下关于抽象方法的说法哪些是错误的?( D )A. 可以直接访问它们而无需创建包含他们的类对象。
B. 它们的实现是不提供的。
C. 它们的实现是由其子类提供的。
D. 抽象方法永远不会被调用。
11.引用抽象类的引用变量可以初始化为( B )A. 抽象类的对象B. 抽象类子类的对象C. 以上两者都是D. 以上都不是12. 以下关于接口的说法哪些是错误的?( C )A. 创建接口层次结构是可能的。
B. 接口类型变量可用于应用实现它的类对象。
C. 接口可被实例化。
D. 声明抽象方法的接口无需在其声明中具有abstract修饰符。
13.假定没有任何修饰符指定其访问的类拥有以下哪种访问级别?( C )A. PublicB. ProtectedC. PackageD. Private14. 可在方法的作用域中抛掷的异常是:( C )A. 使用Java的throw语句的方法直接抛掷的异常B. 被方法通过调用其他方法抛掷的异常C. 上面的a和bD. 以上都不是15. 如果我们假定throw object;但该参数不是Throwable对象,则会发生什么?( C )A. 什么也不发生,该参数也将时有效的B. 该参数将转换成Throwable对象,然后执行该语句C. 编译器将指出错误D. 这本身将产生异常16.何时抛掷Error异常?( A )A. 当发生动态链接失败或JVM本身发生某些知命错误时B. 当OS中的中断处理程序不处理生成的中断时C. 当运行时异常系统无法处理它时D. 以上都是17.以下程序测试String 类的各种构造方法,试选出其运行效果。
( A )class STR{public static void main(String args[]){String s1=new String();String s2=new String("String 2");char chars[]={'a',' ','s','t','r','i','n','g'};String s3=new String(chars);String s4=new String(chars,2,6);byte bytes[]={0,1,2,3,4,5,6,7,8,9};StringBuffer sb=new StringBuffer(s3);String s5=new String(sb);System.out.println("The String No.1 is "+s1);System.out.println("The String No.2 is "+s2);System.out.println("The String No.3 is "+s3);System.out.println("The String No.4 is "+s4);System.out.println("The String No.5 is "+s5);}}A. The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is stringThe String No.5 is a stringB .The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is tringThe String No.5 is a stringC. The String No.1 isThe String No.2 is String 2The String No.3 is a stringThe String No.4 is strinThe String No.5 is a stringD. 以上都不对18.下面语句段的输出结果是什么?( B )int i = 9;switch (i) {default:System.out.println("default");case 0:System.out.println("zero");break;case 1:System.out.println("one");case 2:System.out.println("two"); }A .defaultB. default, zeroC. error default clause not definedD. no output displayed19.下面哪个语句正确地声明一个整型的二维数组?( D )A. int a[][] = new int[][];B. int a[10][10] = new int[][];C. int a[][] = new int[10][10];D. int [][] a = new int[10][10];20. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B )A. ArrayList myList=new Object();B. List myList=new ArrayList();C ArrayList myList=new List();D. List myList=new List();三.多项选择1.Java语言在体系结构上是( C )A. 定向的B. 抽象的C. 无关的D. 特定的2. 以下哪个是关于Java的正确说法(ABCD)A. 具有编译器B. 具有解释程序C. 具有编译器和解释程序D. 具有字节码阅读器3.当我们希望在发生某些条件时跳出循环,可以使用( A )A. break语句B. continue语句C. exit语句4.以下那句话是正确的?( A )A. 异常是事件B. 错误导致异常C. 异常导致错误D. 所有事件都是异常5. 在Java中,以下哪种情况被视为错误?( AD )A. 内存芯片故障B. 试图用零去除时C. 未向用户分配存储单元的引用D. 试图执行非法的指令四、简答题1、error和exception有什么区别?Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择。
Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。