《C程序设计期末试卷.doc》由会员分享,可在线阅读,更多相关《C程序设计期末试卷.doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#程序设计期末试卷(B)班级 姓名 学号 成绩 一 选择50分1下面几个函数,是重载函数 1.void f1(int) 2.int f1(int) 3.int f1(int,int) 4.float k(int)A四个全 B1 与 4 C2 与 3 (D)3与42异常是在什么时候发生的? A编写程序时 B编译时 C运行时 (D)最终用户发出请求时3如果一个类命名为mywidger,那么mywidger的默认构造函数看起来像哪一个? (A) new mywidger(); Cpublic class mywidger(B) public mywidger() ; ( D) mywidger;4
2、以下说法哪个正确?(A) 不需要定义类,就能创立对象 C属性可以定义为抽象的(B) 对象中必须有属性与方法 D常量不能作为类成员5关于类成员访问控制权限正确的选项是Apublic 能被所有类访问 Cprivate 能被同一文件中的其它类访问Bprotected能被所有类访问 Dinternal能被所有类访问6构造函数何时被调用?(A) 创立对象时 B类定义时 C使用对象的方法时 (D) 使用对象的属性时7int myArray3=new int3new int35,6,2,new int56,9,7,8,3,new int23,2; myArray322的值是。A9 B2 C6 D越界8抽象方
3、法A可以有方法体 C可以出现在非抽象类中B是没有方法体的方法 D抽象类中的方法都是抽象方法9关于继承的说法正确的选项是:(A) 子类将继承父类所有的成员(B) 子类将继承父类的非私有成员(C) 子类只继承父类public成员(D) 子类只继承父类的方法,而不继承属性10以下说法哪个正确?(A) 允许一个子类有多个父类(B) 某个类是一个类的子类,它仍有可能成为另一个类的父类(C) 一个父类只能有一个子类(D) 继承关系最多不能超过4层11关于构造函数的说法哪个正确?(A) 一个类只能有一个构造函数(B) 一个类可以有多个不同名的构造函数(C) 构造函数与类同名(D) 构造函数不能被重载12下面
4、错误很可能位于哪一行? My_prog.cs(35,6):error cs1010: Newline in constant A35 B6 C1010 D没有指出13关于接口哪个正确?(A) 实现一个接口必须实现接口的所有方法(B) 一个类可以实现多个接口(C) 接口间不能有继承关系(D) 接口与抽象类是同一回事14以下选项中,是引用类型。Aenum类型 Bstruct类型 Cstring类型 Dint类型15abstract class BaseClass public virtual void MethodA() Console.WriteLine(BaseClass); class Cl
5、ass1: BaseClass public override void MethodA() Console.WriteLine(Class1); class Class2: Class1 public void MethodB() class MainClass public static void Main(string args) BaseClass o = new Class2(); o.MethodA(); 请问,此程序输出结果是: (A) BaseClass (B) BassClass Class1 (C) Class1 (D) Class1 BassClass16以下的C#代码,
6、试图用来定义一个接口:public interface IFile int A; int delFile() A = 3; void disFile();关于以上的代码,以下描述错误的选项是( )(A)以上的代码中存在的错误包括:不能在接口中定义变量,所以int A代码行将出现错误;(B)以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数;(C)代码void disFile();声明无错误,接口可以没有返回值;(D)代码void disFile();应该编写为void disFile();17以下哪一个命名空间是在进展Sql Server数据库访问时必
7、须加载的(C) System.Data.OleDb (D) System.Data.SqlTypes18以下哪一种参数是设置非Windows集成平安下的数据库连接(A) Trusted_Connection=Yes (B) user id=sa;password=111(C) Integrated Security=True (D) Integrated Security=SSPI19数据库连接中的参数设置Connection Timeout=10表示(A) 设置数据库连接超时为10秒钟 (B) 设置数据库连接超时为10毫秒(C) 设置数据库连接的用户最多为10个(D) 设置数据库连接的次数不
8、能超过10次20SQL语句“delete from department,需要SqlCommand对象的哪一个方法在执行?(A) ExecuteNonQuery() (B) ExecuteScalar()(C) ExecuteReader() (D) ExecuteXmlReader()21SQL语句“select count(*) from employee,需要SqlCommand对象的哪一个方法在执行?(A) ExecuteNonQuery() (B) ExecuteScalar()(C) ExecuteReader() (D) ExecuteXmlReader()22SQL语句“Cre
9、ate Table department(id integer,name char(10),需要SqlCommand对象的哪一个方法在执行?(A) ExecuteNonQuery() (B) ExecuteScalar()(C) ExecuteReader() (D) ExecuteXmlReader()23让控件不可用的属性是以下哪一个(A) AllowDrop (B) Enabled(C) Bounds (D) Visible24让控件不可见的属性是以下哪一个(A) Cursor (B) Enabled(C) Dock (D) Visible25设置控件布局位置的属性是以下哪一个(A) D
10、isplayRectangle (B) FlatStyle(C) Dock (D) Location二.简答题(40分)1给数据成员加上关键字static有何作用?2.接口与类之间的主要差异在哪里3比拟C与C+的区别4. 请说出连接环境下与非连接环境下访问数据库的区别及优缺点,并各列举一个适合的情况.5完成以下图用户界面DataReader ( )DataSet数据库五.编程题20分Toys 玩具表字段数据类型描述ToyIdint玩具编号ToyNamechar(20)玩具名称ToyRatemoney玩具价格(1) 利用SqlConnection,SqlCommand,SqlDataReader
11、等打印整张表的数据(2) 利用SqlConnection,SqlAdapter,DataSet,DataTable,DataView等打印价格在10元以下的玩具信息.(要求通过DataView过滤的方式查出信息)C#程序设计试卷一、 选择题每题3分,共15分1下面是几条定义类的语句,只能被继承的类是 Aclass studentBpublic class student Cabstract class studentDsealed class student 2如果要在窗体中始终显示系统的当前时间,应该使用的控件是 ACheckBox BPanel CRadioButton DTimer 3下
12、面对C#中类的构造函数描述正确的选项是( )A与方法不同的是,构造函数只有void这一种返回类型 B构造函数如同方法一样,需要人为调用才能执行其功能C构造函数一般被声明成private型 D在类中可以重载构造函数,C#会根据参数匹配原那么来选择执行适宜的构造函数4下面有关类的继承的说法正确的选项是 A派生类的成员应该与基类的成员一致,不能为派生类增加新成员B在派生类中可通过隐藏继承成员,来删除基类的成员 C在描述类的继承关系时,父类与子类是基类与派生类的另一种说法D所有的类成员都可以被继承 5下面有关事件的描述中,正确的选项是 A方法一旦被事件预订后,就不能被撤消B事件的预订一次只能预订一个方
13、法 C创立事件的关键字是delagate D当事件预订了多个方法时,一次只能有一个方法被调用二、判断题 每题2分,共20分1按下按钮会引发事件。 2事件的预订可以通过“=来实现。 3析构函数可以返回值。 4SQL的INSERT语句不可以对数据库进展更新。 5对象的this引用是对该对象本身的引用。 6属性必须同时定义ge t访问器与se t访问器。 7密封类不能被继承。 8构造函数不允许重载。 9类的static成员可以通过该类的对象来引用。 10派生类可以从多个类继承。 三、简答题 每题5分,共10分1定义一个类,并完成对该类构造函数与析构函数的创立。2写出在“图书.mdb数据库中的“boo
14、k表中查询书名中包含有“网络的书的书名、作者与价格的SQL命令。 四、写出以下程序的运行结果每题10分,共20分 1using System;class Test public void F(string s) for (int i=0;i0)return a-;else return 0;class Test static void Main( ) Demo x=new Demo(9 );int k=x.M( );while (k0) Console.Write(“0t , k*k); j=x.M( ); 五、以下方法的功能是翻转字符串,请把该方法补充完整。每空5分,共15分string r
15、everse(string s) string str=null; int j=_; while(j=0) (_); return (_) ; 六、编程:定义两个方法,方法的参数分别为输出型参数与引用型参数,并调用这两个方法。 20分 C#程序设计参考答案一、 C D D C B二、 三、1. class Test public Test() Test() 2. select 书名,作者,价格 from book where 书名 like %网络%四、1成电机高专学2 81 64 49 36 25 16 9 4 1 五、 str+=sj- str 六、class OutRef public
16、void Ft(out double a) a=Convert.ToDouble(Console.ReadLine();if(a0)a=Math.Sqrt(a);else a=Math.Pow(a,3);Console.WriteLine(n的值=0:f2,a); public string Fr(int a,ref int b) string s=a.ToString()+b.ToString();b=a+b;return s;class test public static void Main( ) OutRef ot=new OutRef( ); Console.Write(请输入n的值
17、:); double n; ot.Ft(out n); int m=6;Console.WriteLine(ot.Fr(5,ref m);Console.WriteLine(m=0,m); 1.属于C#语言的关键字( )。A. abstract B. camel C. Salary D. Employ答案:A2.C#语言中,值类型包括:根本值类型、构造类型与 。A.小数类型 B.整数类型 C.类类型 D.枚举类型答案:D3. 假定一个10行20列的二维整型数组,以下哪个定义语句是正确的 。A. intarr = new int10,20B. intarr = int new10,20C. in
18、t,arr = new int10,20 D. int,arr = new int20;10答案:C4在类作用域中能够通过直接使用该类的 成员名进展访问。A. 私有 B. 公用 C. 保护 D. 任何答案:D5. 以下正确的描述是 。A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义与函数的调用均可以嵌套D. 函数的定义与函数的调用均不可以嵌套答案:B6.小数类型与浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C8能作为C#
19、程序的根本单位是( )。A. 字符 B. 语句 C. 函数 D. 源程序文件答案:B9. 可用作C#程序用户标识符的一组标识符是( )。A. void define +WORD B. a3_b3 _123 YNC. for -abc Case D. 2a DO sizeof答案:B10.引用类型主要有4种:类类型、数组类型、接口类型与 。A.对象类型 B.字符串类型 C.委托类型 D.整数类型答案:C得 分评卷人二、填空题每空2分,共20分1 在switch语句中,每个语句标号所含关键字case后面的表达式必须是 。答案:常量表达式2 在while循环语句中,一定要有修改循环条件的语句,否那么
20、,可能造成 .。答案:死循环3 C#数组元素的下标从 开场。答案:04 当在程序中执行到 语句时,将完毕所在循环语句中循环体的一次执行。答案:continue5 元素类型为double的2行5列的二维数组共占用 字节的存储空间。答案:806 C#数组类型是一种引用类型,所有的数组都是从System命名空间的 类继承而来的引用对象。 答案:object7 枚举是从System. 类继承而来的类型。答案:Enum8一般将类的构造方法声明为 访问权限。如果声明为private,就不能创立该类的对象。答案:public或公有9.类中声明的属性往往具有get()与 两个函数。答案:set()10.对于方
21、法,参数传递分为值传递与 两种。答案:引用传递得 分评卷人三、判断题每题2分,20分1.在C#中,所有类都是直接或间接地继承类而得来的。答案:对2.在C#中,任何方法都不能实现多继承。答案:错3.在C#中,子类不能继承父类中用private修饰的成员变量与成员方法。答案:对3.在C#类中,this代表了当前类本身。答案:错4.菜单项标题中有含有带下划线的字符,这是快捷键。答案:错5.在C#Net中,窗体父子关系通过“属性窗口来创立。答案:对6.静态类与实例类的区别在于:静态类不需要初始化即可直接使用,实例类需要进展实例化,生成对象才可使用。答案:对7.使用Directory类的Move()方法可以删除文件。答案:错8.使用类的Copy()方法可以复制文件。答案:对对象中的表可以与数据库中的表同名,也可以不同名。答案:对对象可以执行SQL语句。答案:对得 分评卷人五、简答题10分,每题5分1.常见的用户界面有几类?答案:对话框应用程序、单文档界面应用程序SDI与多文档应用程序MDI2.什么是抽象类?答案:抽象类是含有一个或多个抽象方法的类,抽象类不能实例化。第 17 页
限制150内