Java第三、四章作业


5} public static void main(String arg[]) { 6} Test t1,t2; 7} int j,k; 8} j=0; k=0; 9} t1=new Test(); 10} t2=new Test(j,k); 11} } 12} } 哪行将引起一个编译时错误?( ) (A) line 3 (B) line 5 (C) line 6 (D) line 10 7.函数重载是指 ( ) (A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 (B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 (C)两个以上的函数名字不同,但形参的个数或类型相同 (D)两个以上的函数取相同的函数名,并且函数的返回类型相同 8.构造方法何时被调用( ) (A)类定义时 (C)调用对象方法时 9.Java 中访问限定符不包括( ) (A)public (C)default
22
Java 用来定义一个类时,所使用的关键字为 ( ) A、class B、public C、struct D、class 或 struct 23 阅读下列代码后 public class Person{ int arr[]=new int[10]; public static void main(String args[]){ System.out.println(arr[1]); } } 正确的说法是 A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 24 .下列构造方法的调用方式中,正确的是____。 A、按照一般方法调用 B、由用户直接调用 C、只能通过 new 自动调用 D、被系统调用 25.在 Java 中,能实现多重继承效果的方式是____。 A、内部类 B、适配器 C、接口 D、同步
D.java 的单一继承使代码更可靠 18. 已知有下列类的说明,则下列哪个语句是正确的? public class Test { private float f = 1.0f; int m = 12; static int n=1; public static void main(String arg[] ) { Test t = new Test(); } } A.t.f; B.this.n; C.Test.m; D.Test.f; 19 下列代码的执行结果是 public class Test { public int aMethod() { static int i=0; i++; System.out.println(i); } public static void main(String args[] ) { Test test = new Test(); test.aMethod(); } } A.编译错误 B.0 C.1 D.运行成功,但不输出 20 要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符__________。 A、 final B、 public C、 private D、abstract 21 以下代码中,this 是指( )。 class bird{ int x,y; void fly(int x,int y){ this.x=x; this.y=y; } } A、 bird B、 fly C、bird 或 fly D、不一定
(B)创建对象时 (D)使用对象的变量时 (B)private (D)final
10.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该 类的正确声明应为:( ) (A)private class MyClass extends Object (B)class MyClass extends Object (C)public class MyClass (D)private class MyClass extends Object 11.对于下列代码: public class Parent { public int addValue( int a, int b) { int s; s = a+b; return s; } } class Child extends Parent { } 下述哪些方法可以加入类 Child ( ) (A) int addValue( int a, int b ){// do something...} (B) public void addValue (int a, int b ){// do something...} (C) public int addValue( int a ){// do something...}
类型不同。 ( )7.抽象方法不能含有方法体,并且必须在抽象类中。 ( )8.为避免混淆,构造函数名字可以不与所属类名同名。 ( )9.可以用 new 来创建一个类的实例,即"对象"。 ( )10. Java 中类的构造函数只能有一个。 ( )11.类的 public 类型的成员变量不可以被继承。 ( )12.break 语句可以用在循环和 switch 语句中。 ( )13.对象是类的一个实例。 ( )14.用 abstract 修饰的类必须被继承。 ( )15.类都能有多个构造方法。 ( )16.子类可以继承父类所有的成员变量及成员函数。 ( )17.Java 类中不能存在同名的两个成员函数。 ( )18.子类必须通过 super 关键字调用父类有参数的构造函数。 三、简答题 1、 请说说什么是类和对象,并描述两者关系。 2、 请说说什么是继承。 3、 Java 定义了几个关键字用于表示几种访问权限?各表示什么含义? 4、 说明类成员与实例成员的区别
Java 第三、四章作业
姓名__________ 学号_______________
得分_______
(打印后再做题) 一、选择题 1.对象使用时,下面描述错误的是( ) (A)通过“.”运算符调用成员变量和方法 (B)通过成员变量的访问权限设定限制自身对这些变量方法的调用 (C)将一个对象申明为类的成员时,必须在使用前为其分配内存 (D)在方法中使用对象作为参数时,采用引用调用 2.给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量 m 被函数 fun()直接访问 ( ) (A)将 private int m 改为 protected int m (B)将 private int m 改为 public int m (C)将 private int m 改为 static int m (D)将 private int m 改为 int m 3.下列哪些语句关于内存回收的说明是正确的 ( ) (A) 程序员必须创建一个线程来释放内存; (B) 内存回收程序负责释放无用内存 (C) 内存回收程序允许程序员直接释放内存 (D) 内存回收程序可以在指定的时间释放内存对象 4.MAX_LENGTH 是 int 型 public 成员变量, 变量值保持为常量 100, 用简短语句定义这个变 量 () (A) public int MAX_LENGTH=100; (B) final int MAX_LENGTH=100; (C) final public int MAX_LENGTH=100; (D) public final int MAX_LENGTH=100. 5.为 AB 类的一个无形式参数无返回值的方法 method 书写方法头, 使得使用类名 AB 作为前 缀就可以调用它,该方法头的形式为( )。 (A) static void method( ) (B) public void method( ) (C) final void method( ) (D) abstract void method( ) 6.给出下面代码段 1) public class Test { 2} int m, n; 3} public Test() {} 4} public Test(int a) { m=a; }
(D) public int addValue( int a, int b )throws MyException {//do something...} 12.对于下列代码: 1) class Person { 2} public void printValue(int i, int j) {//... } 3} public void printValue(int i){//... } 4} } 5) public class Teacher extends Person { 6} public void printValue() {//... } 7} public void printValue(int i) {//...} 8} public static void main(String args[]){ 9} Person t = new Teacher(); 10} t.printValue(10); 11} } 第 10 行语句将调用哪行语句? (A) line 2 (B) line 3 (C) line 6 (D) line 7 13.类 Teacher 和 Student 是类 Person 的子类; Person p; Teacher t; Student s; //p, t and s are all non-null. if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: (A) 将构造一个 Student 对象; (B) 表达式是合法的; (C) 表达式是错误的; (D) 编译时正确,但运行时错误。 14.如果类中的成员变量可以被同一包访问,则使用如下哪个约束符 (A) private (B)public (C)protected (D)no modifier 15.下列哪个类声明是正确的( ) (A)abstract final class H1{…} (B)abstract private move(){…} (C)protected private number; (D) public abstract class Car{…} 16.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( ) (A)public (B)private (C)protected (D)transient 17 下列关于继承的哪项叙述是正确的? A.在 java 中允许多重继承 B.在 java 中一个类只能实现一个接口 C.在 java 中一个类不能同时继承一个类和实现一个接口
合集下载

标准作业——精选推荐

标准作业——精选推荐

标准作业课后作业第⼀章理论:1.java环境搭建的步骤2.java语⾔的简介3.⼿写代码实现个⼈信息的输出(姓名,性别,年龄,家庭地址,爱好,座右铭)上机:分别使⽤记事本和myeclipse编写java程序实现求学经历的输出并写好每⾏代码的注释说明Xxx求学经历1.Xx⼩学:xxx代课⽼师:xxx,xxx,xx2.Xx中学:xxx代课⽼师:xxx,xxx,xxx第⼆章1.编写⼀个程序,接收控制台输⼊的两个数字,并对他们分别执⾏加、减、乘、除运算,并打印出结果。

2.⼯资计算器CalcSalary.java ⼯资=基本⼯资+房补(基本⼯资*20%)+餐补(基本⼯资*30%)+交通补助(基本⼯资*10%); 提⽰⽤户输⼊基本⼯资程序完成计算功能并输出⼯资详情。

3.输⼊圆半径,输出周长和⾯积CalcArea.java。

4.鸡兔同笼,鸡和兔的头有h个,脚共有f个,设计程序,根据⽤户输⼊的h和f,计算分别有⼏只鸡,⼏只兔。

5.键盘输⼊停车时间计算停车费⽤<前⼆个⼩时10元,以后每⼩时2元>6.假如今天是星期⼀,计算200天之后是星期⼏第三章1.输⼊赵本⼭的考试成绩,显⽰所获奖励成绩==100分,爸爸给他买辆车成绩>=90分,妈妈给他买MP490分>成绩>=60分,妈妈给他买本参考书成绩<60分,什么都不买。

2.FindTaday.java实现⼀个查询⽉天数的程序键盘输⼊年⽉判断这年这个⽉有多少天。

<闰年条件:能被4整除且不能被100整除或者能被400整除>3.国家税务局规定不同⾏业的税收数额度不⼀样税收=(⼯资-起征点)*税率⾏业有1.服务⾏业2.制造业3.农业1.服务⾏业税收的起征点是2000 元 2000元以上需要缴纳10%的个⼈所得税2.制造业税收的起征点是3000元 3000元以上需要缴纳5%的个⼈所得税3.农业税收的起征点是1500元 1500元以上需要缴纳2%的个⼈所得税提⽰⽤户选择⾏业,输⼊⼯资,输出税后⼯资。

java 第1-4章

java 第1-4章

关于本课程本书的主要目标是为你提供有关Java应用和Java app le ts的面向对象的程序设计所必需的知识和技能;并讲授Java编程语言句法和面向对象的概念,以及Java运行环境的许多特性,对图形用户界面(GUIs)、多线程和网络的支持等。

本课程包括了参加S UN Cert if ie d Jav a Pr og ra mme r和S UN Ce rt if ie d Java Deve lo per考试所必备的知识。

一、课程概述本课程首先讨论了Java运行环境和Java编程语言句法,然后阐述了应用于Java编程语言的面向对象的概念;随着课程的进展还将讨论有关Java平台的更先进的特性。

本课程授课对象应具备运用Java 编程语言或其它语言进行基本语言设计的能力,它是“非程序员Java编程”(“Java Pro gra mmi ng f or N o n—Pro gra mmer s”,S L-110)课程的延续。

尽管Java编程语言独立于操作系统,但它所产生的图形用户界面(GUI)却可能依赖于执行其代码的操作系统。

本课程中的例题所使用的代码运行于S olari s TM操作系统,因而本手册中的图形具备Mot if G UI。

如果将这些代码运行于W in d ows 95操作系统,则可产生Micro so ft W i ndo ws 95 GU I。

本课程的内容适用于所有Java操作系统端口。

二、课程图每一模块的课程都从一张课程图开始,使学员可掌握自己的学习进度。

全课程设置流程三、各模块概述-模块1──起步本模块概述了Java编程语言的主要特性及Java应用程序,阐述了类和包的概念,并介绍了一些常用Java包。

-模块2──标识符、关键字和类型Java编程语言与C语言类似,具有许多编程构造。

本模块对这些构造作了一般介绍并讲授了每一构造所要求的一般句法。

此外,还介绍了采用集合数据类型进行数据关联的面向对象的方法。

java第三次作业

java第三次作业

Java程序设计试题(三)一.选择题(每题2分,共20分)1、要向Applet中添加一个列表组件,应选择下列哪个类对象(C)A. ChoiceB. CheckBoxC List D. Menu2、如果一个程序段中有多个catch,则程序会按下列哪种情况执行(C )A.找到合适的异常类型后继续执行后面的catch;B.找到每个符合条件的catch都执行一次;C.找到合适的异常类型后就不再执行后边的catch;D.对每个catch都执行一次3、FileNotFoundException属于以下哪种类型的异常(A)A. IOExceptionB. RuntimeExceptionC. AWTExceptionD.ArithmeticException4、下列方法中哪个不是Applet的成员方法(A )A. initiate()B. start()C. stop()D. destoy()5、Event listener对象的成员方法的返回值是(C )A. StringB. AWTEventC. voidD. int6、下列哪个选项不能使当前线程停止执行(D )A.一个异常被抛出B.线程执行了sleep()调用C.高优先级的线程处于可运行状态D. 当前线程产生了一个新线程7、下列哪个是接口MouseMotionListener的方法(A )A. public void mouseMoved(MouseEvent)B. public boolean mouseMoved(MouseEvent)C. public void mouseMoved(MouseMotionEvent)D. public boolean MouseMoved(MouseMotionEvent)8、关于类DataOutputStream构造方法正确的是(D )A. new dataOutpu tStream(new file(“out.txt”));B. new dataOutputStream(new writer(“out.txt”));C. new dataOutputStream(new OutputStream(“out.txt”));D. new dataOutputStream(new FileOutputStream(“out.txt”));9、下列哪种方式不能直接停止线程的执行(C )A. 调用yield 方法B. 调用了wait方法C. 调用了notify方法D. 调用了suspend()方法10、一个类要实现串行化则必须实现接口( A )A. Serializable B RunnableC. Throwable D Resumable二.简答题(每题4分,共20分)1. 异常是什么?筒述Java的异常处理机制?异常是在程序的运行过程中所发生的非正常事件,它中断指令的正常执行。

java作业_3 答案

java作业_3 答案

作业_31.参考课件中的例子,根据要求,请用Swing编写如下菜单程序:要求:(1)点击“选项对话框”时,分别弹出下列对话框:并在命令行中输出输入框、确认框的输入信息;(2)点击“文件选择器”时,分别弹出文件打开、保存对话框,并在命令行中输出打开、保存的文件信息;(3)点击“颜色选择器”时,弹出颜色板改变窗体的背景色。

import javax.swing.*;import java.awt.Color;import java.awt.event.*;public class JFrameTest extends JFrame {private static final long serialVersionUID = 321L;JMenu menu1;JMenu menu2;JMenu menu3;JFileChooser fileChooser;static JColorChooser colorChooser;static JFrameTest jf;static JPanel p;public JFrameTest(){jf=this;setTitle("对话框、菜单综合例子");setSize(600,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fileChooser=new JFileChooser("d:\\");setMenu();JMenuBar bar=new JMenuBar();setJMenuBar(bar);bar.add(menu1);bar.add(menu2);bar.add(menu3);p=new JPanel();add(p);setVisible(true);}public void setMenu(){menu1=new JMenu("选项对话项");menu2=new JMenu("文件选择器");menu3=new JMenu("颜色选择器");JMenuItem item1=new JMenuItem("显示输入框");JMenuItem item2=new JMenuItem("显示消息框");JMenuItem item3=new JMenuItem("显示确认框");JMenuItem item4=new JMenuItem("打开文件对话框");JMenuItem item5=new JMenuItem("保存文件对话框");JMenuItem item6=new JMenuItem("选择窗体背景颜色");item1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {Object result=JOptionPane.showInputDialog(jf,"请输入您的身份证号码:","输入框",JOptionPane.QUESTION_MESSAGE);if(result!=null)System.out.println("输入框内容:"+(String)result);}});item2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {JOptionPane.showMessageDialog(jf, "吸烟有害健康", "消息框", JOptionPane.WARNING_MESSAGE);}});item3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent arg0) {int i=JOptionPane.showConfirmDialog(jf, "是否保存对“myinformation.doc”的更改?", "确认框", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);if(i==0)System.out.println("确认框:选择了“是");if(i==1)System.out.println("确认框:选择了“否");if(i==2)System.out.println("确认框:选择了“取消");}});item4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showOpenDialog(jf);if(i==0)System.out.println("选择打开的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){int i=fileChooser.showSaveDialog(jf);if(i==0)System.out.println("选择保存的文件是:"+fileChooser.getSelectedFile().getAbsolutePath());}});item6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Color color=JColorChooser.showDialog(jf, "选择窗体背景颜色",p.getBackground());if(color!=null){jf.setBackground(color);p.setBackground(color);}}});menu1.add(item1);menu1.add(item2);menu1.add(item3);menu2.add(item4);menu2.add(item5);menu3.add(item6);}public static void main (String args[]){ new JFrameTest();}}2、请按要求创建线程:(1)用继承Thread类方法创建线程MyThread类,该线程的功能是输出26个英文字母(大写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(2)用实现Runnable接口方法创建线程MyRunnalbe类,该线程的功能是输出26个英文字母(小写,不换行),每输出一个字母后,休眠时间是500—2000毫秒的随机数;(3)在主类中分别创建这两个类的对象t1、t2,并启动。

Java程序设计第三次作业

Java程序设计第三次作业

Java程序设计第三次作业一、程序阅读题(本大题共30分,共 5 小题,每小题 6 分)1. public class Q{public static void main(String args[ ]){int i,j;int intArray[]={30,1,-9,70,25};int l=intArray.length;for(i=l; i<l; i++) for (j=0;j<=l-i-l; j++){int t=intArray[j];intArray[j]=intArray[j+l];intArray[j+l]=t;}for(i=0; i<l; i++) System.out.println(intArray[i]+" "); }}2. 请写下程序的输出结果:3. 写出下面程序的运行结果.import javio.*;class Base{public static void amethod( )throws FileNotFoundException {}}public class ExcepDemo extends Base{public static void main(String argv[]){ExcepDemo e = new ExcepDemo( );}public boolean amethod(int i){try{DataInputStream din = new DataInputStream(System.in); System.out.println("Pausing"); din.readChar( ); System.out.println("Continuing");this.amethod( );return true;}catch(IOException ioe){}finally{System.out.println("Doing finally");}return false;}ExcepDemo( ){amethod(99);}}4. public class Waiter{int var;Waiter(double var){this.var = (int)var;}Waiter(int var){this("Welcome");}Waiter(String s){this( );System.out.println(s);}Waiter( ){System.out.println("Good-bye");}public static void main(String[] args){Waiter t = new Waiter(1);}}5. public class turnString{public static void main(String args[]){String s=”javalesson”;for(int i=s.length( )-1;i>=0;i--) System.out.print(s.charAt(i)); System.out.println( );}}二、简答题(本大题共30分,共 5 小题,每小题 6 分)1. 数据报通信和流式通信的区别是什么?2. 如何构造一个线程(两种方法)?3. 小应用程序(applet)到底与应用程序(application)有何不同?4. 构造线程的两种方式有什么不同?5. 下列程序实现的功能是什么?import javio.* ;public class Reverse{public static void main(String args[ ]){int i , n =10 ; int a[ ] = new int[10];for ( i = 0 ; i < n ; i ++ ) try{BufferedReader br = new BufferedReader( newInputStreamReader(System.in));a[i] = Integer.parseInt(br.readLine( ));}catch ( IOException e ){} ;for ( i = n-1 ; i >= 0 ; i ―― ) System.out.p rint(a[i]+" "); System.out.println( );}}三、程序设计题(本大题共40分,共 4 小题,每小题 10 分)1. 编写程序使用类String的replace方法将字符串”Mary was a ”改为”Mary had a book.”2. 创建一个Applet,要求在init方法中向该applet添加一个文本输入区组件,该文本输入区中显示字符为“你好”,行数为10,列数为15.3. 编写一个java程序将字符串”I’m ok ”改为”I’m glad to meet you”4. 编写一个程序,从键盘输入整数n,并计算从1到n的累加和.答案:一、程序阅读题(30分,共 5 题,每小题 6 分)1. 30 1 -9 70 252.****************3. “Pausing, Continuing, Doing Finally”4. Good-bye Welcome5. nosselavaj二、简答题(30分,共 5 题,每小题 6 分)1. 数据报通信协议UDP(User?Datagram?Protocol)是一种无连接的协议.每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的. 流式通信协议TCP(Tranfer?Control?Protocol)与UDP不同,它是面向连接的协议,发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server?socker)等待建立连接时,另一个socket 可以要求进行连接,一旦这两个socket连接起来,他们就可以进行双向数据传输,双方都可以进行发送或接收操作.2. 构造线程体有两种方式 1定义一个线程类,它继承Thread类,并重写其中的run()方法.直接生成这个类的对象就可以构造一个线程.2提供一个实现接口?Runnable的类作为线程的目标对象.在构造线程对象时,通过方法?Thread(Runnable?target,String?name)把目标对象传给这个线程实例.3. 应用程序(Application)是独立存在的、完整的应用程序;而小应用程序是可嵌入的、基本上完整的程序.下面用表格来说明他们之间的差别. Java应用程序Java小应用程序必须安装在本地机上不需要在本地机上显示安装必须在java兼容虚拟机上显示运行在支持Java的浏览器上可以自动载入并运行有无图形用户接口都可以运行必须在图形用户接口中运行,使用AWT从Main()方法开始运行从Init方法开始运行一旦开始,就按照它自己的控制流执行具有它自己的控制流,但部分的由所在的浏览器上下文决定.除了java语言本身的安全特征外没有固定的安全机制.具有重要的安全控制以防止恶意的或者自身拙劣的小应用程序损坏用户系统.4. 第一种方式:直接继承Thread类,不能再从其它类继承,编写简单,可以直接操纵线程,无需使用Thread.currentThread( ). 第二种方式:使用Runnable接口,可以将CPU,代码和数据分开,形成清晰的模型; 还可以从其他类继承;灵活性高,保持程序风格的一致性.5.将一个从键盘输入的数字串逆序输出。

