张老师 发表于 2020-3-24 13:02:47

网上人大《面向对象程序设计》作业1234

面向对象程序设计作业1
1.[单选题]当你开始一个新的C# windows项目时,一个新的窗体被自动添加并被命名为(    )。
    A.DefaultForm
    B.NewForm
    C.From
    D.Form1
    正确答案:——D——
2.[单选题]当你在编写C#代码时,按了“F1”,你将获得(    )。
    A.一个错误信息
    B.上下文帮助
    C.windows帮助
    D.打印帮助
    正确答案:——B——
3.[单选题]下列叙述不正确的是(    )。
    A.控制台应用程序是一个有独立窗口的程序,一般在命令行运行,其输入输出通过标准的IO进行
    B.Windows窗体应用程序是在计算机上运行的客户端应用程序,可以显示信息、请求用户输入,以及通过网络与远程计算机进行通信,比如大家常用的QQ软件、360安全卫士等
    C.应用程序的入口方法是Main方法
    D.一个C#程序总体可以分为命名空间、类、关键字、标识符、Main方法、语句和注释等
    正确答案:——A——
4.[单选题]对于下面的程序,以下叙述不正确的是(    )。(左侧数字是行号)
    A.程序实现功能键的检测
    B.第7行代码有错误
    C.第3行代码没有错误
    D.第11行代码没有错误
    正确答案:————
5.[单选题]while语句循环结构和do…while 语句循环结构的区别在于(    )。
    A.while语句的执行效率较高
    B.do…while语句编写程序较复杂
    C.无论条件是否成立, while语句都要执行一次循环体
    D.do…while循环是先执行循环体,后判断条件表达式是否成立,而while语句是先判断条件表达式,再决定是否执行循环体
    正确答案:————
6.[单选题]下列程序的输出结果是(    )。
    A.2
    B.4
    C.6
    D.8
    正确答案:————
7.[单选题]下面程序的输出结果是(    )。
    A.i=2001,o=2000,j=2000
    B.i=2001,o=2001,j=2001
    C.i=2000,o=2001,j=2000
    D.i=2001,o=2000,j=2001
    正确答案:————
8.[单选题]下面关于switch结构的叙述,不正确的是(    )。
    A.C#提供了switch结构,用于对多个变量的同一个值进行判断
    B.程序运行时,依据“intValue”变量的真实值,选择一个分支执行。如果都不匹配,则执行“默认分支”(即名字为“default”的那个)
    C.为了保证一个值执行一个分支,每个分支后都应该加一个break;语句(最后一个分支可略)
    D.有的时候,我们需要针对同一个变量的多个值进行判断,并且依据判断结果选择不同分支,这时可以使用switch结构
    正确答案:————
9.[单选题]下面关于选择结构的叙述,不正确的是(    )。
    A.按条件选择一条分支执行就是选择结构,使用if/else语句实现程序中的选择结构
    B.使用逻辑表达式表达条件,“=”是逻辑判等运算符
    C.嵌套在条件语句内部的条件语句,整个语句被当作一个语句块处理,可以看成是一个整体
    D.else子句不是必需的,一条if语句,它可以有else子句,也可以没有
    正确答案:————
10.[单选题]下面关于运算符和表达式的叙述,不正确的是(    )。
    A..NET提供一个Directory类用于访问文件夹
    B.Directory类的GetFile()方法可以列出某文件夹下所有的文件
    C.GetDirectories()方法则可以列出某文件夹下的所有子文件夹
    D.Directory类在System.IO 命名空间中
    正确答案:————
11.[单选题]下面关于运算符和表达式的叙述,不正确的是(    )。
    A.for循环语句的语法:for(循环初始表达式 ; 循环结束条件 ; 执行完循环体后才执行的表达式){    循环体语句块;}
    B.要遍历数据集合,我们可以使用foreach循环
    C.各种类型的循环语句都是等价的,可以把一种类型的循环语句用另一种类型的循环语句替换而不会影响到程序的功能
    D.break:提前结束循环,后面还没有执行的循环也不再执行;continue:提前结束当前循环(本轮循环中还没有执行的代码不再执行),后面的循环也不再执行
    正确答案:————
12.[单选题]以下程序的输出结果是(    )。
    A.2 5 8
    B.7 4 1
    C.8 5 2
    D.3 6 9
    正确答案:————
13.[单选题]以下程序的输出结果是(    )。
    A.5
    B.4
    C.6
    D.不确定
    正确答案:————
14.[单选题]在实际开发中,我们很有可能会遇到需要判断多个条件是否满足问题。我们可以把多个逻辑表达式组合起来,模拟现实生活中多个条件判断的场景,下面关于逻辑表达式的组合解析结果的叙述,不正确的是(    )。
    A.三种用于组合逻辑表达式的运算符:&&(And /与)、||(Or/或)、!(Not/非)
    B.A && B:只有A和B都为true,结果才为true
    C.A || B:只要A和B中有一个为false,结果就为false
    D.!A:结果总是与A“相反”,比如A为true,则!A为false
    正确答案:————
