当前位置:文档之家› (含参考答案)浙江大学城市学院试卷(Java高级程序的设计2010_1011_1)

(含参考答案)浙江大学城市学院试卷(Java高级程序的设计2010_1011_1)

(含参考答案)浙江大学城市学院试卷(Java高级程序的设计2010_1011_1)
(含参考答案)浙江大学城市学院试卷(Java高级程序的设计2010_1011_1)

诚信应考考出水平考出风格

大学城市学院

2010—2011学年第一学期期末考试试卷

《Java高级程序设计》

开课单位:计算分院;考试形式:开卷;考试时间:2011年1月16日所需时间:120 分钟

题序

总分

得分

评卷人

得分

一.__简答题_(本大题共_7__题,每题__5__分,共__35_分)

注意:回答问题尽量简明扼要。

多线程可以使用Runnable接口。是否可以认为,通过Runnable接口实现多线程的方式与Thread类没有任何关系?如果你认为有关系,那么Runnable实现类与Thread类是什么关系?请举例说明。

有关系;

Thread类实现了Runnable接口,因此可以扩展了Thread即实现了Runnable接口。

采用“Runnable实现类”方式需要构造一个新的Thread对象,并把Runnable实现类的实例作为参数传入Thread的构造器中——Thread(task: Runnable)。

举例:

public class TestRunnable {

public static void main(String[] args) {

Thread thread = new Thread(new AnTask());

thread.start();

}

}

class AnTask implements Runnable {

Override

public void run() {

//do something

}

}

采用“扩展Thread类”方式无只需创建扩展Thread类的实例(无参构造)即可,但是不推荐使用这种方法,因为它将任务和运行任务的机制混在了一起。将任务从线程中分离出来是比较好的设计。

举例:

public class TestThread {

public static void main(String[] args) {

Thread thread = new AnThread();

thread.start();

}

}

class AnThread extends Thread {

Override

public void run() {

//do something

}

}

2.通过Jdbc可以访问数据库。很多情况下,既可以使用JDBC-ODBC驱动、也可以使用纯java驱动。请问两种驱动方式都有何特点和优缺点?

JDBC-ODBC桥接方式:就是搭建JDBC与ODBC之间的桥梁,(ODBC是微软的驱程,JDBC是甲骨文的驱程)你要在控制面板上指定数据源,通过数据源来建立连接。这样程序的可移植性并不高,需要有ODBC数据源,几乎只能在Windows平台下运行,跨平台性较差。而且当你换一台主机运行,必须先要去配置数据源,否则程序是无法运行的。

纯Java方式,即JDBC连接方式,就是通过java代码直接与数据库建立连接关系,所以执行效率很高,而且可移植性较好,Java本身跨平台性较好,所以不存在平台的障碍,也无需配置数据源。

早期的JDBC由于各大数据库厂商没有提供较完善的JDBC驱动器,所以JDBC-ODBC成为一个主要的连接方式,但是现在不存在这种问题,只有Access数据库必须采用JDBC-ODBC方式桥接。

请说明BorderLayout布局的特点。如果希望在BorderLayout布局的容器中放入多于5个的控件,那么需要如何处理?

嵌套JPanel

当应用程序需要配置文件时,既可以采用Properties属性文件、也可以采用XML文件。请简要分析它们各自的特点。

Properties属性文件

缺点:

1、无法直接使用中文编码

2、无法表现树形结构、数组结构等复杂数据结构

优点:

1、书写简单方便

2、程序读取简单

XML文件

优点:

1.可拓展性xml中标记可以由程序员自己定义。

2.xml与容与形式的分离

(1)显示方式嵌于数据当中

(2)数据库搜索可以简单高效率的运行

(3)XML是自我描述语言

3.遵守严格的语法要求

缺点:

1.在数据中寻找信息非常困难(树状存储虽然搜索效率高但是插入和修改比较困难)

2.数据自身逻辑不得不让位于HTML语言

3.大数据量低效率

4.XML文档做为数据提供者使用,没有数据库系统那样完善的管理功能

