《c#程序设计复习资料(试题及答案版).pdf》由会员分享,可在线阅读,更多相关《c#程序设计复习资料(试题及答案版).pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c#c#程序设计复习资料程序设计复习资料(试题及答试题及答案版案版)c#c#程序设计部分复习资料程序设计部分复习资料一填空题一填空题26.C#C#源程序的后缀名为源程序的后缀名为_.cs_.cs_。26.C#C#中每个中每个 intint 类型的变量占用类型的变量占用_4_4_个字节的内个字节的内存。存。26.C#C#的每行语句以的每行语句以_ _分号分号_ _结尾。结尾。26.布尔型的变量可以赋值为关键字布尔型的变量可以赋值为关键字_true_true_或或_false_false_。26.如果如果 int xint x 的初始值为的初始值为 5,5,则执行表达式则执行表达式 x-=3x-=
2、3 之后之后,x,x的值为的值为_2_2_。26.do.whiledo.while 语句在执行循环体语句在执行循环体_之后之后_测试语句是否满足循环条件。测试语句是否满足循环条件。26.关键字关键字_class_class_表示一个类的定义。表示一个类的定义。26.如果一个类包含一个或多个抽象方法如果一个类包含一个或多个抽象方法,它是一个它是一个_抽象抽象_类。类。26.trytry 块运行后块运行后,总是会执行总是会执行_finally_finally_块中的代码。块中的代码。26.一个数组如果有两个索引值一个数组如果有两个索引值,那么它是那么它是_二二维维_数组。数组。二单项选择题二单项选
3、择题1.1.在对在对 SQL ServerSQL Server 数据库操作时应选用(数据库操作时应选用()。A A、SQLSQL ServerServer.NET.NET FrameworkFramework 数据提供程序;数据提供程序;B B、OLE DB.NET FrameworkOLE DB.NET Framework 数据提供程序;数据提供程序;C C、ODBC.NET FrameworkODBC.NET Framework 数据提供程序;数据提供程序;2 2 D D、Oracle.NET FrameworkOracle.NET Framework 数据提供程序;数据提供程序;2.2.
4、下列选项中,下列选项中,()是引用类型。)是引用类型。A A、enumenum 类型类型B B、structstruct 类型类型C C、stringstring类型类型D D、intint 类型类型3.3.C#C#的数据类型有(的数据类型有()A A、值和调用类型;、值和调用类型;B B、值和引用类型;、值和引用类型;C C、引、引用和关系类型;用和关系类型;D D、关系和调用类型、关系和调用类型4.4.下列描述错误的是(下列描述错误的是()A A、类不可以多重继承而接口可以;、类不可以多重继承而接口可以;B B、抽象、抽象类自身可以定义成员而接口不可以;类自身可以定义成员而接口不可以;C
5、C、抽象类和接口都不能被实例化;、抽象类和接口都不能被实例化;D D、一个、一个类可以有多个基类和多个基接口;类可以有多个基类和多个基接口;5.5.下列关于构造函数的描述正确的是(下列关于构造函数的描述正确的是()A A、构造函数可以声明返回类型。、构造函数可以声明返回类型。B B、构造函、构造函数不可以用数不可以用 privateprivate 修饰修饰C C、构造函数必须与类名相同、构造函数必须与类名相同D D、构造函数、构造函数不能带参数不能带参数6.6.intint myArray3=newmyArray3=new int3newint3new int35,6,2,newint35,6
6、,2,newint56,9,7,8,3,new int23,2;int56,9,7,8,3,new int23,2;那么那么 myArray322myArray322的值是的值是()。A A、9 9B B、2 2C C、6 6D D、越界、越界7.7.接口是一种引用类型,接口是一种引用类型,在接口中可以声明在接口中可以声明(),但不但不3 3可以声明公有的域或私有的成员变量。可以声明公有的域或私有的成员变量。A A、方法、属性、索引器和事件;、方法、属性、索引器和事件;B B、方方法、属性信息、属性;法、属性信息、属性;C C、索引器和字段;、索引器和字段;D D、事件和字段;事件和字段;8.
7、8.在在ADO.NETADO.NET中中,对对 于于CommandCommand对对 象象 的的ExecuteNonQuery()ExecuteNonQuery()方法和方法和 ExecuteReader()ExecuteReader()方法,方法,下面下面叙述错误的是(叙述错误的是()。A A、insertinsert、updateupdate、deletedelete 等操作的等操作的 SqlSql 语句主要语句主要用用 ExecuteNonQuery()ExecuteNonQuery()方法来执行;方法来执行;B B、ExecuteNonQuery()ExecuteNonQuery()方
8、法返回执行方法返回执行 SqlSql 语句所语句所影响的行数。影响的行数。C C、SelectSelect 操作的操作的 SqlSql 语句只能由语句只能由 ExecuteReader()ExecuteReader()方法来执行;方法来执行;D D、ExecuteReader()ExecuteReader()方法返回一个方法返回一个 DataRederDataReder 对对象;象;9.9.WinformWinform 中,关于中,关于 ToolBarToolBar 控件的属性和事件的描述控件的属性和事件的描述不正确的是不正确的是()。A A、ButtonsButtons 属性表示属性表示 T
9、oolBarToolBar 控件的所有工具栏控件的所有工具栏按钮按钮B B、ButtonSizeButtonSize 属性表示属性表示 ToolBarToolBar控件上的工具栏控件上的工具栏按钮的大小,如高度和宽度按钮的大小,如高度和宽度C C、DropDownArrowsDropDownArrows 属性表明工具栏按钮属性表明工具栏按钮(该按(该按4 4钮有一列值需要以下拉方式显示)钮有一列值需要以下拉方式显示)旁边是否显示下旁边是否显示下箭头键箭头键D D、ButtonClickButtonClick 事件在用户单击工具栏任何地方事件在用户单击工具栏任何地方时都会触发时都会触发10.10
10、.在在 ADO.NETADO.NET 中执行一个存储过程时,如果要设置中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和输出参数则必须同时设置参数的方向和(),必要时必要时还要设置参数尺寸。还要设置参数尺寸。A A、大小;、大小;B B、上限;、上限;C C、初始值;、初始值;D D、类型;、类型;11.11.如果将窗体的如果将窗体的FormBoderStyleFormBoderStyle 设置为设置为 NoneNone,则,则()。A A、窗体没有边框并不能调整大小;、窗体没有边框并不能调整大小;B B、窗、窗体没有边框但能调整大小;体没有边框但能调整大小;C C、窗体有边框
11、但不能调整大小;、窗体有边框但不能调整大小;D D、窗、窗体是透明的;体是透明的;12.12.如果要将窗体设置为透明的,则如果要将窗体设置为透明的,则()A A、要将、要将FormBoderStyleFormBoderStyle 属性设置为属性设置为NoneNone;B B、要将、要将 OpacityOpacity 属性设置为小于属性设置为小于 100%100%得值;得值;C C、要将、要将 lockedlocked 属性设置为属性设置为 TrueTrue;D D、要、要将将 EnabledEnabled 属性设置为属性设置为 TrueTrue;13.13.下面描述错误的是下面描述错误的是()
12、。A A、窗体也是控件;、窗体也是控件;B B、窗体也是类;、窗体也是类;C C、控件、控件5 5是从窗体继承来的;是从窗体继承来的;D D、窗体的父类是控件类;、窗体的父类是控件类;14.14.如如果果设设型的值。型的值。A A、TreeNodeTreeNode;B B、intint;C C、stringstring;D D、TreeViewTreeView;D.obj.set(obj.sData);D.obj.set(obj.sData);15.15.如果左操作数大于右操作数,如果左操作数大于右操作数,_ _运算符返回运算符返回false.false.A.=A.=B.B.C.=C.=D.D
13、.以上都是以上都是16.16.下列变量初始化时不能完成转换的是:下列变量初始化时不能完成转换的是:()A Aint a=5;float b=a;int a=5;float b=a;B.int a=65;char c=(int)a;B.int a=65;char c=(int)a;C.string s=x;char c=s;D.C.string s=x;char c=s;D.Long L=123;int a=L;Long L=123;int a=L;17.17.有一个整型数组有一个整型数组 int array=new int1,2,3,4int array=new int1,2,3,4。通过索引
14、访问该数组,通过索引访问该数组,当索引为当索引为 2 2 时,时,得到的结果是多得到的结果是多少?少?()A A、1 B1 B、2 2 C C、3 3 D D、4 418.18.WebWeb 窗体文件的扩展名为:窗体文件的扩展名为:()A.ASPA.ASPB.ASPXB.ASPXC.ASCXC.ASCXD.HTMLD.HTML19.19.下面的循环语句不管在什么条件下至少执行一次循下面的循环语句不管在什么条件下至少执行一次循6 6treeView1=newtreeView1=newTreeView()TreeView(),则则treeView1.Nodes.Add(treeView1.Node
15、s.Add(根节点根节点)返回的是一个返回的是一个()类类环体的语句是(环体的语句是()。A.forA.for 循环循环 B.foreach B.foreach 循环循环 C.while C.while 循循环环 D.do D.do 循环循环20.20.在在 Visual Studio.NETVisual Studio.NET 窗口中窗口中,(),()窗口显示了当前窗口显示了当前Visual StudioVisual Studio 解决方案的树型结构。解决方案的树型结构。A A类视图类视图B B解决方案资源管理器解决方案资源管理器C C资源资源视图视图D D属性属性21.21.在在 C#C#中
16、无需编写任何代码就能将中无需编写任何代码就能将 intint 型数值转换为型数值转换为doubledouble,称为,称为:()A.A.显式转换显式转换 B.B.隐式转换隐式转换 C.C.数据类型变数据类型变换换 D.D.变换变换22.22.C#C#中执行下列语句后整型变量中执行下列语句后整型变量 x x 和和 y y 的值是多少?的值是多少?()int x=100;int x=100;int y=x+;int y=x+;A.x=101 y=101 B.x=100 y=101A.x=101 y=101 B.x=100 y=101 C.C.x=101 y=100 x=101 y=100 D.x=
17、100 y=100 D.x=100 y=10023.23.C#C#程序中程序中,可使用可使用 try.catchtry.catch 机制来处理程序出现机制来处理程序出现的的_错误错误.A.A.语法语法 B.B.运行运行 C.C.逻辑逻辑 D.D.拼写拼写26.在在 Visual Studio.NETVisual Studio.NET 窗口中窗口中,(),()窗口显示了当前窗口显示了当前Visual StudioVisual Studio 解决方案的树型结构。解决方案的树型结构。A A类视图类视图B B解决方案资源管理器解决方案资源管理器C C资源资源7 7视图视图D D属性属性27.关于关于
18、C#C#语言的基本语法,下列哪些说法是正确的?语言的基本语法,下列哪些说法是正确的?A AC#C#语言使用语言使用usingusing 关键字来引用关键字来引用.NET.NET 预定义的名预定义的名字空间;字空间;B B用用C#C#编写的程序中,编写的程序中,MainMain 函数是唯一允许的全局函数是唯一允许的全局函数;函数;C CC#C#语言中使用的名称不区分大小写;语言中使用的名称不区分大小写;D DC#C#中一条语句必须写在一行内;中一条语句必须写在一行内;28.对于在代码中经常要用到的且不会改变的值,可以对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。如圆周率将其声明为常
19、量。如圆周率PIPI 始终为始终为 3.143.14。现在要声。现在要声明一个名为明一个名为 PIPI 的圆周率常量,下面哪段代码是正确的圆周率常量,下面哪段代码是正确的?的?A.const float PI;PI=3.14f;A.const float PI;PI=3.14f;B.constB.constfloat PI=3.14f;float PI=3.14f;C.float const PI;PI=3.14f;D.floatC.float const PI;PI=3.14f;D.floatconst PI=3.14f;const PI=3.14f;29.在在 C#C#中无需编写任何代码就
20、能将中无需编写任何代码就能将 intint 型数值转换为型数值转换为doubledouble,称为,称为:A.A.显式转换显式转换 B.B.隐式转换隐式转换 C.C.数据类型变数据类型变换换 D.D.变换变换30.如果左操作数大于右操作数,如果左操作数大于右操作数,_ _运算符返回运算符返回false.false.A.=A.=B.B.C.=C.=D.D.以上都是以上都是8 831.如果希望实现从如果希望实现从 1 1 到到 1010 的累加,并得出结果。的累加,并得出结果。int count=0;int count=0;_ count+=i;count+=i;应该在空白处添加下面哪段代码?应该
21、在空白处添加下面哪段代码?A.A.forfor(int(int i i=0;0;i i 10;10;i+)B.i+)B.forfor(int i=0;i=9;i+)(int i=0;i=9;i+)C.C.forfor(int(int i i=1;1;i i=10;10;i+)i+)D.D.forfor(int i=1;i 10;i+)(int i=1;i b)if(ab)return 1;return 1;else if(a=b)else if(a=b)return 0;return 0;1515 else elsereturn-1;return-1;答案:比较两个整数答案:比较两个整数 a
22、a 和和 b b 的大小,若的大小,若 abab 则返回则返回 1 1,若,若 a=ba=b 则返回则返回 0 0,若,若 abab 则返回则返回-1-1。2.2.以下程序运行后,以下程序运行后,sumsum 的值为:的值为:_2_2_(5(5 分分)int i,sum;int i,sum;sum=0;sum=0;for(i=2;i=10;i+)for(i=2;i=(ch=AA&ch=&ch=(ch=AA&ch=&ch=(ch=aa&ch=&ch=(ch=00&ch=&ch 0)(i 0)j=i+100;j=i+100;ConsoleConsole.WriteLine(.WriteLine(0
23、0,00,最后结果是最后结果是11,i,j);,i,j);1717 elseelse j=i+500;j=i+500;ConsoleConsole.WriteLine(.WriteLine(00,0=0&f=0&f=100)g=f+1000;g=f+1000;ConsoleConsole.WriteLine(.WriteLine(00在在0-1000-100之间,最后结果为之间,最后结果为11,f,g);,f,g);elseelseConsoleConsole.WriteLine(.WriteLine(00不在不在0-1000-100之间之间,f);,f);7.7.编一个程序,输入编一个程序,
24、输入 0 0100100 之间的一个学生成绩分数之间的一个学生成绩分数,用用 switchswitch 语句输出成绩等第(成绩优语句输出成绩等第(成绩优秀(秀(90-10090-100),成绩良好(),成绩良好(80-8980-89),成绩及格(),成绩及格(60-7960-79)和成绩不及格()和成绩不及格(5959 以下)。以下)。intint score;score;ConsoleConsole.WriteLine(.WriteLine(请输入学生成绩请输入学生成绩););score=score=intint.Parse(.Parse(ConsoleConsole.ReadLine();
25、.ReadLine();score=score/10;score=score/10;switchswitch(score)(score)casecase 10:10:ConsoleConsole.WriteLine(.WriteLine(成绩优秀成绩优秀););breakbreak;casecase 9:9:ConsoleConsole.WriteLine(.WriteLine(成绩优秀成绩优秀););breakbreak;casecase 8:8:ConsoleConsole.WriteLine(.WriteLine(成绩良好成绩良好););breakbreak;casecase 7:7:C
26、onsoleConsole.WriteLine(.WriteLine(成绩及格成绩及格););breakbreak;casecase 6:6:ConsoleConsole.WriteLine(.WriteLine(成绩及格成绩及格););breakbreak;defaultdefault:1818ConsoleConsole.WriteLine(.WriteLine(成绩不及格成绩不及格););breakbreak;8.8.编一个程序,编一个程序,利用利用 do-whiledo-while 循环语句循环语句,从键盘上输入从键盘上输入 1010 个整数,个整数,求出它们的和。求出它们的和。(k1
27、0020105)(k10020105)intint i=1,n,sum=0;i=1,n,sum=0;dodo ConsoleConsole.WriteLine(.WriteLine(请输入一个整数请输入一个整数););n=n=intint.Parse(.Parse(ConsoleConsole.ReadLine();.ReadLine();sum=sum+n;sum=sum+n;i+;i+;whilewhile(i=10);(i=10);ConsoleConsole.WriteLine(.WriteLine(这十个整数的和为这十个整数的和为00,sum);,sum);判断题判断题(1-81-8
28、 都是正确。都是正确。)1 1、可以给、可以给 ObjectObject 变量赋以任何类型的数据。变量赋以任何类型的数据。()2 2、类的构造函数名和析构函数名必须和类的名字相同、类的构造函数名和析构函数名必须和类的名字相同()3 3、一个一个 CharChar 类型的变量可包含一个类型的变量可包含一个 UnicodeUnicode 字符,字符,占用占用两个字节。两个字节。()4 4、若没有指定,若没有指定,C#C#会把第一个建立的窗体作为启动窗体。会把第一个建立的窗体作为启动窗体。()5 5、构造函数在建立类的对象时,会自动调用,一般用于、构造函数在建立类的对象时,会自动调用,一般用于191
29、920202121生类中重新加以定义并用关键字生类中重新加以定义并用关键字 overrideoverride 修饰的称为修饰的称为重写或者覆盖。隐藏是对于基类的成员,在派生类中重写或者覆盖。隐藏是对于基类的成员,在派生类中重新加以定义,并用重新加以定义,并用 NEWNEW 关键词修饰的称为隐藏;关键词修饰的称为隐藏;重写和隐藏有相似的方面,但又有实质的区别:重写和隐藏有相似的方面,但又有实质的区别:隐藏和重写是基类和派生类的同名成员的两种不同关隐藏和重写是基类和派生类的同名成员的两种不同关系,隐藏可以发生在数据成员和行为成员上,而重写系,隐藏可以发生在数据成员和行为成员上,而重写只是对行为成员
30、而言;只是对行为成员而言;3.3.请说明索引和属性的异同?请说明索引和属性的异同?答:答:1 1)属性和索引器的作用都是为了进一步封装数据、属性和索引器的作用都是为了进一步封装数据、组织数据并提供方便的访问方式;组织数据并提供方便的访问方式;2 2)定义属性和定义索引相似,他们都具有)定义属性和定义索引相似,他们都具有getget 访问访问器和器和 setset 访问器,并且可以取舍以控制访问权限;访问器,并且可以取舍以控制访问权限;3 3)所有的字段都可以有属性,所有的字段都可以有属性,字段是默认的和最简字段是默认的和最简单的属性,但索引器不同;单的属性,但索引器不同;4 4)属性可以是实例成员,属性可以是实例成员,也可以是属于整个类的静也可以是属于整个类的静态成员,但索引只能是实例成员,属于某一个具体的态成员,但索引只能是实例成员,属于某一个具体的对象。对象。4.4.程序的基本结构有哪几种?程序的基本结构有哪几种?答:程序的基本结构有以下几种:答:程序的基本结构有以下几种:22221)1)顺序结构顺序结构2 2)选择结构)选择结构3 3)循环结构)循环结构2323