当前位置:文档之家› 2008年10月全国自考Java语言程序设计

2008年10月全国自考Java语言程序设计

2008年10月全国自考Java语言程序设计
2008年10月全国自考Java语言程序设计

2008年10月全国自考Java语言程序设计(一)真题及答案

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下述字符组合不能作为Java程序标识符的是()

A.Aa12 B.大x C.y小 D.5x

2.以下程序代码的输出的结果是() int x=53; System. out. println(1.0+x/2);

A.27.0 B.27.5 C.1.026 D.1.026.5

2.参照以下Java代码,以下四个叙述中最确切的是()

class A{ int x; static int y;

void fac(String s){Syatem. out. println("字符串:"+s);} }

A.x、y和s都是成员变量 B.x是实例变量、y是类变量、s是局部变量

C.x和y是实例变量、s是参数 D.x、y和s都是实例变量

4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用java. util包中的类是()

A.String B.StringBuffer C.StringTokenizer D.stringTokenizer

5.要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是()A.JFrame(s) B.window(s) C.new JFrame(s) D.super(s)

6.以下关于菜单的叙述中,正确的是()

A.菜单分三级定义,最高一级的是菜单条,菜单条中放菜单,菜单中放菜单项

B.菜单分三级定义,最高一级的是菜单,菜单中放菜单条,菜单条中放菜单项

C.菜单分两级定义,最高一级的是菜单,菜单中放菜单项

D.菜单分两级定义,最高一级的是菜单条,菜单条中放菜单项

7.以下所述内容全部是字型要素的是()

A.字体、字形和大小 B.字体、风格和字号

C.字形、风格和字号 D.字形、颜色和字号

8.用Thread子类实现多线程的步骤顺序是()

A.声明Thread类的子类,创建Thread子类的实例,让线程调用start()方法

B.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例 C.创建Thread子类的实例,让线程调用start()方法

D.声明Thread类的子类,在子类中重新定义run()方法,创建Thread子类的实例,让线程调用start()方法

9.为16位Unicode字符流提供读和写操作支持的类分别是()

A.FileInputStream类和FileOutputStream类 B.InputStream类和OutputStream 类 C.FileReader类和FileWriter类 D.File_Reader类和File_Writer类

10.能利用对象提供的方法获得流对象和实现网络连接的是()

A.URLConnection对象 B.URL对象

C.InetAddress对象 D.TCP/IP对象

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。 11.一个小应用程序必须定义成一个_________。

12.用条件运算符构造一个表达式:goal等于10时,表达式的值为“对了!”,否则,表达式的值为“错了!”。这个表达式是_________。

13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。

14.设有数组a和b的定义如下: int[]a={1,2,3};int[]b={4,5,6} ……

执行以下代码“a=b;”,除了完成赋值操作之外,引起系统额外要做的工作是_________。

15. _________布局使容器的多个组件拥有同一个显示空间,某一时刻只能显示一个组件。

16. 16.Java语言为处理鼠标事件提供两个接口:_________接口和MouseMotionListener接口。

17.某个绘图方法设置成“异或模式”绘图,并用黄色作为异或模式设定的绘图颜色。如果当时背景色为红色,并用红色绘制线段,则线段的实际颜色是_________。

18.程序员用Java语言编写多线程应用程序,程序员能控制的关键性工作有两个方面:一是编写线程的_________方法;二是建立线程实例。

19.BufferedWriter类是提供缓冲式输出的类。程序需要先创建_________对象,再利用这个对象创建BufferedWriter对象。

20.在Java语言中,客户端使用的套接字类是_________。

三、简答题(本大题共6小题,每小题3分,共18分)

21.请写出表示条件“x=2与y=3有且只有一个成立”的Java表达式”。 22.如果类Student 是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。

Person p1=new Student();

Person p2=new Undergraduate();

Student s1=new Person();

Student s2=new Undergraduate();

Undergraduate ug1=new Person();

Undergraduate ug2=new Student();

Object ob=new Student();

23.请写出程序处理文本框输入结束事件(回车)添加监视器的方法,以及监视器类必须实现的接口方法。

24.请写出一条语句,能够绘制一条从点(20,30)开始,长为100像素的水平线段。设调用的对象是类型为Graphics的g。

25.某Java程序要使用文件输入输出流,请写出该程序所需要的import语句。

26.JDBC是Java程序与数据库连接的API,请写出JDBC能做的三件事情。

四、程序填空题(本大题共5小题,每空2分,共20分)

27.方法int maxDigit(int n)的功能是找出十进制整数n各位中最大的一位数字。例如,n=23765,该方法的返回值是7。

static int maxDigit(int n){

int c=0,d;

while(n>0){

d=_______; if(d>c) c=d;

n/=10;

}

________;

}

28.某程序的界面包含一个文本区text1、一个文本框text2和一个按钮button。实现在文本区中输入整数序列后,点击按钮,程序响应按钮事件,累计文本区输入的整数序列,并将总和输出在文本框中。这里给出的是其中相应按钮事件的方法。