5通信难,由于XML是元置标语言,任何人、公司和组织都可以利用它定义新的标准,这些标准间的通信就成了巨大的问题

MVC是什么?请简要说明它的特点。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

请简述Java Swing/AWT的事件处理机制(说明事件源、事件监听器、以及它们的关系)。Page.322

请举例说明什么情况下需要使用多线程。

1、使用线程可以把占据时间长的程序中的任务放到后台去处理

2、用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度

3、增加算法效率

4、在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如存占用等等。

得分

二.__论述题__(本大题共__3__题,每题_15_分,共__45_分。)

1. Java集合框架中有List、Set、Map等接口,请分析回答以下问题:

(1)请分别说明上述三个接口的实现类的特点。

(2)请分析比较一下如何选用上述三个接口的实现类,即什么情况下选用List实现类,什么情况下应该使用Set实现类,什么情况下使用Map实现类。

(3)使用接口变量操作集合对象有何优点和缺点?比如,以下两行代码都各自有何优缺点?

List a = new ArrayList();//用List接口类型变量a来访问ArrayList对象

ArrayList b = new ArrayList();//用ArrayList类型变量b来访问ArrayList对象

(1)

List特点:元素有放入顺序,元素可重复

Map特点:元素按键值对存储,无放入顺序

Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set 中的位置是有该元素的HashCode决定的,其位置其实是固定的)

(2)

List实现类:元素可重复且有序的情况下;

Set实现类:元素不可重复且无需的情况下;

Map实现类:需要存储键值对的情况下。

(3)

方式1:利用Java继承的机制,隐藏了List实现类的细节,让使用者无需考虑List接口的具体实现方式,有利于代码的维护(一个简单的例子,如需更换List的实现类,只需修改在创建对象的那一句代码),缺点就是无法调用ArrayList扩展的方法,例如方法trimToSize();方式2:直接把ArrayList这个实现类耦合进代码,不利于代码的维护。优点就是可以调用ArrayList扩展的方法。

根据具体情况选择相应的方式。

2.关于OR映射,请回答以下问题:

(1)什么是OR映射?OR映射有何用途?

(2)请简要说明OR映射的基本原理。

(3)访问数据库既可以通过OR映射方式,也可以直接通过JDBC。请分析比较两种访问方式的优缺点?

(1)OR映射即对象关系映射,O为Object即面向对象程序中的对象,R为Relation即关系数据库。使用OR映射的编程方法使得Java程序员可以使用对象编程思维来操纵数据库,使得程序设计得更加精炼易于理解与修改,把复杂的SQL语句与业务逻辑解耦,使得程序更符合高聚低耦合的设计思想。

(2)创建与数据库表对应的实体类(Entity或Object),设置相应的域于数据库表的属性做映射,然后设置get/set方法,然后封装操作SQL语句(查删改)到对应的DAO(Data Access Objects 数据访问对象)中,由这两种对象构成即为数据持久层,封装了底层数据操作细节,提供相应的接口给业务逻辑层使用,分工明确,体现了高聚低耦合的思想。

(3) OR映射:采用低耦合高聚的设计思想,分别封装了数据、数据访问以及业务逻辑,虽然程序设计会变得更为复杂,但是从长期的扩展性、健壮性、可理解性来说,这样的付出是值得的,尤其是在大型项目中显得尤为必要。

JDBC:直接使用JDBC接口操纵数据库,使得程序模式简单,而且效率会比OR映射略高,更易于性能和存储的优化等,但是在复杂的项目中使得数据库操作和业务逻辑耦合在一起,变的难以调试,所以适合小型项目、业务逻辑简单的项目。

3. 关于Java网络编程,请回答以下问题:

(1)在使用TCP协议进行网络编程时,需要使用哪些关键类(包括侦听、数据传送时所涉及的核心类)?并请简要描述这些类的用途。

(2)在使用UDP协议进行网络编程时,需要使用哪些关键类(包括侦听、数据传送时所涉及的核心类)?并请简要描述这些类的用途。