15.[单选题]C#中MyClass 为一自定义类,其中定义了以下方法
    A.obj.Hello();
    B.obj::Hello();
    C.MyClass.Hello();
    D.MyClass::Hello();
    正确答案:————
16.[单选题]在类的定义中,类的(    )描述了该类的对象的行为特征。
    A.类名
    B.方法
    C.所属的名字空间
    D.私有域
    正确答案:————
17.[单选题]对于以下四个语句及其关于该语句的说法不正确的是(    )。
    A.this.lblInfo.Font = new System.Drawing.Font(“宋体”, 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));//该语句用于设置标签的字体显示
    B.this.lblInfo.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(192)))));//该语句用于设置标签中文字的景色
    C.this.lblInfo.Text = “请在文本框中输入……”;//该语句实现了一个标签,并在标签上显示“请在文本框中输入……”
    D.this.Text = “文本框使用示例”;//该语句有错误,没有指定对象
    正确答案:————
18.[单选题]文本框控件主要用于供用户输入,它是TextBox类的对象,下面关于文本框控件的叙述,不正确的是(    )。
    A.TextChange事件响应用户的输入
    B.Text属性得到用户输入的字符串
    C.MultiLine属性切换单行/多行
    D.ScrollBars属性显示“水平/垂直”滚动条
    正确答案:————
19.[单选题]下列关于控件的叙述正确的是(    )
    A.控件就是属性、方法和事件的集合封装体。
    B.TextBox控件只能用于单行文本的输入。
    C.通过RichTextBox控件只能够与RTF文件进行交互操作。
    D.CheckBox控件的Checked属性与CheckState属性的值始终是相同的。
    正确答案:————
20.[单选题]下面关于分隔条面板(SplitContainer)的叙述,不正确的是(    )。
    A.SplitContainer是带分隔条的面板,可以调整各面板大小
    B.SplitContainer可以嵌套
    C.构成SplitContainer的两个Panel,各有一个Collapsed属性,可以在需要的时候,折叠特定面板
    D.IsSplitterFixed属性可以设置分割的方向
    正确答案:————


面向对象程序设计作业2
1.[单选题]窗体上面的(    )图标可以使窗体保留在屏幕上而不是自动隐藏。
    A.图钉
    B.星号
    C.叉号
    D.铅笔
    正确答案:——A——
2.[单选题]对于下面的代码,下列说法不正确的是(    )。
    A.Console是一个类,代表控制台窗口
    B.WriteLine是Console类的一个子类,用于输出字串
    C.ReadKey是Console类的另一个方法,用于接收按键
    D.程序的入口点是Program类中的Main()方法
    正确答案:——B——
3.[单选题]下列程序的输出结果是(    )。
    A.0
    B.29
    C.30
    D.无定值
    正确答案:——C——
4.[单选题]下面的程序段使用For循环计算“1+2+...+100=?”。
    A.for (i = 1; i <= 100; i++)
    B.for (int i = 1; i <= 100; i++)
    C.for (int i = 1; i < 100; i++)
    D.for (int i = 1; i <= 99; i++)
    正确答案:————
5.[单选题]对于下面的程序,以下叙述不正确的是(    )。(左侧数字是行号)
    A.程序实现功能键的检测
    B.第7行代码有错误
    C.第3行代码没有错误
    D.第11行代码没有错误
    正确答案:————
6.[单选题]C#开发的财务系统中,需要创建一个存储流动资金金额的临时变量,则应使用下列(    )语句?
    A.decimal theMoney;
    B.int theMoney;
    C.string theMoney;
    D.Dim theMoney as double;
    正确答案:————
7.[单选题]using System;
    A.Test1
    B.Thisisastring.
    C.Test1
    D.Thisisastring.
    正确答案:————
8.[单选题]下面关于变量的叙述,不正确的是(    )。
    A.程序运行所需要处理的数据,通常都需要放到“变量(variable)”中
    B.不同类型的“容器”,适合放置不同类型的数据,这种“类型”,我们称它为“变量的数据类型”
    C.变量的语法格式:数据类型名称变量名 = new 变量初始值;
    D.变量的名字可以看成是特定内存区域的“别名”,通过它计算机就能找到特定的内存单元存取数据
    正确答案:————
9.[单选题]下面关于变量数据类型的叙述,不正确的是(    )。
    A.C#中的常见数据类型有:integer、long、double、float、string
    B.使用“变量. GetType()”方法可以获取变量的类型
    C.当使用var关键字定义变量时,C#编译器会依据右边给它赋的具体值,推断出变量的类型
    D.可以使用sizeof运算符关键字,了解特定类型变量所占内存空间的大小
    正确答案:————