(完整版)计算机操作系统(第四版)课后习题答案第三章

(完整版)计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

操作系统 第三章,第四章,第九章课后习题整理

第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。

通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。

(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。

答:运行态:该进程正在执行。

就绪态:进程做好了准备,只要有机会就开始执行。

阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。

新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。

退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。

抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。

什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。

当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。

为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。

为适应这种2*2的组合,需要两个阻塞态和两个挂起态。

列出挂起态进程的4个特点。

答:1.进程不能立即执行。

2.进程可能是或不是正在等待一个事件。

如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。

3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。

4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。

对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。

列出进程控制块中的三类信息。

答:进程标识,处理器状态信息,进程控制信息。

为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。

这是为了防止操作系统受到破坏或者修改。

(完整word版)计算机操作系统第三版第4章练习题

一、单项选择题1.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用()技术。

A.动态重定位B.静态重定位C.动态分配D.静态分配2.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。

经划分后分区的个数是固定的,各个分区的大小()。

A.是一致的B.都不相同C.可以相同,也可以不相同,但根据作业长度固定D.在划分时确定且长度保持不变3.采用固定分区方式管理主存储器的最大缺点是()。

A.不利于存储保护B.主存空间利用率不高C.要有硬件的地址转换机构D.分配算法复杂4.采用可变分区方式管理主存储器时,若采用最优适应分配算法,宜将空闲区按()次序登记在空闲区表中。

A.地址递增B.地址递减C.长度递增D.长度递减5.在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能要与相邻空闲区合并。

在修改未分配区表时,使空闲区个数不变且空闲区始址不变的情况是()空闲区。

A.无上邻也无下邻B.无上邻但有下邻C.有上邻也有下邻D.有上邻但无下邻6.在可变分区存储管理中,采用“紧凑"技术可以()。

A.汇集主存中的空闲区B.增加主存容量C.缩短访问周期D.加速地址转换7.页式存储管理中的页表是由()建立的。

A.操作员B.系统程序员C.用户D.操作系统8.采用页式存储管理时,重定位的工作是由()完成的。

A.操作系统B.用户C.地址转换机构D.主存空间分配程序9.采用段式存储管理时,一个程序如何分段是在()决定的。

A.分配主存时B.用户编程时C.装人作业时D.程序执行时10.采用段式存储管理时,一个程序可以被分成若干段,每一段的最大长度是由( )限定的。

A.主存空闲区的长度B.硬件的地址结构C.用户编程时D.分配主存空间时11.实现虚拟存储器的目的是()。

A.扩充主存容量B.扩充辅存容量C.实现存储保护D.加快存取速度12.LRU页面调度算法是选择( )的页面先调出.A.最近才使用B.最久未被使用C.驻留时间最长D.驻留时间最短13.若进程执行到某条指令时发生了缺页中断,经操作系统处理后,当该进程再次占用处理器时,应从()指令继续执行。

Java基础第4章.ppt

DataType varName[=value[,varName[=value]…];
如:int count; char c='a';
4.1.1 变量及其作用域
3. 变量的作用域:
一个变量从被创建、使用一直到 销毁的这一段时间称为变量的生 存期
一个变量的有效使用范围称为作 用域
4.1.1 变量及其作用域
}
4.4.3 switch语句
switch (表达式) { case c1: 语句组1; break; …… case ck: 语句组k; break;
[default: 语句组; break;]
}
计算结果必 须是int型 或字符型
c1,c2,…,ck 是int型或 字符型常量
4.4.3 条件运算符?:
2. public static void main(String args[ ]) {
3.
int result = 0;
4.
for(int i=1; i<=100; i++) {
5.
result += i;
6.
}
7.
System.out.println("result=" + result);
8. }
逻辑值,不能以数值来代替。
注意:
1. 语句1和语句2既可以是单语句,也 可以是语句块。
2. if语句可以嵌套,嵌套时,规定else 子句属于离它最近的if语句。
示例:
if(exp1) { statement1;
} else if(exp2) { statement2;
} elห้องสมุดไป่ตู้e statement3;

数据结构的作业


第五章作业: 第五章作业: 1.假设有二维数组 假设有二维数组a:array[1..6,0..7] of elemtp; 每个数据元 假设有二维数组 素占6个字节 存储器按字节编址 的基地址为1000,则: 素占 个字节,存储器按字节编址。a的基地址为 个字节 存储器按字节编址。 的基地址为 则 (1) 数组 的体积; 数组a的体积 的体积; (2)数组 的最后一个元素的第一个字节的地址; 数组a的最后一个元素的第一个字节的地址 数组 的最后一个元素的第一个字节的地址; (3)按行存储时,a[2,4]的第一个字节的地址; 按行存储时, 的第一个字节的地址; 按行存储时 的第一个字节的地址 (4)按列存储时,a[5,7]的第一个字节的地址; 按列存储时, 的第一个字节的地址; 按列存储时 的第一个字节的地址
7.写出下列各树的先根序列 后根序列 并且画出对应的二 写出下列各树的先根序列,后根序列 写出下列各树的先根序列 后根序列,并且画出对应的二 叉树. 叉树 A A A A B C D B C B C I 8.画出第 题的森林相应的二叉树 画出第7题的森林相应的二叉树 画出第 题的森林相应的二叉树. 9.画出和下列已知序列对应的树 画出和下列已知序列对应的树T: 画出和下列已知序列对应的树 树的先根次序访问序列为:GFKDAIEBCHJ,而且 而且 树的先根次序访问序列为 树的后根次序访问序列为:DIAEKFCJHBG。 。 树的后根次序访问序列为 E F J G H K
3.用单链表实现 用单链表实现Locate(L,x)函数。(可参考 函数。(可参考P26算法 算法2.5) 用单链表实现 函数。(可参考 算法 4.上机题:设单链表Va中的数据元素递增有序。试编 上机题:设单链表 中的数据元素递增有序 中的数据元素递增有序。 上机题 写程序,将数据X插入单链表 插入单链表Va, 写程序,将数据 插入单链表 ,要求插 入后保持该表的有序性。 入后保持该表的有序性。 5.写出双向链表删除第i个结点的算法 5.写出双向链表删除第i个结点的算法。 写出双向链表删除第 个结点的算法。 6.写出求双向循环链表长度的算法。(注:头结点 写出求双向循环链表长度的算法。(注 写出求双向循环链表长度的算法。( 不算) 不算)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档