(3)请简要说明上述两种网络通信方式的各自优缺点。

(1)

ServerSocket:此类实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。

Socket:此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器之间的通信端点。

(2)

DatagramSocket: 此类表示用来发送和接收数据报包的套接字。

DatagramPacket: 此类表示UDP数据报包。

(3)

1、TCP是基于连接的,UDP是基于无连接

2、对系统资源的要求(TCP较多,UDP少)

3、UDP程序结构较简单

4、流模式与数据报模式

5、TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证

得分

三.__编程题__(本大题共__2__题,每题__10_分,共___20__分。)

1. 设计一个线程类,该线程类可以执行长时间任务,并且可以被中途终止。要求如下:

该线程类的类名为TaskThread,为Thread的子类。

该线程类中有一个excuteTask方法(为实例方法),该方法用于模拟一种操作(比如压缩文件操作),具体实现代码可以用注释方式说明,无需实现。线程启动执行时,在run方法中可以循环调用上述excuteTask方法。换言之,线程所执行的长时间任务就是对excuteTask方法的循环调用。

该线程类有一个stopTask方法(为实例方法)。stopTask方法被调用后,可以终止线程的执行(即终止循环)。

public class TaskThread extends Thread {

private boolean isExit;//退出标志

public void excuteTask(){

//do something

try {

Thread.sleep(10);

} catch (InterruptedException e) {

e.printStackTrace();

}

System.out.println("do something");

}

Override

public void run(){

System.out.println("TaskThread begin");

while(!isExit){

this.excuteTask();

}

System.out.println("TaskThread stop");

}

public void stopTask(){

this.isExit = true;

}

public static void main(String[] args) {

TaskThread taskThread = new TaskThread();

taskThread.start();

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

taskThread.stopTask();

}

}

实现拨号器程序,界面如下:

设计要求如下:

设计一个MyTelephone类,该类从JFrame继承。

窗体的尺寸大小是:宽500,高300。

在主窗体的中央区域放入一个JPanel容器,该容器使用GridLayout布局,共有12个JButton 按钮,各按钮排放位置如上图所示。

在主窗体的南方区域放入1个JLabel对象。

当点击按钮时,可以将点击的按钮所对应的数字填入JLabel中。比如,图中的“1338899999”就是依次点击“1”、“3”、“3”、“8”、“8”、“9”、“9”、“9”、“9”、“9”等按钮后显示的。import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

public class MyTelephone extends JFrame implements ActionListener {

private JLabel numLabel = new JLabel();

public MyTelephone(){

this.setSize(500, 300);

JPanel numPanel = new JPanel();

numPanel.setLayout(new GridLayout(4, 3));

JButton temp = null;

for(int i = 1; i <= 9; i++){

temp = new JButton("" + i);

temp.addActionListener(this);

numPanel.add(temp);

}

temp = new JButton("*");

temp.addActionListener(this);

numPanel.add(temp);

temp = new JButton("0");

temp.addActionListener(this);

numPanel.add(temp);

temp = new JButton("#");

temp.addActionListener(this);

numPanel.add(temp);

this.add(numPanel, BorderLayout.CENTER);

this.add(numLabel, BorderLayout.SOUTH);

}

Override

public void actionPerformed(ActionEvent e) {

numLabel.setText(numLabel.getText() + ((JButton)e.getSource()).getText());

}

public static void main(String[] args) {

new MyTelephone().setVisible(true);

}

}

全国高等教育自学考试高级语言程序设计

全国高等教育自学考试高级语言程序设计 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

2001年10月全国高等教育自学考试高级语言程序设计(一) 试卷 第一部分选择题 一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1. C语言程序编译时,程序中的注释部分【】 A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是【】 A. 3﹪5 B. 3/ C. 3/5 D. 3<5 3. 正确的C语言用户自定义标识符是【】 A. print B. float C. when?