10.[单选题]下面关于选择结构的叙述,不正确的是(    )。
    A.按条件选择一条分支执行就是选择结构,使用if/else语句实现程序中的选择结构
    B.使用逻辑表达式表达条件,“=”是逻辑判等运算符
    C.嵌套在条件语句内部的条件语句,整个语句被当作一个语句块处理,可以看成是一个整体
    D.else子句不是必需的,一条if语句,它可以有else子句,也可以没有
    正确答案:————
11.[单选题]下面关于循环结构的叙述,不正确的是(    )。
    A.所谓“循环结构”,其实就是在特定的场景下,某些语句将被反复地执行多次
    B.do/while循环的特点:先做事,再判断循环条件是否满足,满足就继续执行循环体
    C.while/do循环的特点:先判断循环条件,满足了再做事
    D.当需要执行次数确定的循环时,使用do/while或while/do循环是最自然的选择;当需要执行次数不定的循环时,使用for循环就变成了最自然的选择
    正确答案:————
12.[单选题]下面关于运算符和表达式的叙述,不正确的是(    )。
    A.for循环语句的语法:for(循环初始表达式 ; 循环结束条件 ; 执行完循环体后才执行的表达式){    循环体语句块;}
    B.要遍历数据集合,我们可以使用foreach循环
    C.各种类型的循环语句都是等价的,可以把一种类型的循环语句用另一种类型的循环语句替换而不会影响到程序的功能
    D.break:提前结束循环,后面还没有执行的循环也不再执行;continue:提前结束当前循环(本轮循环中还没有执行的代码不再执行),后面的循环也不再执行
    正确答案:————
13.[单选题]以下程序的输出结果是(    )。
    A.5
    B.4
    C.6
    D.不确定
    正确答案:————
14.[单选题]标签(Label)用于显示各种信息,下面关于标签的叙述,不正确的是(    )。
    A.Text属性,它用于确定要显示的文本
    B.Click事件,当用户点击标签时触发
    C.设置Font/ForeColor属性可以选择字体与颜色:
    D.设置AutoSize属性为False可以让其随内容自动伸缩
    正确答案:————
15.[单选题]下列关于控件的叙述不正确的是(    )。
    A.所有控件都有一个Enabled属性,通过设置其值为True或False,可以激活或禁用特定的控件
    B.控件的显示与隐藏通过设置其visible属性True:显示,False:隐藏
    C.控件容器是一种特殊的控件,它可以容纳多个“子”控件
    D.ToolTip组件用于显示某指定控件的自定义工具
    正确答案:————
16.[单选题]下列关于控件的叙述正确的是(    )
    A.控件就是属性、方法和事件的集合封装体。
    B.TextBox控件只能用于单行文本的输入。
    C.通过RichTextBox控件只能够与RTF文件进行交互操作。
    D.CheckBox控件的Checked属性与CheckState属性的值始终是相同的。
    正确答案:————
17.[单选题]下列关于选项卡的叙述,不正确的是(    )。
    A.选项卡控件(或称为多页面控件)能够充分重用有限的屏幕空间,在运行时由用户选择显示哪一组控件
    B.TabControl的TabPages属性包容所有选项卡对象
    C.在设计时可以使用集合编辑器添加或移除选项卡
    D.使用SelectTab方法“显示”特定的选项卡内容,Index属性指明了当前显示的选项卡在TabPages集合中的位置索引
    正确答案:————
18.[单选题]下面关于分隔条面板(SplitContainer)的叙述,不正确的是(    )。
    A.SplitContainer是带分隔条的面板,可以调整各面板大小
    B.SplitContainer可以嵌套
    C.构成SplitContainer的两个Panel,各有一个Collapsed属性,可以在需要的时候,折叠特定面板
    D.IsSplitterFixed属性可以设置分割的方向
    正确答案:————
19.[单选题]下列叙述不正确的是(    )
    A.使控件是否可以对用户交互作出响应的属性是 Enabled。
    B.控制控件是否显示的属性是Enabled。
    C.若要在文本框中输入密码,常指定 PasswordChar 属性。
    D.若某复选框某时刻CheckState属性的值为Indeterminate,则其属性Checked的值为Unchecked。
    正确答案:————
20.[单选题]下列叙述不正确的是(    )
    A.使用Panel或GroupBox 控件可以将多个RadioButton控件分为两个单选组。
    B.若不希望用户在ComboBox控件中编辑文本,则应将属性 DropDownStyle 的属性值设置为false。
    C.用于设置MenuStrip控件中某菜单项快捷键的属性是ShortcutKeys。
    D.用于控制ListView控件中的各项显示方式的属性是View。
    正确答案:————


面向对象程序设计作业3
1.[单选题]分析下列C#语句,注意类MyClass 没有访问修饰符:
    A.private
    B.protected
    C.internal
    D.public
    正确答案:——C——
