C#期末复习题库培训资料.docx

上传人:b****6 文档编号:7984487 上传时间:2023-01-27 格式:DOCX 页数:17 大小:68.15KB
下载 相关 举报
C#期末复习题库培训资料.docx_第1页
第1页 / 共17页
C#期末复习题库培训资料.docx_第2页
第2页 / 共17页
C#期末复习题库培训资料.docx_第3页
第3页 / 共17页
C#期末复习题库培训资料.docx_第4页
第4页 / 共17页
C#期末复习题库培训资料.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

C#期末复习题库培训资料.docx

《C#期末复习题库培训资料.docx》由会员分享,可在线阅读,更多相关《C#期末复习题库培训资料.docx(17页珍藏版)》请在冰豆网上搜索。

C#期末复习题库培训资料.docx

C#期末复习题库培训资料

14-15-2《面向对象程序设计C#(B)》期末复习

2015.6

一、考试题型

1、选择题(10*2’,共20分)

2、填空题(10*2’,共20分)

3、按要求完成各小题(6小题,共40分))

1)阅读程序写运行结果、程序功能

2)程序填空

3)控件、属性、事件

4)类(访问属性、字段、属性、构造函数、方法)、子类、继承、虚拟、重写、对象、方法调用

4、编程题(1*8’,1*12’,共20分)

二、知识点

第1章.NET和C#概述

.NETFramework的两个主要组件

使用.NETFramework可开发的应用程序类型

C#程序结构

第2章C#编程基础

1、基础知识

标识符

数据类型值类型引用类型数组类型转换

常量、变量、运算符、表达式

表达式的运算

第3章C#程序流程控制

顺序、分支(选择)、循环

各语句的语法格式(输入、输出、赋值、结构语句、转移语句)

ifswitchforwhiledo…whileforeach

breakcontinuegotoreturn

要求:

熟练掌握,会读程序、写程序。

\

第4章数组和字符串

数组的声明与使用(一维、二维)

字符串的使用

第5章C#实现OOP基础

类、类的成员(字段、属性、方法、构造函数、析构函数)、访问权限

对象方法调用

静态方法

方法重载

第6章继承和多态

继承、多态、抽象、方法重载

方法:

抽象方法、虚拟方法

接口密封

第7章Windows窗体编程基础

1、常用控件(Form、Label、TextBox、RichTextBox、Button、CheckBox、RadioButton、ListBox、ComboBox等)的控件名、属性、方法、事件

2、相似控件的区别:

如TextBox和RichTextBox、CheckBox和RadioButton等

第8章深入Windows控件编程

MenuStrip、ContextMenuStrip、ToolStrip、StatusStrip、GroupBox的控件的用法

ImageList、ListView、DateTimePicker、Timer、ProgressBar的控件名、属性、方法、事件

MDI窗体的属性设置

第9章ADO.NET访问数据库

Connection、Command、DataReader、DataAdapter、DataSet对象的作用和用法

DataGridView的用法

课后选择、填空

第10章集合与泛型

ArrayList、Hashtable、List、Dictionary的特点和用法

课后选择、填空

第11章文件和数据流操作

File类和FileInfo类

Directory类和DirectoryInfo类

FileStreamStreamWriterStreamReader类

课后选择、填空

第12章Windows应用程序打包部署

课后选择、填空

三、复习题

(一)选择题

1.C#是一种面向( D)的程序设计语言。

A.过程B.用户C.方法D.对象

2.下面的标识符错误的是(C)。

A.f_fangB.stu1C.yes@D.ifor

3.C#中每个int类型的变量占用( C)个字节的内存。

A.1B.2C.4D.8

4.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式

的表达式是(C)。

A.1.0/a*b*cB.1.0/a/b/cC.1/(a*b*c)D.1/a/b/(float)c

5.C#中,新建一字符串变量str,并将字符串”Tom'sLivingRoom”保存到串中,则应该使用下列( D)语句。

A.stringstr=“Tom'sLivingRoom”;