public void actionPerformed(ActionEvent e){

int sum;

if(e.getSource()==button){

String s=text1.________;//获取text1中的信息

StringTokenizer fenxi=new StringTokenizer(s,",,,\n");

int n=fenxi.countTokens();

double a[]=new double[n];

for(int i=0;i<n;i++){

String temp=fenxi.nextToken();

a[i]=Double.valueOf(temp).doubleValue();

}

sum=0;

for(int i=0;i<n;i++){

__________;

}

text2.setText(""+sum);//刷新显示。}

}

29.以下是生成菜单项对象,以及菜单项选择事件处理方法的部分代码。要求当菜单项singingItem被选中时,在文本框text中输出“唱歌菜单项被选中!”的字样。

……

singingItem=new________("唱歌");//生成菜单项对象

……

public void actionPerformed(ActionEvent e){

if(e.getSource()==singingItem)

text.setText(e.________()+ "菜单项被选中!");

}

30.某小应用程序实现幻灯片放映。小应用程序的init()方法将幻灯片读入数组中存储和注册鼠标监视器。程序运行时,单击鼠标,就顺序变换放映幻灯片的序号。这里给出的是其中的paint()方法和mousePressed()方法。

final int number=30;//假定幻灯片有30张

int count=0;

Image[]pic=new Image[number];

public void paint(______gc){

if((pic[count])!=null)

gc.drawImage(pic[count],10,10,pic[count].getWidth(this),

pic[count].getHeight(this),this);

}

public void mousePressed(MouseEvent e){

count=(count+1)% number;//循环逐张显示

__________;

}

31.以下定义的类shareDataManager用于管理多个线程共享数据data。一些线程要减少data,另一些线程要增加data。由于data不可以是负值,修改data的方法对这些线程来说不仅要互斥,还要同步。类提供一个方法modiData()供修改data的线程调用,该方法在data修改结束后,应通知其它等待进入这个方法的线程。

class ShareDataManager{

int data=0;

________void modiData(int delta){

if(delta>=0){

data+=delta;

}else {

while(data <delta){

try{System.out.println("发生等待!");

wait();

}catch(InterruptedException e){ }

}

data-=delta;

}

_________;

}

ShareDataManager(int ititData){data=initData;}

}

五、程序分析题(本大题共5小题,每小题4分,共20分) 32.阅读下列程序,请写出该程序的输出结果。

import java.applet.*;import java.awt.*;

class Point{

int x,y;

Point(int xx,int yy){x=xx;y=yy;}

Point(Point p){x=p.x;y=p.y; }

void m(int dx,int dy){x+=dx;y+=dy;}

}

class Circle extends Point{

int r;

Circle(Point p, int rr){ super(p); r=rr; }

float c(){ return 3.14f*2.0f*r; }

float a(){ return 3.14f*r*r;}

}

public class sample extends Applet{

Circle yuan; Point d;

public void init() {d=new Point(2,5);yuan=new Circle(d,10);}

public void paint(Graphics g){

g.drawString("yuan Circle"+(int)(yuan.c()*100.0)/100.0,5,20);

g.drawString("yuan Area"+(int)(yuan.a()*100.0)/100.0,5,40);

}

}

33.阅读下列程序,请写出该程序的功能。

import java. util.*;

public class Class1{

public static void main(Srting args[]){ Date date1=new Date();

System. out. println (datel);

String t=datel.toString();

int endPos=t.indexOf(`C');

t=t.substring(11,endPos);

System. out println(t);

}

}

34.阅读下列程序,请写出该程序的功能。

import java.applet.*;import javax.swing.*;import java.awt.event.*;

public class Class l extends Applet implements ActionListener{

JTextField text1,text2;

public void init(){

text1=new JTextField(10); text2=new JTextField(10);

setSize(200,100); add(text1); add(text2);

text1.addActionListener(this);

}

public void actionPerformed(Action Event e){

long n;

if(e.getSource()==text1){

n=Long.parseLong(text1.getText());

text2.setText(String.valueOf(n*n));

}

}

}

35.阅读以下程序,请写出该程序的功能。

import javax.swing.*; import java.awt.*;import java.awt.event.*;

class MyScrollBar extends JscrollBar{

public MyScrollBar(int init, int len, int low, int high){

super(JScrollBar. HORIZONTAL, init,len,low,high);

}

}

class MyWindow extends JFrame implements AdjustmentListener{

private JTextField text;

MyWindow(String s){

super(s);

MyScrollBar myBar=new MyScrollBar(10,10,0,255);

Container con=this. getContentPane(); con. setLayout(new GridLayout(2,1)); this. setSize(200,100);

this. setLocation(100,100);

myBar.addAdjustmentListener(this);

text=new JTextField("",20);

con. add(text);con.add(myBar);

this.setVisible(true); }

public void adjustmentValueChanged(AdjustmentEvent e){

MyScrollBar myBar=(MyScrollBar)e.getAdjustable();

text.setText(""+myBar.getValue());

}

}

public class Class1{

public static void main(String[]args){

MyWindow myWindow=new MyWindow("text5_4");

}

}

36.小应用程序创建一个线程。例子使用容器类方法getGraphics()获得Graphics对象,给线程作为画笔使用。请写出该程序中这个线程的工作内容。

import java.applet.*;import java.awt.*;

public class Class1 extends java.applet.Applet implements Runnable{

Thread redBall;Graphics redPen;

int rx=0,ry=0;

public void init(){

setSize(250,200);

redBall =new Thread(this);

redPen=getGraphics();

redPen. setColor(Color.red);

setBackground(Color.gray);

}

public void start(){ redBall.start(); }

public void run(){

while(true){

if(Thread.currentThread()==redBall){

rx=(int)(80*Math.random());

ry=(int)(80*Math.random());

red Pen.setColor(Color.red);

red Pen.fillOval(100+rx,100+ry,10,10); try{

redBall.sleep(500);}

catch(InterruptedException e){}

redPen.setColor(Color.gray);

redPen.fillOval(100+rx,100+ry,10,10);

}

}

}

}

六、程序设计题(本大题共2小题,每小题6分,共12分)

37.编写一个方法halfArray(),要求该方法有一个元素类型为int的数组参数,方法返回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各元素的一半。

38.一个Java小应用程序,界面有三个文本框和两个按钮,前两个文本框用于输入整数,第三个文本框用于输出结果。两个按钮分别表示加和减运算。当前两个文本框输入整数后,

点击相应按钮,程序就将计算结果输出在第三个文本框中。以下是程序的大部分,其中监视按钮事件的方法未给出,试编写处理按钮事件的方法。注:这里是给定部分的程序,你要编写的是actionPerformed(ActionEvent e)方法。

import java.applet.*;import javax.swing.*;

import java.awt.*; import java.awt.event.*;

class Panel1 extends JPanel{

JTextField text1, text2, text3;JButton addButton,subButton;

Panel1(){

text1=new JTextField(10);text2=new JTextField(10);

text3=new JTextField(10);setLayout(new GridLayout(5,1));

addButton=new JButton("加");subButton=new JButton("减");

add(text1); add(text2);

add(text3); add(addButton); add(subButton);

}

}

public class Classl extends Applet implements ActionListener{ Pane1 panel;

public void init(){

setSize(100,200); panel=new Panel1();add(panel);

(panel.addButton).addActionListener(this);

(panel.subButton). addActionListener(this);

}

public void actionPerformed(ActionEvent e){//这里是你要编写的代码

2008年10月全国自考Java语言程序设计(一)真题答案

一、单项选择题 1:参考答案:D

参考解析:(P8)本题考核知识点是Java语言标识符命名规则。

Java语言标识符可以按以下规则任意命名:①由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成。②限定标识符的第一个字符不能是数字字符。选项D 答案第一个字符是数字字符。

2:参考答案:A

参考解析:(P14)本题考核知识点是Java算术运算符——“/”。“/”为除法运算符,当除数和被除数均为整数类型数据时,则结果也是整数类型数据。所以当x=53时,x/2=26。

3:参考答案:B

参考解析:(P46)本题考核知识点是实例变量、类变量、局部变量。

类的成员变量分为实例变量和类变量。在定义成员变量时,用关键字static修饰的是类变量,定义时未用static修饰的是实例变量。类变量是类的所有对象共享的成员变量,一个类变量在类中只有一个,它属于整个类,而不属于类的某个对象。引用类变量的途径有两条,或通过类,或通过对象。类的方法体中定义的变量称为局部变量,方法参数也属于局部变量。 4:参考答案:C

参考解析:(P77)本题考核知识点是StringTokenizer类。

java.util包中的类StringTokenizer用于语言符号(单词)的分析,分析出字符串中的单词。另外还有命名的习惯约定(行业习惯,不是规定):一般变量名、方法名用小写英文字母开头,类名首字母用大写字母,若命名由若干个单词组成,后面的每个单词用大写开头;文字和常数全用大写字母命名;包名全部用小写字母。

5:参考答案:D 参考解析:(P91)本题考核知识点是JFrame类和关键字super。在用Swing 编写GUI程序时,通常不直接用JFrame创建窗口对象,而用JFrame派生的子类创建窗口对象,在子类中可以加入窗口的特定要求和特别的内容,这时可以使用超类的构造方法完成窗口的标题设置即super(s)。选项C完整的使用形式可以这样:

JFrame myWin=new JFrame(s)//创建JFrame窗口对象myWin,标题是s 但这样不符合本题题干“为

程序的子窗口设定标题”的要求。

6:参考答案:A

参考解析:(P118)

7:参考答案:B

参考解析:(P137)本题考核知识点是字型要素。

Java的文字字型有三个要素:字体、风格和字号。常用的字体有Times New Roman、Symbol、宋体和楷体等。常用的风格有正常、粗体和斜体,分别用三个常量表示:Font.PLAIN、Font.BOLD和Font.ITALIC,风格可以组合使用。字号是字的大小,单位是磅。

8:参考答案:D

参考解析:(P162)本题考核知识点是多线程。

在Java中实现多线程一般情况下是先声明Thread类的子类,在子类中重载run()方法,然后创建这个子类的实例,让线程调用start()方法。

9:参考答案:C

参考解析:(P175)本题考核知识点是输入输出流。为Java的8位字节流数据的读和写操作提供支持的类分别是FileInputStream类和FileOutputStream类,它们分别是InputStream类和OutputStream类的子类;为Java的16位Unicode字符流数据的读和写操作提供支持的类分别是FileReader类和FileWriter类,它们分别是Reader类和Writer类的子类。

10:参考答案:A

参考解析:(P191)本题考核知识点是Java网络编程。

要接收和发送信息需用URLConnection类,程序获得一个URLConnection对象,相当于完成对指定URL的一个HTTP连接。程序有了URLConnection对象后,就可使用URLConnection类提供的方法获得流对象和实现网络连接。

二、填空题

1:参考答案:(P5)Applet(JApplet)类的子类[解析]本题考核知识点是小应用程序。

一个小应用程序必须定义成一个Applet类的子类或JApplet类的子类。

2:参考答案:goal=10?“对了!”:“错了!”;(goal!=10?“错了”:“对了!”;)3:参考答案:(P40)数据(属性)和方法(函数)[解析]本题考核知识点是类的概念。类的每个对象都有自己的标识,但它们具有相同的一组属性和提供相同的一组方法。

4:参考答案:(P45)回收内存

[解析]本题考核知识点是数组。

Java语言根据相应类型变量采用直接访问还是间接访问,把类型分成基本类型和引用类型,数组类型和类类型是引用类型。数组进行整体赋值,其实是数组首地址的赋值,原来地址空间会自动释放。

5:参考答案:(P100)CardLayout

[解析]本题考核知识点是布局设计。

常用的布局类:FlowLayout为依次放置组件;BorderLayout将组件放置在边界上;CardLayout将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;GridBagLayout

能进行更精细的位置控制。

6:参考答案:(P127)MouseListener我的答案:

7:参考答案:(P140)黄色

[解析]本题考核知识点是绘图模式。

当绘图模式设置为异或模式时,用背景色绘图出现的是异或的颜色,重画一个图形将清除图形。

8:参考答案:(P161)run()

[解析]本题考核知识点是多线程。

Java程序实现多线程应用有两种途径:一是继承Thread类声明Thread子类,用Thread 子类创建线程对象。二是在类中实现Runnable接口,在类中提供Runnable接口的run()方法。无论用哪种方法,都需要Java基础类库中的Thread类及其方法的支持。程序员能控制的关键性工作只有两个方面,一是编写线程的run()方法;二是建立线程实例。

9:参考答案:(P179)FileWriter

[解析]本题考核知识点是缓冲式输出。

实现缓冲式输出,需要将FileWriter对象接到BufferedWriter对象上,对BufferedWriter对象使用write()方法就

能实现缓冲式输出。

10:参考答案:(P193)Socket

[解析]本题考核知识点是Java网络编程。

Java语言在实现C/S模式中,套接字分为两类,在Server端使用ServerSocker类,在Client 端使用Socket类。

三、简答题 (本大题共6小题,每小题3分,共18分)

1:参考答案:(P15)(x=2)!=(y=3)或(x=2&&y!=3)||(x!=2&&y!=3)我的答案:

2:参考答案:(P57)Student s1=new Person();

Undergraduate ug1=new Person(); Undergraduate ug2=new Student();

[解析]本题考核知识点是类之间的is-a关系。在两个相关的类之间,可能会有is-a和has-a关系。若类A是

继承扩展类B,则子类A和超类B之间是is-a关系,即类A是一个类B。这种情况下,A 类对象一定可以是B类类型,因为B类的所有成员A类也有。也就是子类对象可以是超类类型。语句B b=new A()是正确的,A a=new B()是错误的。

3:参考答案:(P102)为对象添加监视器的方法是addActionListener;类必须实现的方法是public void actionPerformed(ActionEvent e)。

[解析]本题考核知识点是文本框输入结束动作事件(回车)。

文本框输入结束动作事件相应的监视器接口为ActionListener,要实现的接口方法是actionPerformed(),添加监视器的方法是addActoinListener()。

4:参考答案:(P140)g.drawLine(20,30,120,30);或g.drawLine(120,30,20,30);

[解析]本题考核知识点是画线段。

方法中有四个参数分别表示线段的两个端点坐标,当两个端点坐标相同时,将画出一个点,而不再是线段。

5:参考答案:(P175)import java.io.*;

[解析]本题考核知识点是文件输入输出流。

实现输入输出操作的类库在java.io包中。包中有一组支持打开流、向流写数据、从流读取数据和关闭流等操作的类,要使用这些类,程序必须导入java.io包。

6:参考答案:(P199)与某个数据库建立连接;向数据库发送SQL语句;处理数据库返回的

结果。

[解析]本题考核知识点是java数据库编程基础。

Java数据库连接JDBC由一组用Java语言编写的类和接口组成,JDBC是Java程序与数据库连接的API。它可以做三件事情。

四、程序填空题 (本大题共5小题,每空2分,共20分)

1:参考答案:n%10 return c

[解析]本题考核知识点是%运算符和return语句。

方法中d为循环分离出整数n的每一位数字(每次取n的个位数字,n也在变化:n/=10),在找出最大的数字后存入了变量c中,因方法有返回值类型为int,所以必须有return语句,要返回最大数字。,

2:参考答案:getText()

sum+=a[i]或sum=sum+a[i]

[解析]本题考核知识点是图形界面设计中按钮事件方法的编写。获取文本框中的内容使用的方法是getText(),方法名首字母均小写,后面单词首字母大写。获取整数序列后,使用单词分析器分解出每个整数(有类型转换过程)存入数组a中,然后对所有整数进行求和。, 3:参考答案:JMenuItem getActionCommand

[解析]本题考核知识点是菜单。

生成菜单条是用类JMenuBar的构造方法JMenuBar(),把菜单条放入JFrame窗口中用setJMenuBar()方法;生成菜单用类JMenu的构造方法JMenu()或JMenu(String s);生成菜单项用类JMenuItem的构造方法JMenuItem()或JMenuItem(String s)。在菜单事件中获得事件源的方法是getSource(),获得事件源文字信息的方法是getActionCommand()。

4:参考答案:Graphics

repaint()或update()

[解析]本题考核知识点是小应用程序中paint()和repaint()方法的使用。

paint()方法需要Graphics类型参数,当单击鼠标时,要在paint()方法中再次显示图片,可以调用repaint()方法,使程序先清除paint()运行的结果,再运行paint();也可以调用update()方法,该方法会使系统自动调用repaint()方法。

5:参考答案:synchronized notify()

[解析]本题考核知识点是线程的互斥和同步。

在Java语言中,使用关键字synchronized定义临界段,能对共享对象的操作上锁,使得某一时刻只允许一个线程使用这个共享对象。但是为了同步,可在临界段中使用wait()、notify()和notifyAll()方法。wait()让线程一直等待,notify()方法通知第一个处于等待的线程结束等待。notifyAll()方法使所有处于等待的线程都结束等待,重新竞争CPU。

五、程序分析题 (本大题共5小题,每小题4分,共20分)

1:参考答案:yuan Circle 62.8

yuan Area 314.0我的答案:

2:参考答案:程序获得当前日期,将日期的字符串表示输出;截取日期字符串中从第11位开始到字母‘C’之前的部分字符串,并输出。

3:参考答案:在第一个文本框输入数据,输入结束(回车)后,在第二个文本框输出该整数的平方。

4:参考答案:滑动滚动条的滑块,在文本框显示块位置对应的数值。

5:参考答案:随机位置显示一个小圆,程序采用背景色重画的办法,清除前一次显示的小圆。[解析]本题考核知识点是图形绘制和线程综合应用。在run()方法中随机产生一个坐标点,以此为左上角坐标,红色填充一个小圆形区域,500毫秒后,用背景色填充同一

个小圆形区域,使红色小圆形区域消失,马上又随机产生一个坐标点,再红色填充,再消失,循环不止。

六、程序设计题 (本大题共2小题,每小题6分,共12分)

1:参考答案:int [] halfArray(int [] a){(1分)

int [] b=new int[a.length];(2分)

For(int k=0;k<a.length;k++){(2分)

b[k]=a[k]/2;

}

return b;(1分)

}

[解析]本题考核知识点是面向对象程序设计中的方法设计。

编写方法,需要确定方法名,已给出halfArray;再确定参数个数及类型,要求是一个int 型数组参数即halfArray(int

[]);再就是确定方法返回值类型,要求返回一个新数组,新数组元素类型要确定下来,根据题意,新数组元素是参数数组相应元素的一半,这一半应该可能是小数,所以方法头应该为float[]halfArray(int

[])而不应该是int []halfAray(int

[]),方法体中的一半也应该是除以2.0。并转换成float类型,方法体定义的数组b也应该是float类型。或者返回值类型和数组b的类型都定义成double类型。

2:参考答案:long n1,n2;(1分)

if(e.getSource()=(panel.addButton)){

n1=Long.parseLong(panel.text1.getText());

n2=Long.parseLong(Panel.text2.getText());

panel.text3.setText(String.valueOf(n1+n2));

}

else if(e.getSource()=(panel.subButton)){

n1=Long.parseLong(panel.text1.getText());

n2=Long.parseLong(panel.text2.getText());

panel.text3.setText(String.valueOf(n1-n2));

}

注:将panel.text1写成text1,panel.text2写成text2整体扣1分。

[解析]本题考核知识点是图形界面设计、JPanel、JTextField、JButton及其事件的处理。在方法体中的代码类似于34小题。容器的嵌套不要忽略了。

全国2009年1月Java语言程序设计(一)试题

一、单项选择题(本大题共10小题,每小题1分,共10分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.下列字符组合不能作为Java整型常量的是( )

A.078

B.0x3ACB

C.5000

D.0x3ABC

2.以下程序代码的输出结果是( )

int x = 10;

while (x > 7){

System.out.print("*");

x--; }

A.**

B.***

C.*

D.****

3.设类U声明,及对象u和v的定义如下:

class U{

int x, int y;

U(int a, int b){x= a; y = b;}

void copy(U a){ x = a.x; y = a.y;}

}

U u = new U(1, 2), v = new U(2, 3);

在以下供选择的代码中,可能引起系统回收内存的是( )

A.u.x=v.y;u.y=v.x;

B.u=v;

C.u.copy(v);

D.v.copy(u);

4.设有以下代码: String s l="123";

String s2="123";

String s3=new String("123");

则表达式s1==s2和s1==s3的值分别是( )

A.true,true

B.false,false

C.true,false

D.false,true

5.以下关于AWT与Swing之间关系的叙述,正确的是( )

A.Swing是AWT的提高和扩展

B.在写GUI程序时,AWT和Swing不能同时使用

C.AWT和Swing在不同的平台上都有相同的表示

D.AWT中的类是从Swing继承的

6.在以下Swing组件中,能为它指定布局管理器的是( )

A.JScrollBar对象

B.JMenuBar对象

C.JComboBox对象

D.JDialog对象

7.一般的绘图程序要定义一个JPanel子类。在JPanel子类中还要重定义一个方法,在这个方法中调用绘图方法,绘制各种图形。要重定义的方法是( )

A.paint()

B.paintComponent()

C.repaint()

D.update()

8.用Runnable接口实现多线程的主要工作是( )

A.声明实现Runnable接口的类,在类内实现run()方法,让线程调用start()方法。

B.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在init()方法中创建新线程,启动新线程。

C.声明实现Runnable接口的类,在类内实现run()方法,在类内声明线程对象,在Init()方法或start()方法中创建新线程,在start()方法中启动新线程。

D.声明实现Runnable接口的类,在类内实现run()方法,在init()方法中创建新线程,在start()方法中启动新线程。

9.程序如果要按行输入输出文件的字符流,最合理的方法是采用( )

A.BufferedReader类和BufferedWriter类

B.InputStream类和OutputStream类

C.FileReader类和FileWriter类

D.File_Reader类和File_Writer类

10.在编写访问数据库的Java程序中,要用到DriverManager类。该类的作用是( )

A.存储查询结果

B.处理与数据库的连接

C.在指定的连接中处理SQL语句

D.处理驱动程序的加载和建立数据库连接

二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。

11.Java程序的字节码文件的扩展名是_________。 class

12.构造一个Java表达式:y/x>5,并且x!=0。这个表达式是_________。y/x>5 && x!=0 13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。final 14.

设有字符串定义: String s="ABCDABCD";

则表达式s.indexOf("B")的值是_________。 1

15.在实现接口ActionListener的方法actionPerformed()中,常用的有两个获得事件源的方法,它们是getActionCommand()和_________。getSource()

16.使用单选按钮的方法是将一些单选按钮用_________对象分组,使同一组内的单选按钮只允许一个被选中。 ButtonGroup

17.在Java语言中,用类Font对象设置字型。如果要设置的字型是:细明体、正常风格(Font.PLAIN),12磅字号,构造这样要求的Font对象fnA的代码是_________。Font fnA=new Font(“细明体”,Font.PLAIN.12)

18.线程从阻塞状态恢复到就绪状态,有三种途径:自动恢复、用resume()方法恢复和用_________方法恢复。notify()或notifyAll()

19.为普通的8位字节流文件读和写操作提供支持的类是_________。InputStream OutputStream 20.Connection类是java.sql包中用于处理与数据库连接的类。Connection对象是用来表示_________的对象,Java程序对数据库的操作都在这种对象上进行。数据库连接三、简答题(本大题共6小题,每小题3分,共18分)

21.请写出表示year年是闰年的Java表达式。闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。(year%4= =0) && (year%4!=0)||(year%400= =0) 22.请写出在类的方法的定义之前,加上修饰字public、private的区别。 Public修饰的方法为公用方法,任何类的方法都可以访问他 Private修饰的方法,本类内部可以访问

23.请写出将文本区text放置于滚动面板jsp,并将滚动面板jsp添加到JFrame窗口myFrame 的Java语句

高级语言程序设计课程设计报告

高级语言程序设计课程 设计报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

2013-2014学年第二学期 《高级语言程序设计》 课程设计报告 题目:班级档案管理系统 专业:网络工程 班级:二 姓名:朱和芳 指导教 师:孙妍姑 成绩: 计算机与信息工程系 2014年5月11日 班级档案管理系统 设计总说明 一、设计目的 运用计算机语言设计班级档案管理,通过此次课程设计,加深对此课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、课程设计或撰

写小论文的步骤和方法;以提高独立分析问题、解决问题的能力,逐步增强实际工程训练。 二、设计内容 对一个有N个学生的班级,通过该系统实现对该班级学生基本信息进行录入、显示、修改、删除、保存等操作的管理。 三、设计方法 结合C语言的有关知识,查阅资料,对班级档案管理系统的内容进行构思和设计,在MicrosoftVisualC++平台上完成设计,并进行调试。

目录 第一章绪论 (5) 第二章需求分析 问题描述 (6) 功能要求 (6) 算法提示 (6) 项目开发的目的 (7) 第三章概要设计 程序模块的组成 (8) 班级档案管理系统 (8) 各个程序的功能介绍 (9) 系统结构图 (9) 第四章模块设计分析 程序的模块组成 (10) 各个函数的主要功能 (10) 系统的功能模块的划分 (10) 总流程图 (12) 功能流程图 (13) 第五章测试 存在的问题 (14) 测试方案 (14) 第六章使用说明书 (15)

第七章总结 (17) 附录 A参考文献 (18) B源程代码 (20)

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

自考Java语言程序设计试题及答案解析

自考J a v a语言程序设计试题及答案解析 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5 4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展

B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( )方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,并让该对象调用start( )方法。 8.大多数采用缓冲式输入数据文件的程序的主要目的是 A.用readLine( )方法按行输入字符 B.提高输入速度 C.更快地读入字符数据 D.用read( )方法输入任意个字符 9.在打开文件对话框时,可用FileFilter类设置筛选条件,在以下供选择的方法中,是 FileFilter类预设的方法之一的是 A.setFileFilter( ) B.addFileFilter( ) C.accept( ) D.setDescription( ) 10.对访问数据库的Java程序来说,DriverManager类的作用是

00342高级语言程序设计(一)考试说明

00342高级语言程序设计(一) 一、本课程使用教材、大纲 高级语言程序设计(一)课程使用的教材为《高级语言程序设计》 迟成文编著、经济科学出版社、2007年第一版。 二、本课程的试卷题型结构及试题难易度 1、试卷题型结构表 四个认知层次在试卷中所占比例大致分别为:识记占20%、领会 占30%、简单应用占30%、综合应用占20%。 3、试卷难易度大致可分为“容易、中等偏易、中等偏难、难”。根据 课程的特点,每份试卷中,不同难易度试题所占的分数比例大致 依次为易占30分、中等偏易占30分、中等偏难占20分、难占 20分。 三、各章内容分数的大致分布

五、各题型范例及解题要求 1.单项选择题 要求:在下列每小题的四个备选答案中选出一个正确的答案,并将其字母标号填入题干的括号内。 例:组成C语言程序的是(B ) A.过程B.函数C.子程序D.主程序和子程序 2.填空题 函数中的形参和调用时的实参都是变量时,传递方式为________。答案:值传递方式 3.程序填空题 例:输入10个整数存入一维数组,再按逆序重新存放后再输出。 main( ) { int i, j, a[10], t, *p; for(i=0; i<10; i++) scanf("%d", __________ ); for(i=0, j=9; i

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

全国高等教育自学考试高级语言程序设计 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;

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

一、选择题 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); }

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

自考Java语言程序设计试题及答案解析

2015年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一) 试卷 (课程代码04747) 本试卷共13页,满分100分.考试时间150分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑. 3.第二部分为非选择题。必须注明大、小题号.使用0.5毫米黑色字迹签字笔作答. 4.合理安排答题空间.超出答题区域无效。 第一部分选择题 一、单项选择题(本大题共10小题.每小题1分.共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的。请将其选出并将“答题卡” 的相应代码涂黑。未涂、错涂或多涂均无分. 1.以下字符组合中,不能作为Java整型常量的是 A.037 B.0x3ADG C.7000 D.0x3abcL 2.以下程序代码的输出结果是 3.设有数组定义,则x.length的值为 A.2 B.3 C.4 D.5

4. 设有字符串String s=〝ABCDEFGABC〞;,则表达式s.indexOf(〝A〞,7)的值是 A.7 B.6 C.3 D.0 5.以下关于Swing与AWT之间关系的叙述中,正确的是 A.Swing是AWT的提高和扩展 B.在写GUl程序时,AWT和Swing不能同时使用 C.AWT和Swing在不同的平台上都有相同的表示 D.AWT中有一些类是从Swing中的一些继承的 6.以下供选择的类中,其子类能用来创建框架窗口的是 A.JWindow B.JFrame C.JDialog D.JAudio 7.某程序定义了一个子类,并要让它实现多线程,以下正确的步骤是 A.继承Thread类,在类内定义run( )方法,声明和创建线程对象,并让该对象调用 start( )方法。 B.继承Thread类,在类内定义run( )方法,声明线程对象,并让该对象调用start( ) 方法。 c.声明实现Runnable接口,在类内实现run( )方法,声明线程对象,创建线程,并 调用start( )方法。 D.声明实现Runnable接口,在类内实现run( )方法,声明和创建线程对象,

最新高级语言程序设计课程设计方案汇总

2011高级语言程序设计课程设计方案

《高级语言程序设计》课程设计方案 一、设计的目的 《高级语言序设计》课程设计是计算机科学与技术专业和网络工程专业集中实践性环节之一,是学习完《高级语言程序设计》课程后进行的一次全面的综合练习。本课程设计主要目的在于加深学生对高级语言程序设计的基本理论和基本语法知识的理解,全面掌握高级语言程序设计的基本方法和技术,熟悉相关编程环境和工具,能够熟练地运用C/C++编写较为简单的应用程序,并对之进行调试分析。按照专业人才培养方案规定,本课程设计合格学生记学分2分。 二、参与人员与组织方式 按照专业人才培养方案,本课程设计要求2010级计算科学与技术专业和网络工程专业的所有学生必须按时完成。为了保证设计的质量,本课程设计以组为单位,3人一组进行组织,配备一位指导老师进行指导。课程设计时间共两周,从2011年12月1日开始到2011年12月23日结束。 三、设计内容 以Windows xp或Windows 7等为开发平台,以Visual C++或GCC/G++(IDE推荐MinGW Developer Studio)作为开发工具和开发环境,用纯C或C++编码,完成一个小型实用程序的设计、算法分析和编码、调试,程序采用控制台字符界面,数据采用文本文件存储,要求程序功能清晰、完善,能正常运行,有明确的输入输出,结果正确,用户界面友好;代码要求符合标准,排版清晰,风格良好。设计过程应该提供完善的设计文档,代码说明文档。根据学生的具体情况,每位学生从以下题目中任选一个,独立完成分析、设计和程序实现。 参考设计题目: 一、编写一个公司财务管理程序 1、内容 编写一个程序,对某个公司的财务进行管理,包含简单的财务数据录入,查询,输出等功能。 2、设计要求 1) 程序采用字符界面 2) 显示功能菜单,用户指定键即可进入相应功能 3) 财务记录保存于文本文件 4) 支持手动查询和报表输出,数据输出格式美观

自考高级语言程序设计复习题

2013年海南省衔接课程考试 高级语言程序设计复习题 一、单项选择题(在每小题列出的四个选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选或未选均无分。) 1、在以下给出的表达式中,与while E中的E不等价的表达式是()。 A)(!E=0) B)(E>0||E<0) C)(E==0) D)(E!=0) 2、若x和y是代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。 A)abs(x-y)<10 B)x-y>-10&&x-y<10 C) @(x-y)<-10||!(y-x)>10 D)(x-y)*(x-y)<100 3、以下能够正确判断char型变量c是否为大写字母的表达式是()。 A) (‘A’<=c)AND (‘Z’>=c) B)(‘A’<=c)& (‘Z’>=c) C)(‘A’<=c) && (‘Z’>=c) D)以上答案都不对 4、下列叙述正确的是()。 A) break语句只能用于switch语句 B)在switch语句中必须使用default C) break语句必须与switch语句中的case配对 D)在switch语句中,不一定使用break语句 5、以下选项中,不能看作一条语句的是()。 A){ ;} B)a=0,b=0,c=0; C) if(a>0); D)if(b==0) m=1;n=2; 6、以下程序段中与语句k=a>b?(b>c?1:0):0)功能等价的是()。 A) if(a>b&&(b>c)) k=1; B) if(((a>b)||(b>c)) k=1; else k=0; else k=0; C)if(a<=b) k=0; D)if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 7、若有以下程序: main() { int y=10; while(y--); printf(“y=%d\n”,y); }

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

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);

《高级语言程序设计》课程设计

《高级语言程序设计》课程设计 一、课程的性质与任务 1.课程性质:《高级语言程序设计》课程设计是计算机工程学院为本科生各专业开设的专业实践课。计算机工学院本科生在完成《高级语言程序设计》课程学习后,通过本课程进入专业实践训练环节,其主要目的是使学生深入理解并实践在《高级语言程序设计》课程中所学的有关知识,受到实践动手能力的基本训练,培养学生的团队精神,增强发现、提出、分析和解决实际问题的能力,为学生毕业后的实际工作奠定一定的基础。 课程设计是培养学生综合运用所学知识锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。科学技术日新月异的发展使计算机应用在生活中可以说得是无处不在,因此作为计算机工程学院学生掌握程序设计和开发技术非常重要,而C语言又是最常见,功能强大的一种高级语言,因此做好C语言课程设计非常必要,能够对后续许多专业课程的学习和实践训练起到重要的保证作用。 2.课程任务:本课程要求学生编写相对教材中实例要较复杂一些的实用程序,通过理论知识与实际需求相结合的编写实用程序的实践活动,使学生了解应用程序设计解决实际问题的具体过程,了解利用算法和数据结构思想编写程序的实际实行方法,掌握应用C语言进行程序设计的基本规范和技巧,掌握阅读与编写程序的结构化程序设计思想,重点掌握C语言的一般语法规则、常用函数、程序编写调试过程和编程解题的常用方法。 二、高级语言课程设计基本要求 1.通过这次课程设计,要求加深对C语言的语法规则、数组、函数、指针等方面基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。 2.课程设计可采取每人一题,可任选一题进行设计, 至少包含五个功能模块。或者每组完成一个课题,每组成员(5到6人)分工合作完成一个课程设计,每个人的任务不同。

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

2016年10月自考Java语言程序设计(一)04747

2016年10月高等教育自学考试全国统一命题考试 Java语言程序设计(一)试卷 (课程代码 04747) 本试卷共9页,满分l00分,考试时间l50分钟。 考生答题注意事项: 1.本卷所有试题必须在答题卡上作答。答在试卷上无效,试卷空白处和背面均可作草稿纸。 2.第一部分为选择题。必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。 3.第二部分为非选择题。必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。 4.合理安排答题空间,超出答题区域无效。 第一部分选择题(共l0分) 一、单项选择题(本大题共l0小题,每小题l分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。淘宝店铺自考达人 V信1297755429 1.在下述字符串中,不是Java余言关键字的是 A.int B.static C.java D.try 2.要作下列数据类型转换,需进行强制类型转换才能实现的是 A.从int到char B.从int到 long C.从lloat到 double D.从byte到 int 3.在以下供选择的概念中,属于面向对象语言重要概念或机制的是 A.方法 B.模块 C.线程 D.继承 4.在下述Java程序代码中,能正确创建数组的是 A.int myA[5]={1,2,3,4,5); B.int myA[]=new int(5); C.int myA[];myA[]=new int[5]; D.int[]myA={1,2,3,4,5,6};5.某Java程序的类A需要利用Swin9创建无边框窗口,则A需要继承的类是A.JWindow B.JApplet C.JFrame D.JDialog 6.在以下供选的鼠标事件中,MouseMotionListener接口能处理的是 A.按下鼠标键 B.拖动鼠标 C.鼠标进入 D.鼠标松开7.在以下代码中,能正确创建Font对象的是 A.new Font(″宋体″,斜体,20); B.new Font(″楷体″,20,正常);C.new Font(″楷体″,Font.BOLD,l 8); D.new Font(″楷体″,1 8,Font.BOLD);8.某线程正处于运行状态,则在以下选项中,不可能是它的后继状态的是 A.就绪状态 B.新建状态 C.阻塞状态 D.死亡状态 9.某Java程序用类JFileChooser来实现打开和保存文件对话框。当对话框的返回 值是JFileChooser.APPROVE_OPTION时,程序进一步的工作是 A.用方法getName()取得文件名称 B.用方法getPathO()取得文件路径 C.用方法getFile()取得文件内容 D.用方法getSelectedFile()取得文件对象 10.Java语言实现C/S模式时,需要使用网络套接字,套接字的内容包括 A.IP地址+端口号 B.IP地址+监控线程名 C.监控线程名+端口号 D.IP地址+监控线程名+端口号 第二部分非选择题(共90分) 二、填空题(本大题共l0小题,每空2分,共20分) 11.一个Java小应用程序必须定义成一个子类,它的超类是______。 12.在Java语言中,左移运算符是______。 13.类A的成员变量x的类型是类B的,则类A和类B之间的关系是______。14.以下代码: 的输出结果是_______。 15.在JFrame子类的构造方法中,代码getContentPane0的作用是_______。16.用JScrollBar创建一个垂直滚动条对象时,需要指定的常量是_______。17.在异或模式下绘图时,实际绘制的颜色是由3种颜色作特定的运算确定的:当前正要绘 制的颜色、原先绘制的颜色以及_______。 18.处于运行状态的线程执行yield()方法,该线程将进入_______状态。 19.在Java语言中,客户端使用的套接字类是_______。 20.在Java语言中,DriverManager类的作用是加载驱动程序和_______。

《高级语言程序设计》课程设计报告

2013-2014学年第二学期《高级语言程序设计》 课程设计报告 题目:进程调度模拟 专业:计算机科学与技术 班级:12级对口(3)班 姓名:刘以鹏 指导教师:代美丽 成绩: 计算机与信息工程系 2014年 5月 23日

目录 1 1 设计目的及要求 (3) 1.1 设计目的 (3) 1.2 课程设计的实验环境 (3) 1.3 课程设计的预备知识 (3) 1.4 课程设计要求 (3) 2 课程设计内容 (3) 2.1程序功能介绍 (3) 2.2程序整体设计说明 (4) 2.2.1设计思路 (4) 2.2.2数据结构设计及用法说明 (5) 2.2.3程序结构(流程图) (5) 2.2.4各模块的功能及程序说明 (6) 2.2.5程序运行结果 (7) 3 总结 (9) 参考资料 (11) 程序源代码 (12)

1 设计目的及要求 1.1 设计目的 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力 1.2 课程设计的实验环境 硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言程序设计及相应的开发环境。 1.3 课程设计的预备知识 熟悉C语言及C语言开发工具。 1.4 课程设计要求 1. 分析课程设计题目的要求 2. 写出详细设计说明 3. 编写程序代码,调试程序使其能正确运行 4. 设计完成的软件要便于操作和使用 5. 设计完成后提交课程设计报告 2课程设计内容 2.1程序功能介绍 在多道程序环境下,进程数目往往多于处理机数目,致使他们争用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使

2020年10月全国高级语言程序设计(一)自考试题及答案解析.docx

??????????????????????精品自学考料推荐?????????????????? 全国 2018 年 10 月高等教育自学考试 高级语言程序设计(一)试题 课程代码: 00342 一、单项选择题(本大题共20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.下列不正确的转义字符是() . A. ′ ′ B. ′ ″ C. ′ \086′ D. ′ \0′ 2.下列运算符中,优先级最高的是() A. [] B.++ C.% D.&& 是 C 语言保留字的是 () 3.下列标识符中,不. A. char B. while C. min D. default 4.下列数据中,不.是 C 语言常量的是 () A. ′ \n′ B. ″ a″ C. e-2 D. 012 5.若定义了 int a; char b; float c ;,则表达式a*b-c 的类型是 () A. float B. int C. char D. double 6.若定义了 int a, x,y;,则下列语句中不.正确的是 () A. x=3 ,y=5 ; B. ++x ; C. x=y+=x*30 ; D. a=y+x=30 ; 7.调用函数时,若实参是一个数组名,则向函数对应的形参传送的是() A. 数组的长度 B.数组的首地址 C. 数组第一个元素的值 D. 整个数组元素的值 8.在 C 语言中,函数返回值的类型是由() A. 定义的函数类型决定 B.return 语句中表达式的类型决定 C.调用该函数的主调函数类型决定 D. 调用该函数时系统状态决定 9.若定义了 int b [][ 3]={ 1,2, 3,4, 5, 6, 7};,则 b 数组第一维的长度是 () A. 2 B. 3 C. 4 D.无确定值 1

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.doczj.com/doc/5d4744138.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

高级语言程序设计课程设计指导书

信电工程学院 《高级语言程序设计综合训练》 指导书 电子信息科学与技术教研室编 2015年6月

目录 一、综合训练的目的 二、综合训练题目汇总 三、综合训练具体任务 四、综合训练说明 五、综合训练报告撰写要求

一、综合训练的目的 高级语言程序设计综合训练是电子信息科学与技术专业高级语言程序设计课程的综合实践课程。主要目的是通过对具体应用问题的分析和规范的程序设计过程,对学生进行综合设计训练,提高学生的程序设计水平和实际应用能力。通过本课程,学生将理论知识和实际应用问题结合起来,通过完整的分析、设计、实现过程,掌握用高级语言进行应用软件设计的基本思路和方法,掌握软件设计的基本流程和基本设计技能;训练和培养学生编写具有良好风格的代码的习惯,提高学生的分析解决实际问题的能力。该综合实践环节将使学生进一步理解和掌握高级语言程序设计的基础知识,提高学生理论水平和应用实践能力。 二、综合训练题目汇总 1. 学生信息管理系统 2. 学生选修课程系统 3. 银行存取款管理系统 4. 数据汇总系统 5. 学生成绩排序 6. 其他自选题

三、综合训练具体内容 (一)学生信息管理系统 1. 学生信息管理系统简介: 学生信息管理系统是一个小型学生信息管理程序,该软件能够实现学生信息表的建立,学生信息的添加,学生信息的显示,指定姓名或学号查询学生信息,学生信息的删除等简单管理功能。程序要求提供简单友好易于操作的界面。 2. 基本要求: 本课题要求设计实现“学生信息管理系统”程序。该程序实现学生信息管理的基本功能,包括信息表的建立、显示等功能。要求用动态链表实现该应用程序。用函数分别实现动态链表的建立、动态链表输出等功能。函数要求使用指针作形参。 3. 系统结构及模块要求: (1)学生节点数至少10个。学生信息包括学号,姓名,性别,年龄,籍贯,电话号码及email地址。 (2)程序主界面包括程序名称及编程者学号、姓名、班级;同时要求输入功能号码,选择进入功能模块程序。主界面格式及选择项(供参考)如下图1“系统主菜单”:(中文英文均可) (3)各模块功能: A. 创建学生信息表。动态创建学生信息表,同时输入学生信息。学生信息表用链表实现。链表节点个数不少于10个。

高级语言程序设计自考模拟10

[模拟] 高级语言程序设计自考模拟10 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的。 第1题: 下列不属于面向机器语言的是( ) A.符号语言 B.二进制语言 C.汇编语言 D.C语言 参考答案:D 答案解析: 第2题: 设int b=2;表达式(b<<2)/(b>>1)的值是( ) A.2 B.4 C.6 D.8 参考答案:D 答案解析: 左移位运算移一位相当于乘2,右移位运算右移一位相当于除2。 第3题: 设置变量定义为:int a=0x53;int b=6;,求表达式~a|b的值(假定现有计算机字长为16)( ) A.82 B.-82 C.72 D.-72 参考答案:B 答案解析: 因计算机字长为16.故a的二制表示是0000000001010011,b的二进制表示是0000000000000110。运算符"~"自右向左结合,运算符"|"是自左向右结合;且运算符"~"的优先级高于运算符"|"的优先级,则进行计算的顺序是"(~a)|b"。最终计算结果是1111111101010010(十进制值为-82)。 第4题:

为了判定两个字符串是否相等应当使用( ) A.if(s1==s2) B.if(s1=s2) C.if(strcmp(s1,s2)==0) D.if(strcmp(s1,s2)=0) 参考答案:C 答案解析: 第5题: 设char c[5]={'a','b','\0','C','\0');则printf("%s",c);的输出是( ) A.'a''b' B.ab C.abc D."ab\0c" 参考答案:B 答案解析: 第6题: 以下程序的运行结果是( ) #include<stdio.h>main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12};int *p=&a[5],*q=NULL;printf("%d%d\n",*p,*q);} A.运行后报错 B.6 0 C.6 12 D.5 5 参考答案:A 答案解析: #include<stdio.h> main() { int a[]={1,2.3.4,5,6,7,8,9,10,11,12}; int*p=&a[5],*q=NULL; printf("%d%d\n",*P,*q);/*被置空的指针不能参与"*"运算*/ } 第7题: 当执行以下程序段时( ) do{y--;}while(--y) printf("%d\n",y--); A.循环体将执行一次 B.循环体将执行两次 C.循环体将执行无限次 D.系统将提示有语法错误

00342高级语言程序设计自考机考答案

高级语言程序设计(一)(00342) 一、选择题(共75小题,每题2分,共150分) 1-5 BBCDB 6-10 CBAAC 11-15 DACBC 16-20 BACAA 21-25 CCCBB 26-30 DACDD 31-35 CDCDC 36-40 DBADD 41-45 CACCD 46-50 BBCBB 51-55ABCDC 56-60BCBAA 61-65DCDCD 66-70CDBAA 71-75DBADD 二、判断题(共25小题,每题2分,共50分) 1-5 ????6-10 ????11-15 ????16-20 ????21-25 ???? 三、名词解释题(共25小题,每题4分,共100分) 1、答:所谓函数的调用,是指一个函数(调用函数)暂时中断本函数的运行,转而执行另一个函数(被调用函数)的过程。 2、答:计算机能直接识别和接受的二进制代码。 3、答:由.OBJ文件转化而成的.EXE文件,即计算机可以识别、执行的程序。 4、答:即一组计算机能识别和执行的指令。 5、答:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织性形式,就是数据结构。 6、答:用一个符号代表一个常量,称为符号常量。 7、答:在计算机高级语言中,用来对变量、符号变量名、函数、数组、类型等命名的有效字符序列统称为标识符。 8、答:用关系运算符将两个数值或数值表达式连接起来的式子,称关系表达式。 9、答:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。 10、答:函数的首行(即函数首部)称为函数原型。 11、答:即要求计算机进行操作的步骤,可以用言语描述,也可以用流程图描述。 12、答:将已设计好的算法用计算机语言来表示,即根据已经细化的算法正确写出计算机程序。 13、答:如果一个变量在某个文件或函数范围内是有效的,就称该范围为该变量的作用域。 14、答:如果在程序中定义了一个函数,在编译时,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址),称为这个函数的指针。 15、答:一个数组,若其元素均为指针类型数据,称为指针数组。 16、答:所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(所占多少字节)

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