D. random﹪2 4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【】 A. 0和2 B. 0和3 C. 1和2 D. 1和3 5. 下列叙述中,正确的是【】 A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致 B. 宏名必须用大写字母表示 C. 宏替换不占用运行时间,只占编译时间 D. 在程序的一行上可以出现多个有效的宏定义 6. 下列保留字中用于构成循环结构的是【】 A. if B. while C. switch D. default 7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【】 A. if(a>b){if(c>d) x = 1;else x = 2;} B. if(a>b){if(c>d) x = 1;} else x = 2;

《高级语言程序设计》期末考试试卷

武汉大学计算机学院 2006-2007学年度第2学期2006级 《高级语言程序设计》期末考试试卷A卷 姓名:学号:专业: 说明:开卷考试,答案请全部写在答题纸上,写在试卷上无效。 一.单项选择题:(选择最合适的答案填空,每小题2分,共16分) ()1、在执行以下程序时,从键盘上输入9,则该程序输出结果是__________。 #include int main( ) { int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0; } A、8 B、9 C、10 D、11 ()2、表达式0156637&~0777的结果是____________。 A、0156000 B、156000 C、0637 D、637 ()3、假设有如下定义:int m=1,n=1; 则执行表达式(m=’5’<’3’)&&(n=’7’>’9’)后,m和n的值分别是_____________________。 A、1和1 B、1和0 C、0和1 D、0和0 ()4、表达式-11%3+7/2的结果是____________。 A、5.5 B、5 C、1.5 D、1 ()5、设有如下宏定义: #define BOOK(x) 8-x 则执行赋值语句v=BOOK(2)*BOOK(4); /*v为int型变量*/ 后,变量v的值为。 A、-12 B、0 C、24 D、44 ()6、设有如下定义: int a[6][4]; int (*p)[4]; p=a; 则与表达式*p+3等价的选项是_________。 A、a[0][3] B、&a[0][3] C、a[3][0] D、&a[3][0] ()7、假设有以下定义: static char *a=”h\te\nY\0W\0o\b”;

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

《高级语言程序设计》复习题及答案

一、选择题 1.以下叙述正确的是( ): A)在C程序中,main函数必须位于程序的最前面 B) C程序的每行只能写一条语句 C) C语言使用库函数实现输入输出操作 D)注释中的拼写错误会影响编译结果 2、以下说法中正确的是() A) C语言程序总是从第一个的函数开始执行 B) C语言程序总是从main()函数开始执行 C)在C语言程序中,要调用的函数必须在main()函数中定义 D)C语言程序中的main()函数必须放在程序的开始部分 3、下列选项种说法正确的是( ) A)函数由声明部分和执行部分两部分组成 B)语言中main函数一定在程序的开始部分 C)C语言程序总是从第一个定义的函数开始执行 D)C程序的每行中只能写一条语句 4、设有说明:int a;float b; char c; double d; 则表达式1.3*a+2*b*c+d*(int) 2.6 值的类型为( )。 A)doubleB) char C) floatD) int 5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A)必须为字母 B)必须为下划线 C)必须为字母或下划线 D)可以是字母、数字和下划线中任一种字符 6、以下不正确的C语言标识符是( )。 A) ABC B) abc C)a_bc D) void 7、下列运算符中优先级最高的是( ) A)< B)+ C)&& D)!= 8、以下选项中属于C语言中合法关键字的是( ) A)Float B)abc C)int D)CASE 9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) A)4 B)16 C)32 D)52 10、在C语言中,要求数据必须是整型的运算符是( ) A)/ B)+ + C)!=D) % 11、若整型变量x的值为8,则下列表达式中值为1的表达式是 A)x+=x-=x B) x%=x-1 C) x%=x%=3 D) x/=x+x 12、若w=1,x=2,y=3,z=4,则条件表达式“w > x? w : y< z ? y : z”的值是( ) A)4 B)3 C)2 D)1 13、有以下程序,程序运行后的输出结果是。 main() {inti=1,j=2,k=3; if(i++==1&&(++j==3||k++==3)) printf("%d %d %d\n",i,j,k); }

华南理工大学高级语言程序设计作业