2.[单选题]把多个语句组合在一起,共同完成一个功能,向外界返回一个结果,再给它起个名字,这样的一个“代码集合”,在面向对象编程领域,称之为“方法(method)”。下面关于方法的叙述,不正确的是(    )。
    A.在结构化编程领域,面向对象中的“方法(mothod)”被称为“函数(function)”,这两个术语经常混用
    B.在C#中,方法既可以放到“类(class)”中使用,也可以独立存在并使用
    C.定义方法时指明的参数,称为“形参(即形式参数)”;调用方法时传入的数据称为方法的“实参(实际参数)”
    D.定义方法时没有加上static关键字,它表明这个方法是一个“实例方法(instance method)”
    正确答案:——B——
3.[单选题]当我们通过new关键字创建一个对象时,一个特殊的函数被调用,此函数被称为——构造函数(构造方法),下列关于构造方法的叙述不正确的是(    )。
    A.所谓“构造方法”,就是在创建对象时被自动调用的方法
    B.构造方法与类名相同,并且有返回值
    C.一个类可以有多个构造方法,这些构造方法构成“重载(overload)”关系。在程序实际运行时,依据参数决定调用哪个构造方法
    D.构造方法主要用于在创建对象时给它的相关字段一个有意义的初始值
    正确答案:——B——
4.[单选题]继承是对现实生活中的“分类”概念的一种模拟,下列关于继承的叙述不正确的是(    )。
    A.子类“自动”拥有了父类声明为private和protected的成员,这就是继承的最重要特性之一
    B.子类中的代码可以直接访问父类保护级别的成员,但外界不能通过对象变量来直接访问声明为保护级别的类成员
    C.当子类、父类的方法名相同时,有两种情况:Overload(重载)、Override(重写/覆盖)
    D.当分别位于父类和子类的两个方法/字段完全一样时,调用哪个由对象变量定义时的类型决定,除非你使用了“类型强制转换”
    正确答案:————
5.[单选题]下列关于对象和类的叙述错误的是(    )。
    A.屏幕上看到的每个窗体,实际上都是特定窗体类创建出来的对象
    B.C#中要创建对象,使用new关键字
    C.“抽象”的具体实施方法:提取出事物的本质特性,忽略所有不相关的不重要的信息,以“类”的形式表达出来
    D.主窗体是frmOther类创建的对象,从窗体是frmMain类创建的对象
    正确答案:————
6.[单选题]下列关于数组的叙述不正确的是(    )。
    A.我们把一组有顺序的数据所构成的整体,称为“数组”
    B.数组中数据的位置编号,从0开始依次递增,称为“索引(index)”
    C.数组中的单个数据,称为“元素”,它们具有不同的数据类型
    D.数组是一个对象,数组变量引用这个数组对象
    正确答案:————
7.[单选题]下列操作不正确的是(    )。
    A.删除菜单项:在窗体设计器下部的控件面板中选中菜单控件,选择要删除的菜单项,压Del键
    B.调整菜单显示顺序:直接拖动菜单项
    C.创建分割条:直接输入“—”
    D.给菜单项单击事件编码:在菜单设计器中单击相应的菜单项
    正确答案:————
8.[单选题]下列关于TDD过程划分阶段的叙述不正确的是(    )。
    A.Red:创建一个“注定要失败”的单元测试
    B.Green:写“必要”的功能代码让测试通过
    C.Refactor:重构测试代码和功能代码,完成所需的功能
    D.完成测试
    正确答案:————
9.[单选题]下列关于单元测试的叙述不正确的是(    )。
    A.单元测试是对类中方法“正确性”的测试
    B.单元测试三部曲:Arrange、Act、Assert
    C.Visual Studio使用和标识单元测试代码
    D.即使一个人写的程序,进行单元测试也是有益的,编写这些测试代码的时间,将会在Debug、功能扩充、算法替换等后期阶段成倍地节省回来
    正确答案:————
10.[单选题]下列叙述不正确的是(    )。
    A.“对象组合”是对象合作关系中的一种
    B.使用集合类型的内部字段,很容易实现一对一的对象组合方式
    C.当两个对象之间是组合与被组合关系时,这两个对象之间就存在着一种“关联”
    D.面向对象编程语言中,自引用类通常用于建立数据之间的关联
    正确答案:————
11.[单选题]下列叙述不正确的是(    )。
    A.委托并不是一种“数据类型”,所以我们不可以使用它来定义变量
    B.一个委托类型的变量,可以引用任何一个满足其要求的方法(包括静态或实例方法)
    C.委托变量有点像是一个方法的“容器”,将某一具体的方法“装入”后,这个委托变量就可以当成方法一样调用
    D.一个委托变量可以使用“+=”不断“挂接”多个方法,也能使用“—=”动态地移除某个方法引用,还可以把多个委托变量所引用的方法合并起来
    正确答案:————
12.[单选题]下列叙述不正确的是(    )。
    A.“事件”三要素:事件源、事件信息、事件响应者
    B.当某个事件触发时,程序员事先写好的响应此事件的代码被调用
    C.事件的主要特点为一对一关联,即一个事件源,有且只能有一个响应者
    D.event关键字定义的事件只能由事件源对象自己激发,外界无法通过访问委托变量直接激发事件
    正确答案:————
