第一章单元测试
1、C#中程序注释只有两种,即单行注释//和多行注释/**/。()
A:对
B:错
答案:错
2、C#源代码的后缀名为.cs。()
A:对
B:错
答案:对
3、DotNet包含两个部分,即公共语言运行库和框架类库。()
A:对
B:错
答案:对
4、C#是一种安全的、稳定的、简单的、优雅的,面向对象的编程语言。()
A:对
B:错
答案:对
5、Main方法的返回值类型必须是void的类型。()
A:对
B:错
答案:对
6、C#程序的执行是从第一个方法开始,到Main方法结束。()
A:对
B:错
答案:错
7、输入主函数的代码片断只能是svm.()
A:对
B:错
答案:错
8、关于Console.WriteLine(“{N[,M][:格式化字符串]}”)方法的描述正确的是?()
A:N:表示输出变量的序号,从1开始。
B:-M表示输出的变量所占的字符个数,-表示对齐方式,左对齐。
C:Console.WriteLine("{0:c}",123.456);中C表示按整数输出。
D:Console.WriteLine("{0:E}",123.456);中E表示按科学计算法输出。
答案:-M表示输出的变量所占的字符个数,-表示对齐方式,左对齐。
Console.WriteLine("{0:E}",123.456);中E表示按科学计算法输出。
第二章单元测试
1、下列标识符命名正确的是()。()
A:X.25
B:4foots
C:val(7)
D:_Years
答案:_Years
2、下列类型中,哪些不属于引用类型?()。()
A:String
B:int
C:Class
D:Delegate
答案:int
3、精度最高的预定义类型是浮点类型。()
A:对
B:错
答案:错
4、C#程序中使用0表示逻辑非。()
A:对
B:错
答案:错
5、如果左操作数大于右操作数,()运算符返回false。()
A:=
B:<
C:<=
D:其它都是
答案:其它都是
6、下面关于C#中值类型和引用类型的描述正确的是()。()
A:结构属于引用类型
B:字符串属于值类型
C:所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型
D:值类型变量直接存放真正的数据,引用类型变量存放的是指向真正数据的内存地址
答案:值类型变量直接存放真正的数据,引用类型变量存放的是指向真正数据的内存地址
7、所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型。()
A:对
B:错
答案:错
8、下列选项中,属于值类型的是()()
A:struct
B:Int32
C:Int
D:string
答案:struct
9、表达式12/4-2+5*8/4%5/2的值为()。()
A:1
B:3
C:4
D:0
答案:1
10、请问经过表达式a=3+1>5?0:1的运算,变量a的最终值是什么?()()
A:3
B:1
C:0
D:4
答案:1
第三章单元测试
1、else语句总是与离他最近的一个if语句相匹配。()
A:对
B:错
答案:错
2、用foreach遍历群集时能够用break跳出循环。()
A:对
B:错
答案:错
3、switch语句的控制表达式可以是任何数据类型。()
A:对
B:错
答案:错
4、switch语句中case标签结束可以有跳转语句,也可以没有。()
A:对
B:错
答案:错
5、for循环只能用于循环次数已经确定的情况。()
A:对
B:错
答案:错
6、关于C#中的switchcase语句,以下说法正确的是()
A:switch判断的表达式可以是整型或者字符型,但不能是字符串型
B:在该语句中最多不能超过5个case子句
C:在该语句中只能有一个default子句
D:在该句中只能有一个break语句
答案:在该语句中只能有一个default子句
第四章单元测试
1、在C#中,int[][]是定义一个int型的二维数组.()
A:对
B:错
答案:错
2、下列关于数组访问的描述中,哪些选项是错误的?()
A:数组元素索引是从0开始的
B:对数组元素的所有访问都要进行边界检查
C:如果使用的索引小于0,或大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;
D:数组元素的访问是从1开始,到Length结束;
答案:数组元素的访问是从1开始,到Length结束;
3、下列关于数组的描述中,哪些选项是不正确的?()
A:String类中的许多方法都能用在数组中
B:System.Array类是所有数组的基类
C:String类本身可以被看做是一个System.Char对象的数组
D:数组可以用来处理数据类型不同的批量数据
答案:数组可以用来处理数据类型不同的批量数据
4、foreach语句能使你不用索引就可以遍历整个数组。()
A:对
B:错
答案:对
5、ArrayList能够包含任何类型的元素,但不能混合放置不同类型的对象。()
A:对
B:错
答案:错
6、以下数组声明中,不正确的有()
A:int[]a;
B:inta[]=newint[2];
C:int[]a={1,3}
D:int[]a=int[]{1,3}
答案:inta[]=newint[2];
第五章单元测试
1、以下说法正确的是()
A:构造函数名不必和类名相同
B:一个类可以声明多个构造函数
C:构造函数可以有返回值
D:编译器可以提供一个默认的带一个参数的构造函数
答案:一个类可以声明多个构造函数
2、在C#类中,()允许相同名称、不同参数个数或者参数类型的方法存在。()
A:方法重写
B:方法重载
C:方法取消
D:方法覆盖
答案:方法重载
3、下列哪一个不是类成员的成员的是().
A:属性
B:数组
C:索引器
D:while循环结构
答案:while循环结构
4、下列的_不是构造函数的特征。()
A:构造函数的函数名和类名相同
B:构造函数可以重载
C:构造函数可以带有参数
D:可以指定构造函数的返回值
答案:可以指定构造函数的返回值
5、在C#中设计类时,如何将一个可读可写的公有属性Name修改为只读属性?()
A:将Name的set块删除
B:将Name的set块置空
C:将Name的set块前加修饰符private
D:将Name添加readonly修饰符
答案:将Name的set块删除
6、调用方法时,如果想给方法传递任意个数的参数时,应选用哪个关键字()
A:ref
B:out
C:params
D:无特殊要求
答案:params
7、下面哪个关键字不是用来修饰方法的参数?()
A:ref
B:params
C:out
D:in
答案:in
8、在定义类时,如果希望类的某个方法能够在派生类中进一步改进,已处理不同的派生类的需要,则该将方法声明成()
A:sealed方法
B:.public方法
C:virtual方法
D:override方法
答案:virtual方法
9、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了()
A:只读属性
B:只写属性
C:读写属性
D:不可读不可写的属性
答案:不可读不可写的属性
第六章单元测试
1、以下类MyClass的定义中,____是合法的抽象类。()
A:abstractclassMyClass{publicabstractintgetCount();}
B:abstractclassMyClass{publicvirtualabstractintgetCount();}
C:abstractclassMyClass{privateabstractintgetCount();}
D:abstractclassMyClass{publicstaticabstractintgetCount();}
答案:abstractclassMyClass{publicabstractintgetCount();}
2、面向对象编程中的“继承”的概念是指()
A:对象之间通过消息进行交互
B:派生自同一个基类的不同类的对象具有一些共同特征
C:对象的内部细节被隐藏
D:派生类对象可以不受限制地访问所有的基类对象
答案:派生自同一个基类的不同类的对象具有一些共同特征
3、调用重载方法时,系统根据_来选择具体的方法。()
A:方法名
B:参数的个数和类型
C:参数名及参数个数
D:方法的返回值类型
答案:参数的个数和类型
4、以下说法正确的是()
A:虚方法必须在派生类中重写,抽象方法不需要重写
B:虚方法可以在派生类中重写,抽象方法必须重写
C:虚方法必须在派生类中重写,抽象方法必须重写
D:虚方法可以在派生类中重写,抽象方法也不需要重写
答案:虚方法可以在派生类中重写,抽象方法必须重写
5、下列关于继承说法中,哪个选项是正确的()
A:派生类可以继承多个基类的方法和属性。
B:派生类必须通过base关键字调用基类的构造函数
C:继承最主要的优点是提高代码性能
D:继承是指派生类可以获取其基类特征的能力。
答案:继承是指派生类可以获取其基类特征的能力。
6、下面关于虚方法说法错误的是:()
A:使用virtual关键字修饰虚方法
B:虚方法必须被其子类重写
C:虚方法可以有自己的方法体
D:虚方法和抽象方法都可以实现多态性
答案:虚方法必须被其子类重写
7、在C#中,一个类()
A:可以继承多个类
B:可以实现多个接口
C:在一个程序中只能有一个子类
D:只能实现一个接口
答案:可以实现多个接口
8、在C#中,一个类可以继承于多个类、多个接口。()
A:对
B:错
答案:错
9、显式接口成员只能通过接口来调用()
A:对
B:错
答案:对
10、关于多态,下列说法正确的是()
A:多态实际上就是重载,它们本质上是以一样的
B:多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调用成员方法的哪个版本。
C:编译时多态是在程序运行时才能确定要调用成员方法的哪个版本,而运行时多态在编译时就能确定要调用成员方法的哪个版本。
D:多态和重载是两个完全不同的概念,前者是通过定义虚方法和重写虚方法来实现,后者是通过对同一函数名编写多个不同的实现代码来实现。
答案:多态可以分为编译时多态和运行时多态。前者的特点是在编译时就能确定要调用成员方法的哪个版本,后者则是在程序运行时才能确定要调用成员方法的哪个版本。
第七章单元测试
1、以下关于C#的异常处理的叙述中,正确的是()
A:一个try块后面只能跟随一个catch块
B:在try…catch…finally块中,当发生异常时只执行相应catch块中的语句,不会执行finally块
C:throw语句中必须指出抛出的异常
D:try块后面必须跟catch块或finally块组合使用,不能单独使用
答案:try块后面必须跟catch块或finally块组合使用,不能单独使用
2、以下关于try…catch…finall语句的叙述中,正确的是()
A:catch块可以有多个
B:finally块最多只能有一个
C:catch块和finally块都是可选的
D:可以只有try块,没有catch块和finally块
答案:catch块可以有多个
finally块最多只能有一个
catch块和finally块都是可选的
3、用户定义的异常应该从____类中继承。()
A:ArgumentException
B:IOException
C:SystemException
D:Exception
答案:Exception
4、异常捕获发生在_块中?()
A:try
B:catch
C:finally
D:throw
答案:catch
5、C#中,在方法MyFunc内部的try..catch语句中,如果在try代码块中发生异常,并且在当前的所有catch块中都没有找到合适的catch块,则()
A:NET运行时忽略该异常
B:NET运行时马上强制退出该程序
C:.NET运行时继续在MyFunc的调用堆栈中查找提供该异常处理的过程
D:NET抛出一个新的“异常处理未找到”的异常
答案:NET抛出一个新的“异常处理未找到”的异常
第八章单元测试
1、ListBox控件用于显示一个选项列表,用户每次只能从中间选择一项()
A:对
B:错
答案:错
2、当运行窗体程序时,系统自动执行启动窗体的()事件。()
A:Click
B:DoubleClick
C:Load
D:Activated
答案:Load
3、窗体中有一个年龄文本框txtAge,下面()代码可以获得文本框中的年龄值。()
A:intage=txtAge;
B:intage=txtAge.Text;
C:intage=Convert.ToInt32(txtAge.Text);
D:intage=int.Parse(txtAge.Text);
答案:intage=Convert.ToInt32(txtAge.Text);
intage=int.Parse(txtAge.Text);
4、()控件组合了TextBox控件和ListBox控件的功能。()
A:ComboBox
B:Label
C:ListView
D:DomainUpDown
答案:ComboBox
5、利用文本框的()属性,可以实现密码框的功能。()
A:Password
B:Passwords
C:PasswordChar
D:PasswordChars
答案:PasswordChar
6、下列控件中,不能实现多项选择功能的是()
A:ListBox
B:ComboBox
C:CheckBox
D:CheckedListBox
答案:ComboBox
7、为菜单添加快捷键的属性是()
A:ShortcutKeys
B:Keys
C:MenuKeys
D:MenuShortcutKeys
答案:ShortcutKeys
8、设置需要使用的弹出式菜单的窗体或控件的()属性,即可激活弹出式菜单。()
A:MenuStrip
B:ContextedMenu
C:ContextMenuStrip
D:ContextedMenuStrip
答案:ContextMenuStrip
9、若要显示消息框,必须调用MessageBox类的静态方法()
A:Show
B:ShowDialog
C:ShowBox
D:ShowMessage
答案:Show
10、用户单击”消息框”按钮时返回()值。()
A:DialogValue
B:DialogBox
C:DialogCommand
D:DialogResult
答案:DialogResult
第九章单元测试
1、在ADO.NET中,用来与数据源建立连接的对象是()
A:Connection对象
B:Command对象
C:DataAdapter对象
D:DataSet对象
答案:Connection对象
2、使用Command对象的()方法,可执行不返回结果的命令,常用于记录的插入、删除、更新等操作。()
A:ExecuteReader
B:ExecuteScalar
C:ExecuteNonQuery
D:ExecuteXmlReader
答案:ExecuteNonQuery
3、通常情况下,DataReader对象在内存中保留()数据。()
A:多行
B:两行
C:一行
D:零行
答案:一行
4、若把数据集(DataSet对象)中的数据更新到数据源,则应该使用()对象的update方法。()
A:Connection
B:Command
C:DataAdapter
D:DataSet
答案:DataAdapter
5、已知:DataSetdata=newDataSet();则删除数据集data中person数据表的第5行数据的方法为()
A:data.Tables["person"].Rows[5].Delete();
B:data.Tables["person"].Rows.Delete(5);
C:data.Tables["person"].Rows[4].Delete();
D:data.Tables["person"].Rows[].Delete(4);
答案:data.Tables["person"].Rows[4].Delete();
6、DataReader对象的()方法用于从查询结果中读取行。()
A:Next
B:Read
C:NextResult
D:Write
答案:Read
7、
在对SQLServer数据库操作时应选用()
A:SQLServer.NETFrameWork数据提供程序
B:OLEDB.NETFrameWork数据提供程序
C:ODBC.NETFrameWork数据提供程序
D:Oracle.NETFrameWork数据提供程序
答案:SQLServer.NETFrameWork数据提供程序
OLEDB.NETFrameWork数据提供程序
ODBC.NETFrameWork数据提供程序
8、在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是()
A:insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行
B:ExecuteNonQuery()方法返回执行Sql语句所影响的行数
C:Select操作的Sql语句只能由ExecuteReader()方法来执行
D:ExecuteReader()方法返回一个DataReder对象
答案:Select操作的Sql语句只能由ExecuteReader()方法来执行
还木有评论哦,快来抢沙发吧~