华南理工大学高级语言程序设 计作业(总3页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

《高级语言程序设计(https://www.doczj.com/doc/0d2647377.html,)》作业 2014.3 教学中心:专业层次: 学号:姓名: 一.判断题(如正确打√,否则,打×。) 1.存储数据不属于数据处理功能。N 2. Write_1 和学校$ 是正确的变量名。Y 3.若一个整型变量说明了之后没有给它赋值,则它的值为0。Y 4.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:Y If Asc(ch)>=97 And Asc(ch)<=122 Then WriteLine (“Yes”) Else WriteLine(“No”) End If 5.。输入结构变量的值就是输入该变量的各个元素的值Y 6.函数过程定义中必须有一个赋值语句把表达式的值赋给函数过程名。N 7. 事件是由https://www.doczj.com/doc/0d2647377.html,系统预先设置好或者在程序中由编程者自己设计的,它能够被对象识别的动作。Y 8. 从文件取出一组数据以流的方式存放到程序的变量或数组中称为向流写入数据。N 9. 文件流类FileStream用于打开和关闭文件,并提供对文件按字节的读/写操作。Y 10. 在VB中不可以把类型说明符放在变量名的末尾来说明变量的类型。N 二.单项选择题 1.下列变量名中错误的是( “年龄” )。 2.设X为整型变量,不能正确表达1< X < 5的逻辑表达式是(1< X <5 )。 3.设有数组说明语句:Dim c( 10) AS Integer,则下面表示数组c的元素选项中 (c(11) )是错误的。 4.在过程的形式参数前面加上关键字( ByVal ),则该参数说明为引用参数。 D. 5. 设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确形式为( f a+b, b+c, c+a )。 6.若使命令按钮不可见,可以设置Visible属性的值为( False )。 7.要使单选按钮RadioButton处于选中或未选中状态,需由( Checked )属性来决定。 8.要删除列表框中的某一个项目,需要使用(ReMove )方法。 9.要设置计时器的时间间隔可以通过( InterVal )属性来实现。 10.下面( StreamWriter )类用来把数据写入文本文件中。 三.简答题 1. 在控制台应用程序中,如何输入输出一维数组的元素 1. 答:输入一维数组元素的值可以使用赋值语句,也可以使用Console类的输入方法Read和ReadLine从键盘输入数据。输出一维数组元素的值可以使用Console类的Write方法和WriteLine方法。 2.若有数组定义语句:Dim c%() = { 76, 80, 75},则数组c有多少个元素这些元素是什么它们的初值是多少 3.答:数组c共有3个元素c(0)、c(1)和c(2),它们的初值分别为1、2和3,即c(0)=76,c(1)=80和c(2)=75。 3. 文件操作可以分为哪些步骤

高级语言程序设计期末考试试卷及答案(-E卷)

高级语言程序设计期末考试试卷及答案( E卷)2005-2006学年上学期考试科目: 考试类型:(闭卷)考试时间:120分钟 考试须知: 1.答案必须写在“答题卡”上,写在试卷上不得分。 2.必须在答题卡上正确填写班级、学号、姓名等内容。 一、选择题(共20小题,每小题1分) 1. 下列C常量中不合法的是( ) A.'\500' B.0500 C.'500' D."500" 2. C语言中,若对函数类型未加显示说明,则函数的隐含类型为()类型 A.void B.int C.空D.char 3. C语言程序的三种基本结构是() A. 嵌套结构、递归结构、顺序结构 B.递归结构、循环结构、转移结构 C. 顺序结构、选择结构、循环结构 D.循环结构、转移结构、顺序结构 4. 一个可执行C程序的开始执行点是() A.名为main()的函数B.包含文件的第一函数 C.程序中的第一个语句D.程序中的第一个函数 5. 下面程序段的执行结果是() int a=5, b=4, c=3; if(a>b>c) printf("a>b>c"); else printf("no"); A.a>b>c B.no C.编译错误D.运行错误

6. 合法的数组定义是( ) A .int a[] = “string ” B .int a[5] = {0,1,2,3,4,5} C .char a[] = {0,1,2,3,4,5} D .char s = “string ” 7. 在C 语言中,提供的合法关键字是( ) A .printf B .cher C .case D .Else 8. 在C 语言中,合法的字符常量是( ) A .’\081’ B .’\0’ C .’ab ’ D .”a ” 9. putchar 函数可以向终端输出一个( )。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量 10. 在C 语言中,一个char 变量占( )字节。 A .1 B .2 C .4 D .8 11. 调用scanf(“%d,%d ”,&a,&b);时,正确的键盘输入是( ) A .12,23 B . a=12,b=23 C .12:23 D . 12 23 12. 若有int s[4] = {1,2,3,4};,则s[s[0]+ s[3]-s[2]] 的值是( ) A . 1 B . 2 C . 3 D . 4 13. 在C 语言中,一般1个float 类型变量占4个字节,则设float x[2][4];假设数组 x 开始于内存1000单元,则x[1][2]的存储始于( ) A.1004 B.1012 C.1020 D.1024 14. 下面对C 语言运算符的优先级叙述正确的是( )。 A . !(非) > 关系运算符 >算术运算符 > &&(与) > ||(或) > 赋值运算符 B . !(非) > 算术运算符 > 关系运算符 > &&(与) > ||(或) > 赋值运算符 C . 算术运算符 > 关系运算符 > !(非) > &&(与) > ||(或) > 赋值运算符 D . 算术运算符 >!(非) >关系运算符 > &&(与) > ||(或) > 赋值运算符 15. 若有代数式bc y x 32,则正确的C 语言表达式是( ) A . x^2*y/3*b*c B .x*x/b/c*y/3 C . x*x*y/3*b*c D .x^2*y/3/b/c

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟) (闭卷) 一、简单编程题(共50分) 在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码. 1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分) (1)在Person类中定义两个字段: 私有访问权限,类型为String地name字段; 私有访问权限,类型为int地age字段. (2)在Person类中定义构造器 构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age. (3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值. (4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示. (5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”. 2. 在程序中定义Student类,Student类继承Person类.(10分) (1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有. (2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school. (3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”. 3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分) (1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1; (2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1; (3)分别输出这两个对象地相关信息(调用它们地toString方法). 4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分) (1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期; (2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型. (3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档. 二、代码改错(共20分)

《高级语言程序设计》答案

1. 输入两个整数,要求用两个函数求出其最大公约数和最小公倍数,最大公约数和最小公倍数都在主函数中输出。#include int main() { int i,j,t; int max(int,int); int min(int,int); scanf("%d%d",&i,&j); if(i int main() { int max4(int,int,int,int); //对max4的函数声明 int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); //输入4个数 printf("max=%d\n",max4(a,b,c,d));//调用4个数中的最大者 return 0; } int max4(int a,int b,int c,int d) //定义max4函数 { int max2(int,int); //对max2的函数声明 return max2(max2(max2(a,b),c),d); //调用max2把作为函数值带回main函数} int max2(int a,int b) { return(a>b?a:b); //返回条件表达式的值,即a和b中的大者 } 3. 用递归调用的方法求5!。 #include int main() { int fac(int); int n; scanf("%d",&n);

程序和程序设计语言(教学设计)

第3节程序和程序设计语言 一、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 (一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 (2)程序的特征: ●解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作, 每一个操作都有执行对象。 ●在程序中被施行操作的对象称为数据。 ●除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 (1)顺序结构 (2)选择结构 (3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。

(二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言 汇编语言 高级语言 1、机器语言 机器语言(machine language):把直接用二进制代码表示的计算机指令系统称为机器语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly language):用符号和数字来代替二进制代码的计算机语言称为汇编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level language):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行)。 高级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC(Beginner’s All-purpose Symbolic Instruction Code的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

暨南大学 2008高级语言程序设计试卷及答案

暨 南 大 学 考 试 试 卷 一、单项选择题(共20小题,每小题2分,共40分) 1、以下叙述中正确的是___________(C ) A 、C 语言程序总是从第一个的函数开始执行 B 、在 C 语言程序中,要调用的函数必须在main ()函数中定义 C 、C 语言程序总是从main ()函数开始执行 D 、C 语言程序中的main ()函数必须放在程序的开始部分 2、以下值不等于3的表达式是_____________(D ) A 、'D'-'A' B 、'6'-'3' C 、'\011' D 、3+'\0' 3. 能正确表达字母c 为大写字母的C 语言表达式是__________(D ) A )c>=’A’ and c<=’Z’ B )c>=’A’ || c<=’Z’ C )c>=’A’ or c<=’Z’ D )c>=’A’ && c<=’Z’ 4. 设变量a 是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的数据类型为_____(C ) A )int B )float C )double D )不确定 5. 有函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));,此语句的实参数为________(A )