13.[单选题]下列Lambda表达式不正确的是(    )。
    A.Func<int, bool> del = x => x > 0;
    B.Func<int, bool> del = (x) => { return x > 0; };
    C.Func<int, int, bool> del = (x, y) => x == y;
    D.Func<int, int, bool> del = (x;y) => x == y;
    正确答案:————
14.[单选题]下列关于Lambda表达式参数的描述不正确的是(    )。
    A.对于Lambda表达式的参数,在声明时可以不指定数据类型,而由编译器来动态地进行类型推断
    B.有时,出于代码易读性的考虑,也可以显式指定类型
    C.如果没有参数,则使用空括号
    D.两个或更多输入参数由括在括号中的分号分隔
    正确答案:————
15.[单选题]如果想使用SqlCommand对象对SQL Server数据库进行操作,应该引入(    )命名空间。
    A.System.Data.OldeDb
    B.System.Data.SqlClient
    C.System.Data.Odbc
    D.System.Data.OracleClient
    正确答案:————
16.[单选题]若将数据库中的数据填充到数据集,应调用SqlDataAdapter的(    )方法。
    A.Open
    B.Close
    C.Fill
    D.Update
    正确答案:————
17.[单选题]下列不是SQL Server常用数据类型的是(    )。
    A.char
    B.bit
    C.float
    D.image
    正确答案:————
18.[单选题]下列不属于SQL命令的是(    )。
    A.Putin:输入数据
    B.Update:更新数据
    C.Insert:插入数据
    D.Select:选择数据
    正确答案:————
19.[单选题]下列叙述不正确的是(    )。
    A.约束(constraints),可以用于表明表的字段必须遵守的规则,比如某字段要求值必须唯一,不允许为空等
    B.关系数据模型要求每行都应该是唯一的,因此,我们应该为表定义一个主键
    C.在实际的数据库设计中,不能使用“自增字段”来作为表的主键
    D.只有指定的用户可以访问本数据库,并且可以指定用户访问本数据库的权限
    正确答案:————
20.[单选题]下列叙述不正确的是(    )。
    A.数据库就是用于集中存放大量信息的一种软件,这种软件提供了强大的功能来管理数据
    B.实现数据库功能的软件称为“DBMS(Database Management System:数据库管理系统)”
    C.表之间的关联是现实生活中事物之间关联关系的模拟
    D.SQL Server是非关系型数据库中的一种
    正确答案:————


面向对象程序设计作业4
1.[单选题]using System;
    A.Console.WriteLine(“j={0}”,t.j);
    B.Console.WriteLine(“k={0}”,t.k);
    C.t.method1();
    D.t.method2();
    正确答案:——C——
2.[单选题]下列关于对象和类的叙述错误的是(    )。
    A.用new关键字创建“类的实例(即对象)”
    B.用“类”类型的变量(称为“对象变量”)来保存创建出来的对象
    C.通过对象变量来访问对象的公有成员(包括方法与字段)
    D.frmOther frm = new frmOther();
    正确答案:——B——
3.[单选题]下列关于类的叙述错误的是(    )。
    A.类中的方法,可以直接访问类中的字段
    B.类中的方法定义的局部变量,将屏蔽掉类中的同名字段
    C.在设计一个类时,仅有需要被外界访问的成员才设置为protected的
    D.private(私有):除了类内部的方法,外界无法直接访问它们
    正确答案:——C——
4.[单选题]下列关于命名空间的叙述不正确的是(    )。
    A.命名空间(namespace):可以看成是类的仓库,.NET中所有的功能都由类提供,这些类被分门别类地存放在特定的命名空间中
    B.C#中使用namespaces关键字来定义命名空间
    C.使用using语句来引用命名空间的类
    D.命名空间在“对象浏览器”中使用“{}”展示程序集中的命名空间及其包容的类型
    正确答案:————
5.[单选题]下列关于数组的叙述不正确的是(    )。
    A.我们把一组有顺序的数据所构成的整体,称为“数组”
    B.数组中数据的位置编号,从0开始依次递增,称为“索引(index)”
    C.数组中的单个数据,称为“元素”,它们具有不同的数据类型
    D.数组是一个对象,数组变量引用这个数组对象
    正确答案:————
6.[单选题]下列关于数组的叙述不正确的是(    )。
    A.通过“数组名[索引值]”访问单个的数组元素
    B.数组一旦创建之后,尺寸保持不变,元素在内存中分散分布
    C.数组不允许“越界访问”,否则,会抛出一个IndexOutOfRangeException
    D.int[] arr = new int { 234, 565, 23, 90, 1, 34, 89, 13 };
    正确答案:————
7.[单选题]在一个类前面加上“abstract”关键字,此类就成为了抽象类,一个方法前面加上“abstract”关键字,此方法就成为了抽象方法,下面关于抽象类和抽象方法的叙述不正确的是(    )。
    A.抽象方法不包容任何实现代码
    B.可以使用new关键字直接创建抽象类的对象
    C.包含抽象方法的类一定是抽象类,但抽象类中的方法不一定是抽象方法,抽象类中可以包容“普通的”方法
    D.不能创建抽象基类的对象,只能用它来引用子类的对象
    正确答案:————
