考试试卷A(答案)
面向对象程序设计
注意事项:
1。 请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。 不要在试卷上乱写乱画,不要在装订线内填写无关的内容.
4。 满分100分,考试时间为120分钟。
题 号 | 一 | 二 | 三 | 四 | 五 | 总 分 | 统分人 |
standup 得 分 | | | | | | 马来西亚失联飞机 | |
| | 渥太华大学排名 | | | | | |
一。单项选择
(本大题共10小题,每小题3分,共30分)
1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)1
2。 面向对象的特点是( A )
(A)封装、继承、多态 (B)抽象、封装、多态
(C)抽象、继承、封装 (D)抽象、多态、重载
3。 C#控制台程序的主入口点是( C )
(A) Page_Load函数 (B)Run函数 (C)Main函数 (D)Form_Load函数
4。 引用类型存储在( B )中。
(A) 堆栈 (B)堆内存 (C)队列 (D)列表
5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )
(A)CString str (B)string str
(C)Dim str as string (D)char *str
6。在ADO中,用来与数据源建立连接的对象是( A )。
(A)Connection对象 (B)Command对象(C)DataAdapter对象 (D)DataSet对象
7. 在类的定义中,类的( B )描述了该类的对象的行为特征.
(A)类名 (B)方法 (C)所属的名字空间 (D)私有域
8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)3
9. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int
10。 在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample
(B)class Employee: IExample, Class1英汉字典
impuls(C)class Employee- Class1, IExample
(D)class Employee: Class1/IExample
二.判断题
(本大题共5小题,每小题3分,共15分)
1. C#中子类可以继承多个基类,也可以继承一个接口。 ( × )
2. 标识符可以与关键字相同。 ( × )
3. 静态成员不能由对象进行访问。 ( √ )
4. 对象有三个特征,标识、状态和行为。 ( √ )
5。 索引器可以用static修饰. ( × )
三. 简答题
(本大题共4小题,每小题5分,共20分)
1. 请叙述public、private、protected、internal修饰符的作用域?
答:1)限定为public的成员,可以被所有的类访问;
2)限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问;
3)限定为private的成员,只能被这个类本身访问,如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例;
4)internal: 只能值包含该类的程序集中访问该类;
2。 解释重写和隐藏的区别和联系?
答:重写又称为覆盖,对于基类的virtual成员,在派生类中重新加以定义并用关键字override修饰的称为重写或者覆盖.隐藏是对于基类的成员,在派生类中重新加以定义,并用NEW关键词修饰的称为隐藏;
重写和隐藏有相似的方面,但又有实质的区别:隐藏和重写是基类和派生类的同名成员的两种不同关系,隐藏可以发生在数据成员和行为成员上,而重写只是对行为成员而言;
3.请说明索引和属性的异同?
often是什么意思
答:1)属性和索引器的作用都是为了进一步封装数据、组织数据并提供方便的访问方式;
2)定义属性和定义索引相似,他们都具有get访问器和t访问器,并且可以取舍以控制访问权限;
3)所有的字段都可以有属性,字段是默认的和最简单的属性,但索引器不同;
4)属性可以是实例成员,也可以是属于整个类的静态成员,但索引只能是实例成员,属于某一个具体的对象。
4。程序的基本结构有哪几种?
答:程序的基本结构有以下几种:
1) 顺序结构
2)选择结构
3)循环结构
四. 程序阅读
(本大题共2小题,每空3分,共15分)
1。阅读下面的程序,填写程序中缺少的部分,并把程序的输出结果写出来;
class Test {
static void ShowArrayInfo( int[] student ){
for(int i=0;i<student。Length;i++){
现行犯 Console.Write(student[i]++);
Console.Write(“ ");
}
}
static void Main(){
int[] student =new int[]{1,2,3,4,5};
ShowArrayInfo(student);
Console。Write(“\n");
ShowArrayInfo(student);
}
}
输出结果: 1 2 3 4 5
1 2 3 4 5
2。 以下方法是连接数据库的一个方法,请将该方法补充完整
public DataTable GETtABLE()
{
string strConn = "data source=.;initial catalog=databa;ur id=sa;password=sa;";
SqlConnection con = new SqlConnection(strConn);
con。Open();
DataSet ds = new DataSet();
SqlCommand com = new SqlCommand(”lect * from mytable", con);
SqlDataAdapter adp = new SqlDataAdapter(com);
adp。Fill(ds);
return ds。Tables[0];
}
五。编程:创建一个学生类,类里面的字段包括姓名、学号、性别等,构建5个学生对象,可以对学生信息进行查询。。
(本大题共1小题,每小题20分,共20分)
using System;
using System。Collections.Generic;
using System。Linq;
using System.Text;
using System。Collections;
namespace ConsoleApplication3
{
public class Student
{
carnival public string id;
public string name;
public string x;
public void print()
{
Console。WriteLine("学号:{0},姓名:{1},性别:{2}", id, name, x);
}
}
class Program清明节的英文
{
static void Main(string[] args)
{
ArrayList list = new ArrayList();
Program pro = new Program();
Console。WriteLine(”请输入学生信息(学号 姓名 性别),用空格隔开,然后回车,停止录入输入exit");
pro.AddStudent(list);
Console.WriteLine(”请输入学生学号,然后回车");
pro.FindStudent(list);
}
public void AddStudent(ArrayList list)
{
while (true)
{
string str = Console.ReadLine();
if (str == "exit”) return;
string[] values = str。Split(’ ’);
Student student = null; ;
try
{
student = new Student();
student.id = values[0];
student.name = values[1];