A、3 B、4 C、5 D、有语法错误 6. 设有语句int a=5,b; b=a>3&&0, a++; 执行后变量b的值为__________(C) A)5 B)6 C)0 D)1 7. 判断两个字符串s1和s2是否相等,应该使用____________(D) A)if (s1= =s2) B)if (s1=s2) C)if (strcpy(s1, s2)) D)if (strcmp(s1,s2)= =0) 8. 下面程序的执行结果是____________(B) main() { int n=1; n++; printf("%d%d%d",n,n++,――n);} A、2 2 1 B、2 2 2 C、2 3 2 D、2 1 1 9. 循环语句while(!E);中的表达式!E等价于________(C) A)E!=0 B)E!=1 C)E==0 D)E==1 10. 设有数组定义: char array []="China"; 则数组array所占的存储空间为___________(C)A)4个字节B)5个字节C)6个字节D)7个字节 11. 下列关于C语言的函数参数说法不正确的是__________(B) A)实参可以是常量,变量或表达式B)形参可以使常量,变量或表达式 C)在函数定义时必须指定形参的类型D)形参与实参的类型应相同或赋值兼容 12. 下列程序执行后的输出结果是__________(A) void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n", b[0]);} A、6 B、7 C、8 D、9 13. 若有语句:int s[3][3],(*p)[3];p=s; 则对s数组元素的引用形式正确的是__________(C)A)p+1 B)*(p+1) C)p[1][2] D)*(p+1)+2 14. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________(B) A、地址传递 B、单向值传递