8.[单选题]下列关于组件的叙述不正确的是(    )。
    A.组件的粒度用于衡量组件所提供的功能集大小、所封装的代码量多少等与“规模”相关的特性
    B.组件的粒度大小与灵活性通常成正比,与易用性成反比
    C.创建可以当“积木”用的软件组件是组件化开发的核心工作之一
    D.组件的功能通过其“接口(Interface)”来表达
    正确答案:————
9.[单选题]下列叙述不正确的是(    )。
    A.将对象状态保存到另外一种媒介中,并在需要时可以从媒介中重新读取数据重建对象的过程称为对象的“序列化(Serialization)”与“反序列化(Deserialization)”
    B.在开发中,用于保存对象状态的常用媒介有:流(Stream)和字符串(String)
    C.对象序列化主要解决的是对象状态的初始化问题
    D.对象状态是与时间关联在一起的,在不同的时刻,由于字段值的变化,对象可能会处于不同的状态
    正确答案:————
10.[单选题]下列叙述不正确的是(    )。
    A.对象协作的核心就是对象间信息的交换,体现为对象之间的相互访问
    B.对象协作主要通过以下两种方式实现:相互存取字段/属性、相互调用方法
    C.C#支持一种称为“委托(Delegate)”的特性,一个委托变量包容一个方法引用列表,能“包容”多个方法,调用一次委托变量,执行一个方法
    D.信息可以从一个对象发出,多个对象接收
    正确答案:————
