精华内容
下载资源
问答
  • 第1章 因特网与万维网基础 ...2单选(2分)下列关于ASP.NET的描述中,错误的是()。 A.ASP.NET依赖于微软的.NET框架 B.ASP.NET采用纯面向对象语言比采用脚本语言的执行效率高 C.ASP.NET采用代码分离技

    第1章 因特网与万维网基础

    在这里插入图片描述

    第2章 HTML基础

    在这里插入图片描述

    第3章 CSS

    在这里插入图片描述

    第4章 JavaScript

    在这里插入图片描述

    第5章 PHP

    在这里插入图片描述

    第6章 关系数据库及SQL

    第7章 ASP.NET

    1单选(2分)利用ASP.NET开发的网页,其文件扩展名应为()。
    A.asp
    B.aspx
    C.php
    D.jsp
    正确答案:B

    2单选(2分)下列关于ASP.NET的描述中,错误的是()。
    A.ASP.NET依赖于微软的.NET框架
    B.ASP.NET采用纯面向对象语言比采用脚本语言的执行效率高
    C.ASP.NET采用代码分离技术有利于开发协作
    D.ASP.NET和ASP都采用了JavaScript编程语言
    正确答案:D

    3单选(2分)ASP.NET中的Validation服务器控件不包括()。
    A.CustomValidator
    B.RangeValidator
    C.ValidationSummary
    D.LinkButton
    正确答案:D

    4单选(2分)ASP.NET中用来处理网站状态管理的内置对象不包括()。
    A.Cookie
    B.Request
    C.Cache
    D.Session
    正确答案:B

    5单选(2分)ASP.NET中关于Server对象的URLEncode方法描述正确的是()。
    A.将URL编码还原为原来的字符串
    B.将字符串转换成URL的编码输出
    C.将字符串转换成HTML格式输出
    D.以上都不对
    正确答案:B

    6单选(2分)ASP.NET中Application对象的方法中可以实现清除某一个Application对象变量的是()方法。
    A.Clear
    B.Remove
    C.RemoveAll
    D.Set
    正确答案:B

    7单选(2分)ASP.NET中Session对象的方法中可以用来取消当前会话的方法是( )方法。
    A.Clear
    B.Abandon
    C.Removeall
    D.Remove
    正确答案:B

    8单选(2分)ASP.NET中Cookie对象的方法中用来获取或设置Cookie的过期日期和时间的属性是( )。
    A.Value
    B.Expires
    C.Name
    D.Version
    正确答案:B

    9单选(2分)SqlDataSource控件的常用属性中用来获取或设置用于为数据库选择数据记录的SQL语句的属性是()。
    A.SelectCommand
    B.InsertCommand
    C.ConnectionString
    D.UpdateCommand
    正确答案:A

    10单选(2分)ASP.NET中数据绑定可以通过( )方式实现。
    A.手工数据绑定
    B.绑定表达式
    C.以上都可以
    D.自动数据绑定
    正确答案:C

    11单选(2分)在ASP.NET中,加载窗体时触发的事件是()。
    A.GetFoucs
    B.DoubleClick
    C.Load
    D.Click
    正确答案:C

    12单选(2分)下列属于DataList控件缺点的是( )。
    A.大数据分页效率低
    B.不支持分页2.00/2.00
    C.不支持自定义格式
    D.不支持排序
    正确答案:B

    13多选(3分)下列属于ASP.NET数据源控件的是( )。
    A.SiteMapDataSource1.00/3.00
    B.HtmlDataSourceC.Sql
    DataSource1.00/3.00D.Xml
    DataSource1.00/3.00
    正确答案:ACD

    14多选(3分)下列属于ADO.NET对象模型的是()对象。
    A.Command1.00/3.00
    B.DataSource
    C.DataAdapter1.00/3.00
    D.Connection1.00/3.00
    正确答案:ACD

    15多选(3分)ASP.NET中的服务器控件包括( )。
    A.Web控件1.00/3.00
    B.Button控件
    C.Validation控件1.00/3.00
    D.HTML控件1.00/3.00
    正确答案:ACD

    16判断(2分)FileUpload是Web服务器控件之一。()
    正确答案:对

    17判断(2分)Connection对象的Close方法用于关闭与数据库的连接。()
    正确答案:错

    18判断(2分)DataAdapter对象的Fill方法用于从源数据读取的数据行填充至DataSet对象中。()
    正确答案:对

    19判断(2分)在ASP.NET中,所有与数据连接相关的控件,称为数据连接控件,这类控件主要包括两大类:数据源控件和数据绑定控件。()
    正确答案:对

    20判断(2分)Menu属于列表式数据绑定控件。()
    正确答案:错

    第8章 Cookie和Session

    在这里插入图片描述

    第10章 综合设计(一)——网上订餐系统的设计与实现

    在这里插入图片描述

    第12章 综合设计(三)——留言板系统的设计与实现

    在这里插入图片描述

    展开全文
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来了代码编写的隐患。PCLint识别并报告C语言中的编程陷阱和格式缺陷的发生。它进行程序的全局分析,能识别...
  • Java错题集(十四)

    2021-02-09 14:29:16
    在 myjsp.jsp 中,关于下面的代码说法错误的是: ( ) 下面代码的输出是什么? 关于ThreadLocal类以下说法正确的是 下面程序的输出是:() 使用mvc模式设计的web应用程序具有以下优点,除了? Java数据库连接库...

    目录

    以下代码段执行后的输出结果为

    java语言的下面几种数组复制方法中,哪个效率最高?

    在 myjsp.jsp 中,关于下面的代码说法错误的是: (  )   

    下面代码的输出是什么?

    关于ThreadLocal类 以下说法正确的是

    下面程序的输出是:()

    使用mvc模式设计的web应用程序具有以下优点,除了?

    Java数据库连接库JDBC用到哪种设计模式?

    关于Java和C/C++的比较,下列哪个描述是错误的?

    关于volatile关键字,下列描述不正确的是?

    JVM内存不包含如下哪个部分( )

    以下哪些继承自 Collection 接口()

    事务隔离级别是由谁实现的?

    计算机所能处理的最小的数据项称为()

    顺序执行下列程序语句后,则b的值是()

    下面有关forward和redirect的描述,正确的是() ?

    下列那些方法是线程安全的(所调用的方法都存在)


    以下代码段执行后的输出结果为

    public class Test {
        public static void main(String args[]) {
            int x = -5;
            int y = -12;
            System.out.println(y % x);
        }
    }

    正确答案: D   你的答案: D (正确)

    -1
    2
    1
    -2

    来源:https://www.nowcoder.com/questionTerminal/7b4ec6887dc04af992ce10dadfb532bb

    Y(被除数) % X(除数)

    当除数与被除数的符号相同时,取余和取模的结果是完全相同的; 当除数与被除数的符号不相同时结果不同

    具体说,取余结果的符号与被除数相同取模结果的符号与除数相同

    1.取余    rem(3,2)=1    rem(-3,-2)=-1    rem(3,-2)=1    rem(-3,2)=-1   

    2.取模    mod(3,2)=1    mod(-3,-2)=-1    mod(3,-2)=-1    mod(-3,2)=1

     

    java语言的下面几种数组复制方法中,哪个效率最高?

    正确答案: B   你的答案: D (错误)

    for 循环逐一复制
    System.arraycopy
    Array.copyOf
    使用clone方法

    来源:https://www.nowcoder.com/questionTerminal/e7c2d52c9cf0476bbba6aae6713dd303

    总结: 

    (1)从速度上看:System.arraycopy > clone > Arrays.copyOf > for 
    (2)for的速度之所以最慢是因为下标表示法每次都从起点开始寻位到指定下标处(现代编译器应该对其有进行优化,改为指针),另外就是它每一次循环都要判断一次是否达到数组最大长度和进行一次额外的记录下标值的加法运算。 
    (3)查看Arrays.copyOf的源码可以发现,它其实本质上是调用了System.arraycopy。之所以时间差距比较大,是因为很大一部分开销全花在了Math.min函数上了。

    public static byte[] copyOf(byte[] original, int newLength) { 
        byte[] copy = new byte[newLength];
        System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); 
        return copy;
    }

    (4)查看System.arraycopy的源码,可以发现它实质上是通过Jni调用本地方法,及c/c++已经编译成机器码的方法,所以快。

    public static native void arraycopy(Object src, int srcPos,
                                        Object dest, int destPos, int length);

    (5)native方法,但并未手写,需要JNI转换

     

    在 myjsp.jsp 中,关于下面的代码说法错误的是: (  )   

    <%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %> 

    正确答案: A   你的答案: C (错误)

    该页面可以使用 exception 对象
    该页面发生异常会转向 error.jsp
    存在 errorPage 属性时,isErrorPage 是默认为 false
    error.jsp 页面一定要有isErrorPage 属性且值为 true

    来源:https://www.nowcoder.com/questionTerminal/b07dfbf3f5d7428aacb7387f48084030

    exception是JSP九大内置对象之一,其实例代表其他页面的异常和错误。

    只有当页面是错误处理页面时,即isErroePage为 true时,该对象才可以使用。

    对于C项,errorPage的实质就是JSP的异常处理机制,发生异常时才会跳转到 errorPage指定的页面,没必要给errorPage再设置一个errorPage。

    所以当errorPage属性存在时, isErrorPage属性值为false

     

    下面代码的输出是什么?

    public class Base
    {
        private String baseName = "base";
        public Base()
        {
            callName();
        }
    
        public void callName()
        {
            System. out. println(baseName);
        }
    
        static class Sub extends Base
        {
            private String baseName = "sub";
            public void callName()
            {
                System. out. println (baseName) ;
            }
        }
        public static void main(String[] args)
        {
            Base b = new Sub();
        }
    }

    正确答案: A   你的答案: B (错误)

    null
    sub
    base

    来源:https://www.nowcoder.com/questionTerminal/c2bfb1512dfa4a7eab773a5871a52402

     new Sub()在创造派生类的过程中首先创建基类对象然后才能创建派生类

    创建基类即默认调用Base()方法,在方法中调用callName()方法,由于派生类中存在此方法,则被调用的callName()方法是派生类中的方法此时派生类还未构造所以变量baseName的值为null
     

    《Thinking in JAVA》201页提到,如果不需要内部类对象与其外部类对象之间有联系,那么可以将内部类声明为static

    对于这种说法,我尝试着在A包下面建了一个类X,并在其内部声明了一个静态内部类Y(也叫嵌套类),然后同样是在A包下面,我新建了一个类B,然后在这个类中引用前面那个类Y,发现可以直接引用说明X与Y的确没有联系(虽然引用的时候需要用X.Y的方式引用,不过貌似好像就这点联系了。)

    如果Y没有声明为static,那么是无法在B中引用Y的。其实说了这么多,总结来讲,就是static的作用是相当于建立了2个类在工作目录下的确也是生成了2个class文件,既然是2个类,那么这两个类的关系就是单纯的继承关系了。

     

    关于ThreadLocal类 以下说法正确的是

    正确答案: D E   你的答案: A B C D E (错误)

    ThreadLocal继承自Thread
    ThreadLocal实现了Runnable接口
    ThreadLocal重要作用在于多线程间的数据共享
    ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本
    ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏

    来源:https://www.nowcoder.com/questionTerminal/b82e4a85a66e4dc488a5ab49094976e9

    1、ThreadLocal的类声明:

    public class ThreadLocal<T>

    可以看出ThreadLocal并没有继承自Thread,也没有实现Runnable接口。所以AB都不对。

    2、ThreadLocal类为每一个线程都维护了自己独有的变量拷贝每个线程都拥有了自己独立的一个变量

    所以ThreadLocal重要作用并不在于多线程间的数据共享,而是数据的独立,C选项错。

    由于每个线程在访问该变量时,读取和修改的,都是自己独有的那一份变量拷贝,不会被其他线程访问,

    变量被彻底封闭在每个访问的线程中。所以E对。

    3、ThreadLocal中定义了一个哈希表用于为每个线程都提供一个变量的副本

     static class ThreadLocalMap {

     

            static class Entry extends WeakReference<ThreadLocal> {

                /** The value associated with this ThreadLocal. */

                Object value;

     

                Entry(ThreadLocal k, Object v) {

                    super(k);

                    value = v;

                }

            }

     

            /**

             * The table, resized as necessary.

             * table.length MUST always be a power of two.

             */

            private Entry[] table;

    }

    所以D对。

     

    下面程序的输出是:()

    String x="fmn";
    x.toUpperCase();
    String y=x.replace('f','F');
    y=y+"wxy";
    System.out.println(y);

    正确答案: D   你的答案: D (正确)

    FmNwxy
    fmnwxy
    wxyfmn
    Fmnwxy

    来源:https://www.nowcoder.com/questionTerminal/caa9ea2063624a04afc91df682bb4729

    String x="fmn";  “fmn”是在常量池里的不可变对象。

    x.toUpperCase();   在堆中new一个"FMN"对象,但无任何引用指向它。

    String y=x.replace('f','F'); 在堆中 new一个"Fmn"对象,y指向它。

    y=y+"wxy"; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。

     

    使用mvc模式设计的web应用程序具有以下优点,除了?

    正确答案: D   你的答案: C (错误)

    可维护行强
    可扩展性强
    代码重复少
    大大减少代码量

    来源:https://www.nowcoder.com/questionTerminal/940d9dd9a582442090b42443f8883f5e


    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
    MVC只是将分管不同功能的逻辑代码进行了隔离,增强了可维护和可扩展性,增强代码复用性,因此可以减少代码重复。但是不保证减少代码量,多层次的调用模式还有可能增加代码量

     

    Java数据库连接库JDBC用到哪种设计模式?

    正确答案: B   你的答案: A (错误)

    生成器
    桥接模式
    抽象工厂
    单例模式

    来源:https://www.nowcoder.com/questionTerminal/134a62da02d34bc6a7ff309af3fbb76f

    JDBC提供两套接口,一个面向数据库厂商,一个面向JDBC使用者。

    桥接模式:

    定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。

    意图 :将抽象与实现解耦。

    桥接模式所涉及的角色
    1.  Abstraction :定义抽象接口,拥有一个Implementor类型的对象引用
    2.  RefinedAbstraction :扩展Abstraction中的接口定义
    3.  Implementor :是具体实现的接口,Implementor和RefinedAbstraction接口并不一定完全一致,实际上这两个接口可以完全不一样Implementor提供具体操作方法,而Abstraction提供更高层次的调用
    4.  ConcreteImplementor :实现Implementor接口,给出具体实现

    Jdk中的桥接模式:JDBC
    JDBC连接 数据库 的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不动,原因就是JDBC提供了统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了

     

    关于Java和C/C++的比较,下列哪个描述是错误的?

    正确答案: C D   你的答案: D (错误)

    Java不支持指针,C/C++支持
    Java程序不需要显式地关心内存释放,而C/C++需要
    Java和C++一样,是纯编译型语言,因此它们的class都是在编译时静态联编(static binding)的
    Java数组、字符串不可能溢出,C/C++数组、字符串则有可能溢出边界

    来源:https://www.nowcoder.com/questionTerminal/b6f55c8749764ed2876f76a84c4c46a4

    Java和C++的区别:

    1. Java是解释型语言,所谓的解释型语言,就是源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码。对于Java而言,中间码就是字节码(.class),而解释器在JVM中内置了。

    2. C++是编译型语言,所谓编译型语言,就是源码一次编译,直接在编译的过程中链接了,形成了机器码。

    3. C++比Java执行速度快,但是Java可以利用JVM跨平台。

    4. Java是纯面向对象的语言,所有代码(包括函数、变量)都必须在类中定义。而C++中还有面向过程的东西,比如是全局变量和全局函数。

    5. C++中有指针,Java中没有,但是有引用。

    6. C++支持多继承,Java中类都是单继承的。但是继承都有传递性,同时Java中的接口是多继承,类对接口的实现也是多实现。

    7. C++中,开发需要自己去管理内存,但是Java中JVM有自己的GC机制,虽然有自己的GC机制,但是也会出现OOM和内存泄漏的问题。C++中有析构函数,Java中Object的finalize方法

    8. C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。

     

    关于volatile关键字,下列描述不正确的是?

    正确答案: B D   你的答案: B C (错误)

    用volatile修饰的变量,每次更新对其他线程都是立即可见的。
    对volatile变量的操作是原子性的。
    对volatile变量的操作不会造成阻塞。
    不依赖其他锁机制,多线程环境下的计数器可用volatile实现。

    来源:https://www.nowcoder.com/questionTerminal/3f6c5287a9fa4d0baa162e44970a343d

    一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:

    1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。

    2)禁止进行指令重排序。

    volatile只提供了保证访问该变量时,每次都是从内存中读取最新值,并不会使用寄存器缓存该值——每次都会从内存中读取。

    而对该变量的修改,volatile并不提供原子性的保证。

    由于及时更新,很可能导致另一线程访问最新变量值,无法跳出循环的情况

    多线程下计数器必须使用锁保护。

    由于有些时候对 volatile的操作,不会被保存,说明不会造成阻塞。不可用与多线程环境下的计数器。

     

    JVM内存不包含如下哪个部分( )

    正确答案: D   你的答案: C (错误)

    Stacks
    PC寄存器
    Heap
    Heap Frame

    来源:https://www.nowcoder.com/questionTerminal/04c442aaf1e14bf9819075cc1f29d899

    JVM内存五大区域:左边私有,右边共享

     

     

    事务隔离级别是由谁实现的?

    正确答案: C   你的答案: B (错误)

    Java应用程序
    Hibernate
    数据库系统
    JDBC驱动程序

    来源:https://www.nowcoder.com/questionTerminal/ce23bb5a36b54849a05f11187eacb23c


    A,我们写java程序的时候只是设定事物的隔离级别,而不是去实现它

    B,Hibernate是一个java的数据持久化框架,方便数据库的访问

    C,事物隔离级别由数据库系统实现,是数据库系统本身的一个功能

    D,JDBC是java database connector,也就是java访问数据库的驱动

     

    计算机所能处理的最小的数据项称为()

    正确答案: A   你的答案: B (错误)

    字节
    双字

    来源:https://www.nowcoder.com/questionTerminal/fd9860e9c28e4b1dbbe024ee1b590671

    位<字节<字<双字

     

    顺序执行下列程序语句后,则b的值是()

    String a="Hello";

    String b=a.substring(0,2);

     

    正确答案: C   你的答案: B (错误)

    Hello
    Hel
    He
    null

    substring    方法将返回一个包含从    start    到最后(不包含  end )的子字符串的字符串。

     

    下面有关forward和redirect的描述,正确的是() ?

    正确答案: B C D   你的答案: B C (错误)

    forward是服务器将控制权转交给另外一个内部服务器对象,由新的对象来全权负责响应用户的请求
    执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址
    执行redirect时,服务器端告诉浏览器重新去请求地址
    forward是内部重定向,redirect是外部重定向
    redirect默认将产生301 Permanently moved的HTTP响应

    来源:https://www.nowcoder.com/questionTerminal/e14e58a3d78346be9540a3fbefd62ee3

    1.从地址栏显示来说

    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.

    redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

     

    2.从数据共享来说

    forward:转发页面和转发到的页面可以共享request里面的数据.

    redirect:不能共享数据.

     

    3.从运用地方来说

    forward:一般用于用户登陆的时候,根据角色转发到相应的模块.

    redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.

     

    4.从效率来说

    forward:高.

    redirect:低.

     

    下列那些方法是线程安全的(所调用的方法都存在)

    正确答案: A C D   你的答案: C D (错误)

    A.
    public class MyServlet implements Servlet {
        public void service (ServletRequest req, ServletResponse resp) {
            BigInteger I = extractFromRequest(req);
            encodeIntoResponse(resp,factors);
        }
    }
    
    
    B.
    public class MyServlet implements Servlet {
        private long count =0;
        public long getCount() {
            return count;
        }
        public void service (ServletRequest req, ServletResponse resp) {
            BigInteger I = extractFromRequest(req);
            BigInteger[] factors = factor(i);
            count ++;
            encodeIntoResponse(resp,factors);
        }
    }
    
    C.
    public class MyClass {
        private int value;
        public synchronized int get() {
            return value;
        }
        public synchronized void set (int value) {
            this.value = value;
        }
    }
    
    D.
    public class Factorizer implements Servlet {
        private volatile MyCache cache = new MyCache(null,null);
        public void service(ServletRequest req, ServletResponse resp) {
        BigInteger i = extractFromRequest(req);
        BigInteger[] factors = cache.getFactors(i);
        if (factors == null) {
            factors = factor(i);
            cache = new MyCache(i,factors);
        }
        encodeIntoResponse(resp,factors);
    }

    来源:https://www.nowcoder.com/questionTerminal/2d312b47ce1b4921a301db97c1eb4caa

    这几个类都没有类属性,不存在共享资源,为了满足题目的意思,应该是多线程情况下使用同一个对象,以达到使成员成为共享资源的目的;

    A:没有成员(没有共享资源),线程安全

    B:假设存在线程1和线程2,count初始值为0,当线程1执行count++中count+1(此时未写回最终计算值),这时线程2执行count++中读取count,发生数据错误,导致线程1线程2的结果都为1,而不是线程1的结果为1,线程2的结果为2,线程不安全;

    C:成员私有,对成员的set get方法都加重量级锁,线程安全;

    D:volatile有两个作用:可见性(volatile变量的改变能使其他线程立即可见,但它不是线程安全的,参考B)和禁止重排序;这里是可见性的应用,类中方法对volatile修饰的变量只有赋值,线程安全.

    展开全文
  • 要求参数的个数相同时参数类型不同 答案 C 例题 3 下面关于友元的描述错误的是 友元函数可以访问该类的私有数据成员 一个类的友元类中的成员函数都是这个类的友元函数 友元可以提高程序的运行效率 类与类之间的...
  • 与所有程序语言的编译器/解释器一样,输入内容都为一有效的表达式存储的字符流数据,而输出的是按照某种运算规则评估出的此表达式的结果(数据类型由具体的某种运算法则决定)。因此,显然它属于动态地评估表达式的...
  • 下列关于线程的描述中,错误的是 A.内核级线程的调度由操作系统完成 B. 操作系统为每个用户级线程建立一个线程控制块 C. 用户级线程间的切换比内核级线程间的切换效率高 D. 用户级线程可以在不支持内核级线程的操作...

    操作系统部分

    一、试题

    下列关于线程的描述中,错误的是
    A.内核级线程的调度由操作系统完成
    B. 操作系统为每个用户级线程建立一个线程控制块
    C. 用户级线程间的切换比内核级线程间的切换效率高
    D. 用户级线程可以在不支持内核级线程的操作系统上实现

    下列选项中,可能将进程唤醒的事件是
    I. I/O结束 .
    II.某进程退出临界区
    III.当前进程的时间片用完
    A.仅 I
    B.仅 III
    C.仅 I、II
    D. I 、II、 III

    下列关于系统调用的叙述中,正确的是
    I .在执行系统调用服务程序的过程中,CPU 处于内核态
    II. 操作系统通过提供系统调用避免用户程序直接访问外设
    III.不同的操作系统为应用程序提供了统一的系统调用接口
    IV.系统调用是操作系统内核为应用程序提供服务的接口
    A.仅I、IV
    B.仅II、 III
    C仅I、II、IV
    D.仅I、III、IV

    下列选项中,可用于文件系统管理空闲磁盘块的数据结构是
    I .位图
    II. 索引节点
    III.空闲磁盘块链
    IV.文件分配表(FAT)
    A.仅 I 、II
    B.仅I、III、IV
    C.仅 I 、III
    D仅 II、III、IV

    系统采用二级反馈队列调度算法进行进程调度。 就绪队列 QI 采用时间片轮转调度算法,时间片为 10 ms;就绪队列 Q2 采用短进程优先调度算法;系统优先调度 QI 队列中的进程,当 Ql 为空时系统才会调度 Q2 中的进程;新创建的进程首先进入 Q l; Ql 中的进程执行一个时间片后,若未结束,则转入 Q2。 若:当前。l 、Q2 为空,系统依次创建进程 Pl 、P2 后’即开始进程调度 Pl 、四百要的 CPU 时间分别为 30 ms 和 20ms ,则进程 Pl、P2 在系统中的平均等待时间为
    A. 25 ms
    B. 20 ms
    C. 15 ms
    D. 10 ms

    在分段存储管理系统中,用共享段在描述所有被共享的段。 若进程 Pl 和 P2 共享段 S,下列叙述中,错误的是
    A.在物理内存中仅保在一份段S的内容
    B. 段 S 在 Pl 和 P2 中应该具有相同的段号
    C. Pl 和 P2 共享段 S 在共享段表中的段表项
    D. Pl 和 P2 都不再使用段 S 时才 回收段 S 所占的内存空间

    某系统采用LRU页置换算法和局部置换策略,若系统为迸程P 预分配了 4 个页框,进程 P 访问页号的序列为 0,1,2,7,0,5,3,5,0, 2,7,6,则进程访问上述页的过程中,产生页置换的总次数是
    A. 3
    B. 4
    C. 5
    D.6

    下列关于死锁的叙述中,正确的是
    I . 可以通过剥夺进程资源解除死锁
    II .死锁的预防方法能确保系统不发生死锁
    III.银行家算法可以判断系统是否处于死锁状态
    IV.当系统出现死锁时,必然有两个或两个以上的迸程处于阻塞态
    A.仅 II 、III
    B.仅 I、II、IV
    C. 仅 I 、II、III
    D. 仅 I、III、IV

    某计算机主存按字节编址,采用二级分页存储管理,地址结构如下

        页目录号(10位)    页号(10位)    页内偏移(12位)
    

    虚拟地址 2050 1225H对应的页目录号、页号分别是
    A. 081 H、101H
    B. 081 H、401H
    C. 201 H、l 01 H
    D. 201 H、40111

    在下列动态分区分配算法中,最容易产生内存碎片的是
    A. 首次适应算法
    B. 最坏适应算法
    C.最佳适应算法
    D.循环首次适应算法
    ( 原试卷43题)有n(n >=3)位哲学家用坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有 m(m;>=1)个碗,每两位哲学家之间有1根筷子。 每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,并继续思考。 为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的 P、V操作(wait()、 signal()操作)描述上述过程中的互斥与向步,并说明所用信号量及初值的含义。
    ( 原试卷44题)某计算机系统中的磁盘有300个柱而,每个柱面有10个磁道,每个磁道有200个扇区,扇区大小为512 B。文件系统的每个簇包含2个扇区。请回答下列问题:
    ( 1 )磁盘的容量是多少?
    ( 2)假设磁头在85号柱面上,此时有4个磁盘访问请求,簇号分别为:100 260 、60 005、101 660 和l 10 560。 若采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么?
    (3) 第 100 530 簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由I/0系统的什么程序完成的?

    二、答案

    1.B  2.C  3.C  4.B  5.C  
    6.B  7.C  8.B  9.A  10.C
    
    
    //信号量
    semaphore bowl;               //用于协调哲学家对碗的使用
    semaphore chopsticks[ n ];    //用于协调听学家对筷子的使用
    for( int i= 0; i <n; i++)
    chopsticks [ i ] . value = 1; //设置两个哲学家之间筷子的数量
    bowl. value = min ( n-1 , m ) ; //bowl. value<=n-1,确保不死锁
    CoBegin 
    while ( True ) {             //哲学家i 的程序
    思考;
    P( bowl ) ;                         //取碗
    P ( chopsticks [ i ] ) ;            //取左边筷子
    P( chopsticks[ ( i + I ) MOD n] ) ; //取右边筷子
    就餐;
    V ( chopsticks[ i ] ) ; 
    V( chopsticks[ ( i + I ) MOD n] ) ; 
    V ( bowl ) ; 
    CoEnd 
    
    
    
    (1)磁盘容量=(300xl0x200x512/1024)KB= 3×10^5 KB。
    (2)依次访问的簇是100 260、101 660、110 560、60 005。
    (3)第100 530 簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成
       其所在的柱面号为L 100530/( 10x200/2)」= 100。
       100530 %( 10x200/2)= 530,磁头号为L 530 / 200 / 2)」=5。
       扇区号为(530×2) % 200 = 60。
       将簇号转换成磁盘物理地址的过程由磁盘驱动程序完成。
    
    
    展开全文
  • 试卷

    2013-05-27 13:19:00
    1.下列关于内联函数的描述中,错误的是( )。C A. 内联函数主要解决程序的运行效率问题; B. 内联函数的定义必须出现在内联函数第一次被调用之前; C. 内联函数中可以包括各种语句; D. 对内联函数不可以进行...

    面向对象程序设计试题A

     

    一、选择题(每小题1分,共10分)

    1.下列关于内联函数的描述中,错误的是( )。C

    A. 内联函数主要解决程序的运行效率问题;

    B. 内联函数的定义必须出现在内联函数第一次被调用之前;

    C. 内联函数中可以包括各种语句;

    D. 对内联函数不可以进行异常接口声明;

    2.下列( )不是构造函数的特征。D

    A. 构造函数的函数名与类名相同

    B. 构造函数可以重载

    C. 构造函数可以设置缺省参数

    D. 构造函数必须指定类型说明

    3.关于成员函数特征的下列描述中,( )是错误的。A

      A. 成员函数一定是内联函数

      B. 成员函数可以重载

      C. 成员函数可以设置缺省参数值

      D. 成员函数可以是静态的

    4.下列静态数据成员的特性中,( )是错误的。C

    A. 说明静态数据成员时前边要加修饰符static

    B. 静态数据成员要在类体外进行初始化

    C. 静态数据成员不允许对象访问

    D. 引用静态数据成员时,要在其名称前加<类名>和作用域运算符

    5.友元的作用是( )。A

    A. 提高程序的运用效率

    B. 加强类的封装性

    C. 实现数据的隐藏性

    D. 增加成员函数的种类

    6.调用重载函数时,根据( )来选择具体的函数。B

    A. 函数名                        B. 参数的个数和类型

         C. 参数名及参数个数             D. 函数的返回值类型

    7.关于delete运算符的下列描述中,( )是错误的。C

       A. 必须用于new返回的指针

    B. 使用它删除对象时要调用析构函数

    C. 对一个指针可以使用多次该运算符

    D. 指针名前只有一对方括号符号,不管所删除数组的维数

    8.设置虚基类的目的是( )。B

    A. 简化程序       B. 消除二义性;

    C. 提高运行效率    D. 减少目标代码

    9.下列描述中,正确的是( )。C

      A. 虚函数是一个static 类型的成员函数

    B. 虚函数是一个非成员函数

    C. 抽象类是指具有纯虚函数的类

    D. 抽象类可以创建对象

    10.通过( )调用虚函数时,采用动态联编技术。A

    A. 对象指针      B. 对象名         C. 成员名限定  D. 派生类名

    二、填空题(每空1分,共10分)

    1.对象是                          的封装体。状态、操作

    2.定义重载函数时,要从                          上进行区分。参数个数、参数类型

    3.对虚函数使用基类类型的指针或引用调用,系统使用       联编;使用对象调用时,系统使用       联编。动态、静态

    4.带有             的类称为抽象类,它只能作为             来使用。纯虚函数、基类

    5.给定某个定义了默认(缺省)构造函数的类A,则语句A* p = new A[5],将执行        次构造函数,为了释放p所占用的空间,正确的写法应该是          。5、delete [] p;

     

    三、判断题(每小题1分,共10分)

    正确填T,错误填F

    1.返回值类型、参数个数和类型都相同的函数也可以重载。( )F

    2.类中缺省的访问权限是私有(private)的。( )T

    3.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( )F

    4.多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )F

    5.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( )F

    6.构造函数可以声明为虚函数。( )F

    7.C++中有些异常不能被捕捉。( )F

    8.虚拟继承需要在继承的关键字前加virtual关键字。( )T

    9.类的静态成员在创建对象之前就已经存在。( )T

    10.对象析构的顺序与对象创建的顺序相同。( )F

     

    四、简答题(每小题5分,共20分)

    1.面向对象技术的主要特征是什么?

    2.函数重载和虚函数有什么区别?

    3.多重继承时,构造函数与析构函数的执行顺序各是什么样的?

    4.什么是纯虚函数?什么是抽象类?抽象类有什么特点和用途?

     

    五、分析题(每小题10分,共30分)

    1.分析以下程序运行结果。

    #include <iostream>

    #include <string>

    using namespace std;

    void f( int a)

    {

         a++;

    }

    void f( int *b)

    {

         *b*=2;

    }

     

    void f( double &v)

    {

         v*=3;

    }

     void f( string &s)

    {

         s = "Changed";

    }

    void f(int* array,int length)

    {

        

         for (int i = 0; i <length ; i++)

         {

             array[i] *= 2;

         }

    }

    void main()

    {

        int m=2,n = 5; 

         double x=1.2;

         string str = "Original";

        int a [4]= { 1, 2, 3, 4 };  

        f(m);

         cout<<m<<endl;

         f( &n);

         cout<<n<<endl;

         f(x);

         cout<<x<<endl;

         f( str);

         cout<< str<<endl;

         f(a,2);

         for (int i = 0; i <4 ; i++)

         {

             cout<<a[i]<<"\t";

         }

    }

    运行结果:

    2

    10

    3.6

    Changed

    2       4       3       4

     

    2.分析以下程序运行结果。

    #include <iostream>

    using namespace std;

    class A

    {

    public:

         static int count;

         A() 

         {

             count++;

             cout<<"class A construct "<<endl;

         }

    };

    int A::count=0;

    class B:public A

    {

    public:

         B():member(),A(){cout<<"class B construct"<<endl;}

    private:

         A member;

    };

     

    void main()

    {

         A a;

         B b;

        cout<<"object count="<<B::count<<endl;

    }

    运行结果:

    class A construct

    class A construct

    class A construct

    class B construct

    object count=3

    3.分析以下程序运行结果。

    #include <iostream>

    using namespace std;

    class A

    {

         public:

             A(){}

             virtual ~A(){}

             virtual void fun1()

             {

                  cout<<"fun1 of class A "<<endl;

             }

              void fun2()

             {

                  cout<<"fun2 of class A "<<endl;

             }

    };

     

    class B : public A

    {

         public:

             B(){}

             ~B(){}

             void fun1()

             {   

                  cout<<"fun1 of class B  "<<endl;

             }

             void fun2()

             {

                  cout<<"fun2 of class B "<<endl;

             }

    };

     void main()

    {

         A b=B();;

         b.fun1();

         b.fun2();

         A *pA=new A;

         pA->fun1();

         delete pA;

         pA=new B;

         pA->fun1();

         pA->fun2();

         delete pA;

    }

    运行结果:

    fun1 of class A

    fun2 of class A

    fun1 of class A

    fun1 of class B

    fun2 of class A

     

    六、编程题(20分)

    编写一个表示形状的抽象类Shape,Area()为求图形面积的函数。从Shape类派生矩形类(Rectangle)、圆类(Circle),实现具体的求面积函数。在main()函数中验证多态性。

    #include <iostream>

    using namespace std;

    class Shape

    {

    public:

             Shape(){cout<<"Construct Shape"<<endl;}

             virtual ~Shape(){cout<<"Destruct Shape"<<endl;}

             virtual double area()=0;

    };

    class Rectangle:public Shape

    {

    public:

             Rectangle(double a,double b)

             {

                       width=a;

                       height=b;

                       {cout<<"Construct Rectangle"<<endl;}

             }

             ~Rectangle(){cout<<"Destruct Rectangle"<<endl;}

             double area()

             {

                       return width*height;

             }

    private:

             double width,height;

     

    };

    class Circle:public Shape

    {

    public:

             Circle(double r)

             {

                       radius=r;

                       {cout<<"Construct Circle"<<endl;}

             }

             ~Circle(){cout<<"Destruct Circle"<<endl;}

             double area()

             {

                       return 3.14*radius*radius;

             }

    private:

             double radius;

    };

     void main()

    {

             Shape *s;

             s=new Rectangle(3,5);

             cout<<s->area()<<endl;

             delete s;

             s=new Circle(10);

             cout<<s->area()<<endl;

             delete s;

    }

     

    转载于:https://www.cnblogs.com/herizai/archive/2013/05/27/3101390.html

    展开全文
  • (25) 下面对对象概念描述错误的是(A) 注:P55 A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体 C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性 (26) 下面不属于软件工程的3个要素的是(D) 注:P62 A. ...
  • C++自创试题

    2020-07-03 18:57:28
    一、选择题1¡¢C++对C语言作了很多改进,下列描述中( )使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;...3¡¢在C++中,关于下列设置缺省参数值的描述中,( )是正确的。 A、
  • 关于数据库中NULL的描述下列哪些说法符合《阿里巴巴Java开发手册》:BD A .NULL=NULL的返回结果为true。 B .NULL与任何值的比较结果都为NULL。 C .NULL<>1的返回结果为true。 D .当某一列的值全是NULL时,...
  • 下列属于面向对象开发方法的是(A B C D)。 A) Booch B) UML C) Coad D) OMT 6. 软件危机的主要表现是(B D)。 A) 软件成本太高 B) 软件产品的质量低劣 C) 软件开发人员明显不足 D) 软件生产率低下 7...
  • 1、下列关于线程的描述中,错误的是 A.内核级线程的调度由操作系统完成 B.操作系统为每个用户级线程建立一个线程控制块 C.用户级线程间的切换比内核级线程间的切换效率高 D.用户级线程可以在不支持内核级线程的...
  • (25) 下面对对象概念描述错误的是______。(A) A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体 C. 对象间的通讯*消息传递 D. *作是对象的动态性属性 (26) 下面不属于软件工程的3个要素的是______。(D) A. ...
  • 数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间...
  • 会计理论考试题

    2012-03-07 21:04:40
    11.在资源管理器中删除文件的操作,错误的是选中文件后, ___A____。 A、在“编辑”菜单中选“删除”命令 B、按Delete键 C、单击右键,选“删除”命令 D、在文件菜单中选“删除”命令 12.机器语言是__C___。 A、源...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    5. 下面关于算法说法错误的是(D )【南京理工大学 2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. ...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    声明结构的默认(无参数)构造函数是错误的。总是提供默认构造函数以将结构成员初始化为它们的默认值。在结构中初始化实例字段是错误的。在类中,必须初始化实例对象. 使用 new 运算符创建结构对象时,将创建该结构...
  • 在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。  C.在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。  D.在这个应用程序的Web.config文件中创建...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    其主要优点是占用资源少、程序执行效率高。但是不同CPU,其汇编语言可能有所差异,所以不易移植。 C语言是一种结构化高级语言。其优点是可读性好,移植容易,是普遍使用一种计算机语言。缺点是占用资源较多...
  • Windows下程序闪退 - 请给出具体的错误或者异常栈 Address has already used (一般广泛见于windows) - 请检查官方客户端是否关闭 等等 使用问题 不建议 在 issue 中提问,因为wiki中已经描述的足够清晰,这类问题...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    31 习题9 排序------------------------------------------------------------------------------------34 第1部分 C++基本知识 各种数据结构以及相应算法的描述总是要选用一种语言工具。在计算机科学...
  • 目录服务是一种网络服务,它存储关于网络资源信息,并使用户或应用程序可以访问这些资源。活动目录使用同样方法命名、描述、查找、访问、管理和保护这些资源信息。/ h( T2 t7 ~5 X0 ^4 p - u- i! w* d# O4 d'...
  • c++ 面试题 总结

    2009-09-16 08:44:40
    代码位置必须在物理内存中才能被运行,由于现在操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它时候在load入主存...

空空如也

空空如也

1 2
收藏数 23
精华内容 9
关键字:

下列关于程序效率的描述错误的是