JAVA语言程序设计期末考试试题及答案

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

中南民族大学《Java语言程序设计》期末试卷A卷

科目序号:6002 A卷 《Java语言程序设计》期末试卷 (试卷总分:100分,考试时间:120分钟,答案写在答卷纸上) 一.判断题(每题1分,共10分) 1.无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件。(X )2.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。(X )3.静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。(O )4.与C语言不同的是,Java语言中的数组元素下标总是从1开始。(X )5.在Java的方法中定义一个常量要用const关键字。(X )6.Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作。(X)7.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(X )8.程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(X )9.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out 和标准错误输出System.err。(O )10.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。(O ) 二.单项选择题(每题2分,共40分) 1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B)。 A、java B、class C、html D、exe 2.Java application中的主类需包含main方法,main方法的返回类型是什么?(D ) A、int B、float C、double D、void 3.以下哪个方法用于定义线程的执行体?( C ) A、 start() B、init() C、run() D、synchronized() 4.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?(D ) A、init() B、start() C、destroy() D、stop() 5.下面哪个不是Java中的容器? ( A ) A、Canvas B、ScrollPane C、Applet D、Dialog 6.以下标识符中哪项是不合法的( A ) A、const B、$double C、hello D、BigMeaninglessName 7.以下哪个关键字可以用来为对象加互斥锁?(D )

高级语言程序设计期末试卷

2017年秋季《高级语言程序设计》期末试卷 批次专业:2017年春季-电气工程及其自动化(专升本)课程:高级语 言程序设计(专升本) 1. ( 单选题 ) 能将高级语言编写的源程序转换为目标程序的是 _____________ 。(本题2.0分) A、链接程序 B、解释程序 C、编译程序 D、编辑程序 学生答案:C 标准答案:C 解析: 得分:2 2. ( 单选题 ) C语言程序编译时,程序中的注释部分()。(本题 2.0分) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 学生答案:D