11.[单选题]使用一个Lambda表达式从字符串数组s中查找包括“C#”的元素,则正确的语句是(    )。
    A.Array.Find(strLists, s => (s.IndexOf(“C#”) >= 0))
    B.Array.FindAll(strLists, s => (s.IndexOf(“C#”) >= 0))
    C.Array.Find (strLists, s => (s.LastIndexOf(“C#”) <= 0))
    D.Array.FindAll(strLists, s => (s.LastIndexOf(“C#”)<= 0))
    正确答案:————
12.[单选题]下列关于Lambda表达式参数的描述不正确的是(    )。
    A.对于Lambda表达式的参数,在声明时可以不指定数据类型,而由编译器来动态地进行类型推断
    B.有时,出于代码易读性的考虑,也可以显式指定类型
    C.如果没有参数,则使用空括号
    D.两个或更多输入参数由括在括号中的分号分隔
    正确答案:————
13.[单选题]下列关于扩展方法的叙述不正确的是(    )。
    A.扩展方法中第一个参数前有一个this,专用于指明此扩展方法所“适用”的类型
    B.扩展方法的第一个参数不是普通的参数,而是“扩展方法”的标识
    C.扩展方法是一种特殊的静态方法,其调用方式与调用实例方法一样
    D.“扩展方法”使你能向现有的类添加新的方法,却不需要创建新的派生类或直接修改这个类的源代码
    正确答案:————
14.[单选题]下列叙述不正确的是(    )。
    A.给方法添加一个static关键字,此方法称为静态方法
    B.静态方法是归属于“类”的,因此,在使用静态方法时需创建对象
    C.通过“类名.静态方法名(参数列表)”可以调用静态方法
    D.扩展方法通常定义在“静态”类中
    正确答案:————
15.[单选题]创建数据库连接使用的对象是(    )。
    A.Connection
    B.Command
    C.DataReader
    D.DataSet
    正确答案:————
16.[单选题]如果想使用SqlCommand对象对SQL Server数据库进行操作,应该引入(    )命名空间。
    A.System.Data.OldeDb
    B.System.Data.SqlClient
    C.System.Data.Odbc
    D.System.Data.OracleClient
    正确答案:————
17.[单选题]若将数据库中的数据填充到数据集,应调用SqlDataAdapter的(    )方法。
    A.Open
    B.Close
    C.Fill
    D.Update
    正确答案:————
18.[单选题]下列不是SQL Server常用数据类型的是(    )。
    A.char
    B.bit
    C.float
    D.image
    正确答案:————
19.[单选题]下列关于存储过程的描述不正确的是(    )。
    A.存储过程类似于传统编程语言中的“函数”
    B.存储过程是一组SQL命令的集合
    C.使用exec命令结束存储过程
    D.存储过程可以接受参数
    正确答案:————
20.[单选题]下列叙述不正确的是(    )。
    A.约束(constraints),可以用于表明表的字段必须遵守的规则,比如某字段要求值必须唯一,不允许为空等
    B.关系数据模型要求每行都应该是唯一的,因此,我们应该为表定义一个主键
    C.在实际的数据库设计中,不能使用“自增字段”来作为表的主键
    D.只有指定的用户可以访问本数据库,并且可以指定用户访问本数据库的权限
    正确答案:————


在线试题
1.[问答题] “我的资源管理器”
文件资源管理器是Windows中最常用的工具软件:
http://learning.cmr.com.cn/Subject/admin/pic/0541/270813A1.gif
本次作业,尝试着编写一个简单的“文件资源管理器”。
作业说明:
Windows操作系统功能比较庞杂,本次作业仅要求实现其基本功能——文件夹和文件的浏览。其它功能作为扩充功能。一个参考示例如下图所示:
http://learning.cmr.com.cn/Subject/admin/pic/0541/270813A2.gif
必须实现以下功能:
(1)程序运行时,在左边以树的形式展示出本台电脑的所有驱动器
(2)用户点击树节点时,在右边显示出对应的文件清单
其他功能作为扩充功能,比如统计文件夹的容器,提供新建、删除等常规文件操作。
技术指导
(1)左边的树,可以直接使用TreeView控件,右边的文件列表可以使用简单的ListBox,也可以使用ListView,ListView的使用比较复杂,请自行使用互联网搜索引擎收集相关资料自学,掌握其用法。
使用Splite Container + Panel构建支持动态调整宽度的总体界面。
(2)获取本机所有驱动器,以及文件复制、删除等功能的实现,使用互联网搜索引擎很容易找到相关的示例代码。
(3)注意Windows文件系统存取需要权限,在获取文件列表时可能会抛出异常,因此,需要应用异常捕获机制予以处理。
(4)有些文件夹比较大,包容文件比较多,因此,在获取文件列表时所花时间可能较长,这种场景应该使用多线程,但多线程技术比较复杂,本课程未作介绍,因此,本次作业不要求使用多线程,学有余力的同学可以自学这块内容,并用于本次作业中。
正确答案:——评分标准:
本次作业满分100分。
评分细则如下:
(1)界面能正确设计出来,左右窗格支持大小调整,并且在窗体大小调整时,仍然能正确地显示——25分
(2)用户鼠标点击文件夹节点,右侧可以正确显示出文件列表——25分
(3)程序比较健壮,异常捕获机制应用适当,随意点击,不会出现“非法退出”的现象——10分
(4)实现了扩充的功能,比如可以统计文件夹容器,显示文件详细信息,支持诸如文件复制等常规文件操作等,依据功能实现多少及完善程度,酌情加分,最多加40分。
—— 2.[问答题] “小小计算器”
计算器是一个常见的工具软件,其用法简单直观,下图是Windows 10所附之“计算器”:
http://learning.cmr.com.cn/Subject/admin/pic/0541/270814A1.gif

请编写一个简单的计算器,其功能可以模拟Windows计算器的标准功能。
作业说明:
必须实现计算器的基本功能——计算,可以不用考虑运算符的优先级,直接采用顺序输入立即计算的方式,比如用户输入:1 + 2 × 3 =
计算器实际上是按照(1+2)*3的方式计算的,其结果是9,而不是考虑了“先乘除后加减”后的结果7。

可以选择实现其他的辅助功能,比如M+,M—,X2等。
正确答案:——评分标准:
本次作业满分100分。
评分细则如下:
(1)界面能正确设计出来,并且在窗体大小调整时,仍然能正确地显示——25分
(2)用户鼠标点击相应按钮输入四则运算式,计算器能实现上述的基本计算功能,且计算正确——50分
(3)实现了扩充的功能,比如X2、1/x、%、M+等,每多实现一个,加5分,最多加25分。
—— 3.[问答题] “个人资料管理工具”
一、概述
知识必须积累,但同时需要整理,只有有条理的成体系的知识,才能带来真正的价值。在这个知识爆炸的时代,我们需要一种有效的手段管理各种知识。
知识天生是一种“网状”结构,很类似于互联网上相互链接的网页,各知识点之间有着复杂的相互关联。然而,从高效掌握并应用知识的角度来看,将知识组织成为类似于计算机文件系统的多叉树比网状结构更有效,这是由人的认知特性决定的。
因此本课程的结课设计,就是开发一个“个人资料管理”工具软件,采用树型结构管理各种知识。
一个参考软件如下所示:
http://learning.cmr.com.cn/Subject/admin/pic/0541/234528A1.gif
左边是一棵树,点击之后,在右边显示一个文本编辑器,用于显示和编辑信息。
二、功能说明及技术指导
1.树节点操作
左边的树支持所有常见的节点操作(可以使用上部的工具栏按钮,或者是右击树节点从弹出菜单中选择各种命令):
◆节点新建/删除/改名:必须实现的功能。
◆节点升级(可选):将节点提升一级,成为其父节点的兄弟。
◆节点降级(可选):将节点层次降低一级,成为其兄弟的儿子(瞧这辈份乱得!)
◆节点上移/下移(可选):在同一级节点中位置移动……
◆剪切/复制(可选):子树搬家,就是将某个节点(包括其所有的子节点)移到另一个地方成为那个节点的新儿子。

可以在标准的TreeView控件基础之上实现。

2.信息的编辑
每个树节点都关联着一个简单的文本编辑器,可以直接使用TextBox,以纯文本方式保存信息,也可以封装RichTextBox支持具有比较丰富样式的文本(就象Word文档那样)
◆ 节点相关联信息的显示与基础编辑功能:必须实现的功能
◆ 打印(可选):将信息送到打印机输出
◆ 查找与替换(可选):可以在文本中搜索特定的词并高亮显示
◆ 辅助功能(可选):任何一个你觉得需要实现的功能,比如给文本加上行号

3.信息的搜索(可选)

http://learning.cmr.com.cn/Subject/admin/pic/0541/234528A2.gif

查找主要有两种方式:
(1)在树中找,可以在文本框中直接输入,下方网格中会即时动态地筛选,找到之后,就可以在树中直接定位并显示。
(2)另一个是到数据库中找,不搜索树节点记录,而是搜索树节点所关联的数据。

4.资料的存储方式
使用SQL Server保存数据,采用Entity Framework构建数据存取层。
◆用一张表保存所有数据:这是最基础的功能,必须实现;
◆多表支持(可选):程序可以随时地创建多个表,每张表对应一个知识树,在界面上以多选项卡的方式同时显示它们,也可以随时地移除它们。

三、评分标准
本课程设计共100分。
1.实现所有基础功能,最高可得50分。
(1)树节点的新建/删除/改名:15分
只要能使用上述功能“从零开始”构建一棵树,即可得满分。
(2)节点相关联信息的显示与基础编辑功能:15分
能够输入和修改信息,即可得满分。
(3)信息的存储与显示:20分
点击树节点,右边的文本框能显示相应的内容,并且在树节点改名的前提下,相关联的节点数据仍然能保存。
举个例子:某信息原先关联的树节点文本是“AAA”,现在用户把这个节点改名为“BBB”,尽管如此,只要是同一个节点,不管它本身文本显示什么,点击这个节点,总能显示它所关联的信息。

2.实现了扩充功能,最高可加40分。
比如,程序实现了信息搜索功能,既可以搜索树中的节点,也可以搜索数据库中的内容,则可以加10分。
具体加分,判分者依据实现的扩充功能数量与技术实现难度确定。

3.总体印象分,最高可加10分
比如界面美观,文档齐全,程序健壮,运行性能优越等等,依据判分者的总体印象给发。

四、课程设计上传说明及评分标准
以附件的方式上传结课设计作业,需包容以下内容:
(1)可以使用Visual Studio 2013/2015顺利编译的项目源码;
(2)可以直接运行的.exe文件;
(3)开发文档:参看所附的项目模板。

五、附件——开发文档模板
中国人民大学继续教育学院

《面向对象程序设计》结课设计


班级_________________学号___________________姓名______________


1.程序的运行环境、安装步骤

(1)运行环境:例如.NET 4.5,Windows 7,SQL Server 2014 Express
(2)程序的组成部份:指可以运行的程序包容哪几个文件,比如有几个dll文件,是否需要其他的支持文件(比如是否需要事先安装第3方的某些软件)等
(3)安装步骤:如何在一台“干净”的计算机上运行你的程序?
一个典型示例:
1)安装.NET Framework 4.5。
2)安装SQL Server Express 2014。
3)将程序文件复制到计算机上
4)使用SQL Server Management附加XXX数据库
5)在资源管理器中双击XXX,运行程序

2.程序开发平台
(1)代码行数:约XXXX行
(2)开发环境:Visual studio 2015社区版

3.程序已经实现功能清单:
列表你己经实现的功能清单,推荐给出屏幕截图,底下再给出简要文字说明。

4.程序算法说明及面向对象实现技术方案

(1)数据存储与算法说明:
◆“树”是如何保存的?你如何把某个树节点与特定的信息关联起来》
◆你是如何保存数据的?数据库中创建了几个表?表中有哪些字段?表之间建立了关联吗?
◆……

(2)软件架构及面向对象技术方案
◆程序中设计了哪几个类,类之间有何关系:继承、组合、实现某接口……
◆你将这些类划分成了多少个命名空间?创建了多少个项目,各个项目之间的依赖关系如何?
◆……

5.技术亮点、关键点及其解决方案

展示出你开发的程序中最精彩得意的亮点,在开发中你遇到了哪些技术困难,又是如何解决的……

6.开发过程回顾及小结

XX月XX号查找资料确定要使用的算法与数据结构
XX月XX号完成系统设计
XX月XX号进行XXX功能开发
XX月XX号 XXX功能开发完成,进入测试阶段
……
XX月XX号程序开发工作完毕,编写及整理文档

经过一个学期的理论与技术学习,完成了这个课程设计,我感触很深……

    正确答案:——(略)<br>——


风1594090563 发表于 2020-7-7 13:48:18

看看你答案
页: [1]
查看完整版本: 网上人大《面向对象程序设计》作业1234