B.stringstr(“Tom'sLivingRoom”);

C.stringstr(“Tom”sLivingRoom”);

D.stringstr=“Tom\'sLivingRoom”;

6.以下正确的描述是(B)。

A.函数的定义可以嵌套,函数的调用不可以嵌套

B.函数的定义不可以嵌套,函数的调用可以嵌套

C.函数的定义和函数的调用均可以嵌套

D.函数的定义和函数的调用均不可以嵌套

7.按下按钮时会发生( C)事件。

A.ButtonB.PushC.ClickD.以上都不对

8.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的(C)。

A.int[]arr=newint[10,20]B.int[]arr=intnew[10,20]

C.int[,]arr=newint[10,20]D.int[,]arr=newint[20;10]

9.下面的循环将被执行(C)次?

for(inti=9;i>1;i--)

A.3B.4C.8D.10

10.在下面循环语句中循环体执行的次数为(C)。

for(inti=0;i

if(i>n/2)break;

A.n/2B.n/2+1C.n/2+2D.n-1

11.下面关于继承的说法正确的是(A)。

A.派生类可以隐式地转换为它的基类。

B.所有的类成员都可以被继承。

C.C#可以进行多重继承。

D.在派生类中可以通过隐藏来删除基类的成员。

12.下面有关命名空间的说法,正确的是____D____

A.一个源代码文件只能包含一个名称空间。

B.名称空间是不可以嵌套的。

C.使用不同名称空间内相同名称的方法会产生名称冲突。

D.可以用using语句来访问一个名称空间中所有的类。

13.下面有关if语句和switch语句说法错误的是___D____

A.if语句有三种基本形式:

“单分支选择”、“如果/否则”以及“多情形选择”。

B.switch结构对处理多分支选择结构是非常方便的。

C.break语句可以使程序退出整个switch结构。

D.if语句中是不可以嵌套if语句的

14.在类的定义中,类的B描述了该类的对象的行为特征。

A.类名B.方法C.所属的名字空间D.私有域

15.CLR的中文全称是A。

A.公共语言运行库B.公共类型系统C.公共类型规范D.中间语言

16.能作为C#程序的基本单位是(C)。

A.字符B.语句C.函数D.源程序文件

17.下面的类型中属于引用类型的是(C)

A.整数类型B.字符类型C.字符串类型D.布尔类型

18.下面有关变量和常量的说法正确的是____C____

A.变量在程序的运行中值是不能改变的,而常量的值可以改变。

B.如果在程序中给常量多次赋值,那么常量保存的是最后一次的值。

C.在给常量赋值的表达式中不能出现变量。

D.变量定义的时候应该有const关键字

19.下面关于Main方法的说法正确的是___A_____

A.Main方法可以有int和void两种返回值类型。

B.在C#应用程序中Main方法不是必需的。

C.一个C#应用程序可以有多个Main方法。

D.Main方法前的static关键字是可选的。

20.假设所有的变量(i、j)都是整型,并被初始化为2,那么表达式“i*j>=0&&j-2<=0”的结果是多少?

___C____

A.0B.4C.TrueD.在运行之前无法估计表达式的值

21.下面(D)文件一般不是安装文件。

A.setup.exeB.setup.msiC.install.exeD.readme.txt

22.While语句和do-while语句的区别是___C_____

A.while语句容易导致死循环

B.while语句的执行效率更高。

C.无论条件是否成立,do-while语句都要先执行一次循环体。

D.do-while语句可以写出结构更复杂的循环结构。

23.C#中,简单数据类型包括___B_____

A.整数类型、字符类型、枚举类型和结构类型

B.整数类型、字符类型、布尔类型和实数类型

C.整数类型、字符类型、结构类型和类类型

D.整数类型、字符类型、布尔类型、结构类型和类类型

24.每个C#语句以____D____结束。

A.右大括号”}”B.回车C.点号”.”D.分号”;”

25.在C#中最基本的类是C。

A、ControlB、ComponentC、ObjectD、Class

26.以下论述不正确的是D。

A、对象变量是对象的一个引用。

B、对象是类的一个实例。

C、一个对象可以作为另一个对象的数据成员。

D、对象不可以作为函数的参数传递。

27.要使类的成员可以被本类代码和派生类代码访问,其他代码不可访问,可设置该成员的访问类型为D。

A、使用public关键字。

B、使用private关键字。

C、使用const关键字。

D、使用protected关键字。

28.使用继承的优点是A。

A、基类的大部分功能可以通过继承关系自动进入派生类。

B、继承将基类的实现细节暴露给派生类。

C、一旦基类实现出现bug,就会通过继承的传播影响到派生类的实现。

D、可在运行期决定是否选择继承代码,有足够的灵活性

29.在一个对象中,可以继承并直接使用它基类的所有成员,除了D。

A、public字段和方法B、protected字段和方法

C、published字段和方法D、private字段和方法

30.关于泛型集合Listlist=newList()的操作代码正确的是(C)。

A.list.Remove(0)B.list.RemoveAt(“阿卜杜拉“)

C.stringname=list[0]D.stringname=list[“阿卜杜拉“]

31.在编写c#程序时,若需要对一个数组中的所有元素进行处理,则使用(B)循环体最好.

A.while循环B.foreach循环C.do循环D.for循环

32.在.NET中,创建一个文件流,指定打开一个文件,如果不存在,就创建一个新文件,FileMode的值应该是(B)。

A.OpenB.OpenOrCreateC.CreateD.CreateOrOpen

33.在C#中,引用命名空间System的正确语句是:

(A)

AusingSystem;B#import;

CusesSyetem;D#include;

34.以下类MyClass的属性count属于(A)属性.

classMyClass

{

inti;

intcount

{

get{returni;}

}

}

A.只读B.只写C.可读写D.不可读不可写

35.从数据库读取记录,不可能用到的方法是(D)。

A.ExecuteNonQuery()B.ExecuteReader()

C.ExecuteScalar()D.Read()

36.创建菜单后,为了实现菜单项的命令功能,应为菜单项添加(C)事件处理方法.

A.DrawItenB.PopupC.ClickD.Select

37.在C#设计类时,如何将一个可读可写的公有属性Name修改为只读属性?

(B)

A将Name的set块添加readonly修饰符B将Name的set块删除

C在Namei的set块前加修饰符privateD在Name添加readonly修饰符

38.在C#中,使用(C)语句捕获异常。

AifBwhileCtry和catchDdo

(二)填空题

1.在实例化类对象时,系统自动调用该类的构造函数进行初始化。

2.要使Button控件上显示给定的文字是“确定”,应在设计状态下设置它的caption属性值。

3.窗体的Text属性规定了窗体的标题栏中显示的文本。

要在控制台程序运行时输入信息,可使用Console类的Read()或ReadLine()方法。

4.设A=2,B=-3,则表达式A/2+1>B+5||B*(-2)==6的值是True。

5.数学算式

的C#表达式为b+sqrt(b*b-4*a*c)。

6.Convert.ToInt64(val)的作用是将val的值转换为int类型。

7.一个类可以有多个构造函数,只要他们的参数列表不同(参数类型、个数),此时称为重载。

8.数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为void。

9.属性中的两个访问函数是get和set。

10.类成员的访问权限有private、public、protected、internal。

11.使用virtual声明的方法称之为虚拟方法。

12.TextBox控件与RichTextBox控件的区别是:

前者用于从用户处获取短文本字符串,后者用于显示和输入格式化的文本。

13.RadioButton控件与CheckBox控件的区别是前者是单选按钮,后者多选按钮。

14.Convert.ToInt32(val)的作用是将val的值转换为int类型。

15.界面上有Label对象,名称为lblMsg,要显示为“我的第一个应用程序”,应该使用的程序代码为lblMsg.Text=”我的第一个应用程序”。

16.在类的设计过程中,通过__构造函数__完成初始化,并使用析构函数完成_删除类的对象实体__

17.ListView控件Items属性的Add方法的作用是:

向控件中添加项。

18.常用的处理异常的关键字有throw、__try___、__catch__、___finally___。

19.一个类可以有多个构造方法,只要他们的参数列表不同(参数类型、个数),此时称为方法重载。

20.常见的程序结构有__顺序结构_、___选择结构_、___循环结构__。

21.判断文件是否存在,可以使用File类的Exists()方法。

22.使用abstract声明的类称之为抽象类。

23.VisualC#控制台应用程序从Main方法开始执行。

24.C#数据类型按照占用内存的方式来分,可以分为值类型、引用类型和指针类型。

25.面向对象的4个基本特征是抽象、封装、继承和多态。

26.inputtext控件是一个单文本输入控件,该控件的passwordchar属性设置为“*”时,输入的字符串将会显示为“*”。

三、按要求完成下列各小题

1.请写出以下程序片断运行的结果。

usingSystem;

classTest

{

publicstaticvoidMain()

{

intsum;

sum=0;

for(inti=1;i<=10;i++)

if(i%2==0)

sum+=i;

Console.WriteLine(“Sumis{0}”,sum);

}

}

结果为:

Sumis30

2.写出以下程序运行结果。

usingSystem;

classTest

{

staticvoidLE(refinta,refintb)

{

      intx=a;

a=b;b=x;

Console.WriteLine(a+""+b);

}

publicstaticvoidMain()

{

   intx=10,y=25;

LE(refx,refy);

Console.WriteLine(x+""+y);

Console.ReadLine();

}

}

结果为:

2510

2510

3.写出下列函数的功能。

staticfloatFH()

{

   floaty=0,n=0;

   intx=Convert.ToInt32(Console.ReadLine());

   while(x!

=0){

          n++;y+=x;

          x=Convert.ToInt32(Console.ReadLine());

   }

if(n==0)

returny;

else

returny/n;

}

从键盘读入若干个不为0的整数,求平均值。

4.写出以下程序的运行结果。

usingSystem;

classTest

{

publicstaticvoidMain()

{

      int[]a={1,2,3,4,5,6,7,8,9};

for(inti=0;i<9;i++)

{

Console.Write(""+a[i]);

if((i+1)%3==0)Console.WriteLine();

}

Console.ReadLine();

}

}

结果为:

123

456

789

5.请写出以下程序片断运行的结果。

int[]ageArray=newint[3]{10,20,30};

Console.WriteLine(“ageArray数组的值为:

”);

foreach(intageIinageArray)

{

Console.WriteLine(ageI);

}

Console.ReadLine();

答:

ageArray数组的值为:

10

20

30

6.请写出以下程序运行的结果。

usingSystem;

classuserName

{

stringUname;

publicuserName(stringname)

{

Console.WriteLine(“新建一个用户”);

Uname=name;

}

publicvoidShowName()

{

Console.WriteLine(“用户名是:

”+Uname);

}

}

publicstaticvoidMain()

{

usernameuN1=newusername(“ZhangSan”);

uN1.ShowName();

}

结果为:

新建一个用户

用户名是:

ZhangSan

7.请写出下图中出现的控件类型,至少8种。

属性3种、事件2种。

答:

StatusBar、TextBox、ComboBox、ToolBar、RadioButton、GroupBox、CheckBox、TreeView、RichTextBox、Button、DateTimePicker、PictureBox、ListBox(任意8个即可)。

属性:

Text、Enabled、BackColor

方法:

Click、Load

8.文件程序,参看P211例11.1和P219例11.5。

9.读代码,完成以下小题:

(1)写出类的继承关系。

(2)virtual、override是什么含义?

(3)写出运行结果。

参看教材P92例6.1和P97例6.4。

四、编程题

1.在Main方法中声明一个字符串数组,给定5个字符串,“Tom”,“Mike”,”Anna”,”Betty”,”Kelly”,将这些字符串存储在数组中并使用foreach语句输出。

2.类通常包含三个成员:

构造函数、字段或属性以及方法。

请设计一个个人资料类Person。

包含下列数据:

两个私有字符串类型字段:

姓名(name)、血型(blood)并添加相关属性(读写)。

2个公有方法:

显示姓名printName、显示血型printBlood。

2个公有构造函数:

Person()和Person(stringname,stringblood)。

UsingSystem.IO;

classPerson

{

Privatestringname;

Privatestringblood;

PublicstringName

{

Get

{

Returnname;

}

Set

{

name=value;

}

}

PublicstringBlood

{

Get

{

Returnblood;

}

Set

{

blood=value;

}

}

Person(){}

Person(stringname,stringblood)

{

This.name=name;

This.blood=blood;

}

PublicvoidprintName()

{

Console.writeLine(name);

}

PublicvoidprintBlood()

{

Console.writeLine(blood);

}

PublicvoidToString()

{

Console.writeLine(“nameis{0},bloodis{1}”,name,blood);

}

}

3.下图中当单击“添加”按钮时,将文本框中的输入的数据作为一项添加到左边的ListView控件中。

当单击“移除”“清空”按钮时,分别完成删除一项、清空所有项的功能。

下述代码中已给出“添加”按钮的Click事件代码,请补充“移除”“清空”的Click事件代码。

privatevoidbtnAdd_Click(objectsender,EventArgse)

{

if(txtItem.Text=="")//判断文本框中是否输入数据

{

MessageBox.Show("项目不能为空");//如果没有输入数据则出提示

}

else

{

lvMyResource.Items.Add(txtItem.Text.Trim());//使用Add方法向控件中添加项

}

}

privatevoidbtnRemoveAt_Click(objectsender,EventArgse)//移除

{

if(lvMyResource.SelectedItems.Count==0)//判断是否选择了要删除的项

{

MessageBox.Show("请选择要删除的项");//如果没有选择弹出提示

}

else

{

lvMyResource.Items.RemoveAt(lvMyResource.S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1