标准答案:D 解析: 得分:2 3. ( 单选题 ) C 语言中的标识符只能由字母、数字和下划线三种字符组成 , 且第一个字符( )(本题2.0分) A、 必须为下划线 B、 可以是字母、数字和下划线中的任意一种 C、 必须为字母或下划线 D、 必须为字母 学生答案:C 标准答案:C 解析: 得分:2 4. ( 单选题 ) 一个 C 程序的执行是从( )(本题2.0分) A、 本程序的main函数开始,到main函数结束 B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序main函数结束 学生答案:C 标准答案:C 解析: 得分:2

5. ( 单选题 ) C 语言提供的合法关键字是( ) (本题2.0分) A、swicth B、chan C、case D、default 学生答案:D 标准答案:D 解析: 得分:2 6. ( 单选题 ) C语言程序的基本单位是()(本题2.0分) A、程序行 B、语句 C、函数 D、字符 学生答案:C 标准答案:C 解析: 得分:2 7. ( 单选题 ) 组成C语言程序的是( )。(本题2.0分) A、过程 B、函数

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

《C语言程序设计》教案设计(清华谭浩强)

第一章C语言及程序设计概述 本章要求: 了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇; 重点:①C语言的主要特点; ②C语言在PC机上的运行过程及上机操作过程; ③常用算法的应用 难点:无 一、C语言概述 C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。 主要表现为: C语言:适合于作为系统描述语言——可用来写系统软件。 具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60) C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。 1983年:——制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:——Turbo C1.0 (Borland) 1988年:TC 1.5(图形和文本窗口) 1989年:——Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件) 1991年:——Turbo C++(3.0) 支持windows 3.X 说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。 二.C语言的特点 1.语言简洁、紧凑、使用方便、灵活 C语言:——共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2.运算符丰富

《高级语言程序设计》期末考试试卷附答案

《高级语言程序设计》期末考试试卷附答案 一、选择题(共20题,每题3分,共60分) 1. 下列四个选项中,均是合法的整型常量的选项是() A.160 –0XFFFF 011 B. -0XCDF 01A 0XE C. -01 986,012 0688 D. -0X48a 2e5 0x 2. 下列四个选项中,均是不合法的浮点数的选项是() A.160.0.12 e3 B. 123 2e4.2 .e5C.18 0.0 123e4 D. e3. 234 1e3 3. 合法的C语言字符常数是() A.'\t' B. "A"C.54 D. A 4. 在C语言中,要求运算数一定是整型的运算符是() A./ B. ++C.!= D. % 5. 字符串常量”mine”的字符个数是() A.4 B. 5C.6 D. 7 6. 以下属于非法的C语言转义字符的是() A.'\b' B. '0xf'C.'\037' D. '\' 7. 若x、y、z均为int型变量,则执行以下语句后的输出是() x=(y=(z=10)+5)-5; printf("x=%d, y=%d, z=%d\n",x,y,z); y=(z=x=0,x+10); printf("x=%d, y=%d, z=%d\n",x,y,z); A. x=10, y=15, z=10 B.x=10, y=10, z=10 x=0, y=10, z=0x=0, y=10, z=0 C.x=10, y=15, z=10 D. x=10, y=10, z=10 x=10, y=10, z=0 x=10, y=10, z=0 8. 在以下一组运算符中,优先级最高的运算符是() A.<= B. =C.% D. && 9. 已知:int x; float y; 所用的scanf调用语句格式为: scanf( “x=%d, y=%f”, &x, &y ); 为了将数据10和66.6分别赋给x和y,正确的输入应当是() A.x=10, y=66.6<回车> B. 10, 66.6<回车> C.10<回车>66.6<回车> D. x=10<回车>y=66.6 <回车> 10. 已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开

相关主题
文本预览
相关文档 最新文档