C#期末复习题库培训资料.docx
- 文档编号:7984487
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:17
- 大小:68.15KB
C#期末复习题库培训资料.docx
《C#期末复习题库培训资料.docx》由会员分享,可在线阅读,更多相关《C#期末复习题库培训资料.docx(17页珍藏版)》请在冰豆网上搜索。
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
课后选择、填空
第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.关于泛型集合List 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 期末 复习 题库 培训资料