C#习题.docx
《C#习题.docx》由会员分享,可在线阅读,更多相关《C#习题.docx(34页珍藏版)》请在冰豆网上搜索。
C#习题
一、填空题(每空2分,共20分)
1.C#的数据类型从数据存储的角度讲,则可分为_数值类型__、_引用类型__和指针类型。
2.在数据类型中,浮点型包括单精度和_双精度__两种。
3.如果不带修饰符,C#中类成员被默认声明为public类型。
4.main函数可以看作程序的入口,程序的控制从这个方法开始。
5.C#中的三元运算符是__条件运算符(:
?
)___。
6.在C#中,使用const关键字声明符号常量。
7.调用DataAdapter对象的Fill方法方法填充数据集。
8.C#中有两个逻辑常量:
分别是True和False。
9.声明类之后,通过new创建类的实例,它是一个引用类型的变量。
10.c#中的三元运算符是_条件运算符(:
?
)_____。
11.当整数a赋值给一个object对象时,整数a将会被新分配一个内存单元。
12.C#有两种类型的常量:
_成员常量__和只读常量。
13.菜单一般可分为_主菜单__和上下文菜单(又称快捷菜单)两种。
14.在C#中,根据打开的多个窗体之间是否存在相互制约关系,可将窗体的显示模式分为__Form.Show()_窗体和_Form.ShowDialog()__窗体。
15.在if语句中,每个else关键字与它前面同层次并且最接近的if关键字相配套。
16.main函数可以看作程序的入口,程序的控制从这个方法开始。
17.元素类型为double的4行6列的二维数组共占用192字节的存储空间。
18.当整数a赋值给一个object对象时,整数a将会被新分配一个内存单元。
19.C#中有两个逻辑常量:
分别是True和False。
20.C#的数据类型从数据存储的角度讲,则可分为数值类型_、引用类型_类型。
21.在数据类型中,浮点型包括单精度和双精度两种。
22.窗体控件默认的事件是。
23.可以将数据源中的数据与控件的属性关联起来,这称为。
24.若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行10次后正常结束。
25.在C#中,装箱操作是将值类型转化成引用类型。
26.usingnamespace的作用是表示引用命名空间。
27.ADO.NET使用System.Data.SqlClient命名空间的类访问SQLServer数据库中的数据。
28.为打开文件“C:
\Winnt\Win.txt”进行读写操作,首先应该创建FileInfo类的实例。
29.在C#中,根据打开的多个窗体之间是否存在相互制约关系,可将窗体的显示模式分为(_Form.Show()窗体和Form.ShowDialog())窗体。
30.在if语句中,每个else关键字与它前面同层次并且最接近的if关键字相配套。
31.当在程序中执行到continue语句时,将结束本层循环类语句或switch语句的执行。
32.ADO.NET使用System.Data.SqlClient命名空间的类访问SQLServer数据库中的数据。
33.窗体控件默认的事件是。
34.运算符按操作数的个数可分为一元运算符、二元运算符和三元运算符。
35.添加到窗体的每个组件,如Button、TextBox等,都称为控件。
36.若要在同一窗体中安排两组单选按钮,可用combox控件予以分隔。
37.在switch语句中,每个语句标号所含关键字case后面的表达式可以是整型、字符型。
38.定义结构体的关键字是struck。
39.面向对象的语言具有_封装_性、_继承_性、__多态_性。
40.为打开文件“C:
\Winnt\Win.txt”进行读写操作,首先应该创建FileInfo类的实例。
41.在ADO.NET中,用来与数据源建立连接的对象是Connection对象。
42.按钮控件默认的事件是。
43.循环语句“for(inti=20;i>=9;i=i-3)”的循环次数为_4___。
44.用来存储和显示图像的控件是Image控件。
45.若要在同一窗体中安排两组单选按钮,可用combox控件予以分隔。
46.当在程序中执行到continue语句时,将结束所在循环语句中循环体的一次执行。
47.C语言是一种面向过程的语言,而C#是面向对象的语言。
48.在ADO.NET中,用来与数据源建立连接的对象是Connection对象。
49.如果类不含任何实例构造函数,系统会自动为其提供一个默认的参实例的构造函数。
50.C#语言规定变量在使用前必须先定义变量类型。
51.菜单一般可分为主菜单和上下文菜单(又称快捷菜单)两种。
52.元素类型为double的4行6列的二维数组共占用192字节的存储空间。
53.按钮控件默认的事件是。
54.用来存储和显示图像的控件是Image控件。
55.Connection对象负责建立与数据库的连接,它使用方法建立连接。
56.添加到窗体的每个组件,如Button、TextBox等,都称为控件。
57.在C#中,将文本框TextBox1清空,可用语句表示为textBox1.Text="";。
58.用鼠标右击一个控件时出现的菜单一般称为菜单。
59.元素类型为int的10个元素的数组共占用字节的存储空间。
60.C#编写程序时,程序的入口是main函数。
61.定义枚举的关键字是enum。
62.面向对象的语言具有___性、封装性、___性。
63.在C#中,将文本框TextBox1清空,可用语句表示为textBox1.Text="";。
64.已知:
doublex=4.3%1.7;则x的值是___。
65.C#中用关键字class创建类,使用关键字new创建类的对象并调用构造函数。
66.在数据类型中,浮点型包括单精度和_双精度__两种。
67.C#的数据类型从数据存储的角度讲,则可分为__数值类型__、_引用类型__.
68._、___。
69.C#有两种类型的常量:
成员常量和只读常量。
70.在C#标准控件中,有文本框和列表框组合在一起形成的控件称为。
二、单项选择题(每题2分,共30分)
1.C#语言取消了(B)语法。
A.循环B.指针C.判断D.数组
2.以下类MyClass的属性count属于(A)属性。
classMyClass
{inti;
intcount{get{returni;}}
}
A.只读B.只写C.可读写D.不可读不可写
3.(A)语句只能在循环语句的循环体语句序列中使用。
A.breakB.gotoC.returnD.continue
4.在C#应用程序中,一般在程序的开头使用关键字(B)来引入命名空间。
A.classB.usingC.inD.this
5.异常处理使用时,一般将可能出现异常的语句放在(B)代码块中。
A.click
B.catch
C.try
D.show
6.WinForms程序中,如果复选框控件的Checked属性值设置为True,表示(A)。
A.该复选框被选中B.该复选框不被选中
C.不显示该复选框的文本信息D.显示该复选框的文本信息
7.在ADO.NET中,SqlConnection类所在的命名空间是(D)。
A.SystemB.System.Data
C.System.Data.OleDbD.System.Data.SqlClient
8.下面哪个类是用来以字节格式读写文件(A)。
A.FileStream类B.StreamReader类C.BinaryWriter类D.BinaryReader类
9.C#程序从上机到得到结果的几个操作步骤依次是(A)。
A.输入、编辑、运行B.编译、连接、运行
C.输入、运行、编辑D.编辑、编译、连接
10.下面的转换中不是隐式转换的是(A)
A.int转换成shortB.short转换成longC.char转换成intD.bytes转换成float
11.诸如文本框,组合框,复选框,单选按钮等是从(D)添加到窗体。
A.帮助菜单B.菜单栏C.工具栏D.工具箱
12.针对下面的C#代码,则程序输出为()
namespaceHelloWorld
{
classProgram
{
StaticvoidMain(string[]args)
{
stringstr=“HelloWorld”;
Console.WriteLine(str.YoUpper());
Console.ReadLine();
}
}
}
A.HelloWorldB.HELLOWORLDC.STRD.helloworld
13.在C#中定义一个数组,正确的代码为(B)。
A.intarraya=newint[5];B.int[]arraya=newint[5];
C.intarraya=newint[];D.int[5]arraya=newint;
14.在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(A)。
A.容器控件B.组合控件C.排列控件D.基类控件
10.如果要在窗体中始终显示系统的当前时间,应该使用的控件是(D)。
A.CheckBoxB.PanelC.RadioButtonD.Timer
11.在ADO.NET中用以填充DataSet的对象是(A)。
A.SqlDataAdapterB.SqlConnectionC.SqlCommandD.SqlParameter
12.在类的定义中,类的(B)描述了该类的对象的行为特征。
A.类名B.方法C.所属的名字空间D.私有域
13.OpenFileDialog对话框的哪个属性用于表示对话框显示的初始目录(C)。
A.TitleB.FilterC.InitialDirectoryD.FileName
14.在C#中,表示一个字符串变量应使用以下哪条语句定义(B)
A.Cstringstr;B.stringstr;
C.DimstrasstringD.char*str;
15.C#的数据类型有(B)
A.值类型和调用类型B.值类型和引用类型
C.引用类型和关系类型D.关系类型和调用类型;
16.下面对C#中类的构造函数描述正确的是(D)。
A.与方法不同的是,构造函数只有void这一种返回类型
B.构造函数如同方法一样,需要人为调用才能执行其功能
C.构造函数一般被声明称private型
D.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数
17.类是使用关键字(B)定义的。
A.structB.classC.enumD.string
18.在C#中,可以通过装箱和拆箱实现值类型与引用类型之间相互转换,在下列代码中,有(B)处实现了拆箱。
intage=5;
objecto=age;
o=10;
age=(int)o;
objectoAge=age;
A.0B.1C.2D.3
19.在C#中,(C)访问修饰符修饰的变量只能由当前程序集访问。
A.publicB.protectedC.internalD.private
20.在ADO.NET中,下列属于SqlDataAdapter对象的属性的是(D)
A.SelectCommandB.DeleteCommandC.InsertCommandD.以上全是
21.C#中,新建一字符串变量str,并将字符串”Tom'sLivingRoom”保存到串中,则应该使用下列哪条语句?
(A)
A.stringstr=“Tom\'sLivingRoom”;
B.stringstr=“Tom'sLivingRoom”;
C.stringstr(“Tom'sLivingRoom”);
D.stringstr(“Tom”sLivingRoom”);
22.C#中MyClass为一自定义类,其中有以下方法定义
publicvoidHello(){..}
使用以下语句创建了该类的对象,并使变量obj引用该对象:
MyClassobj=newMyClass();那么,以下访问类MyClass的Hello方法正确的是(A)。
A.obj.Hello();B.obj:
:
Hello();C.MyClass.Hello();D.MyClass:
:
Hello();
23.在C#应用程序中,一般在程序的开头使用关键字(B)来引入命名空间。
A.classB.usingC.inD.this
24.下列关于构造函数的描述正确的是(C)
A.构造函数可以声明返回类型。
B.构造函数不可以用private修饰
C.构造函数必须与类名相同D.构造函数不能带参数
25.C#程序的项目和解决方案的关系是(A)。
A.一个解决方案可包含若干项目B.一个项目可包含若干解决方案
C.两者没有任何关系D.以上均不对
26.在C#中,常数和字段属于(A)。
A.数据成员B.函数成员C.嵌套成员D.控件成员
27.下面对Read()和ReadLine()方法的描述,正确的是(A)。
A.Read()方法一次只能从输入流中读取一个字符
B.使用Read()方法读取的字符不包括回车和换行符
C.ReadLine()方法读取的字符不包括回车和换行符
D.只有当用户按下回车键时,Read()和ReadLIne()方法才会返回
28.用在方法的定义处,以指明该方法不返回任何值的关键字是(C)
A.staticB.stringC.voidD.public
29.在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。
A.只读属性B.只写属性
C.读写属性D.不可读不可写的属性
30.以下关于C#中方法重载的说法正确的是(CD)。
(多选)
A.如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载
B.如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载
C.如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载
D.如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载
31.看代码回答问题
建表如下:
createtablestuInfo
(
stuId intnotnull,
stuNamevarchar(30)notnull,
stuAddressvarchar(30),
)
看下面C#代码填空,要读取表中的第一列数据(已知sqlCmd为SqlCommand对象,sqlReader为SqlDataReader对象):
(D)
While(sqlReader.________)
{
Console.writeLine(sqlReader._________);
}
A.Read() GetInt(0)B.Next() GetValue(0)
C.Read() GetValue
(1)D.Read() GetValue(0)
32.C#源程序文件的默认扩展名为(C)。
A.cppB.exeC.csD.lik
33.设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为(C)。
A.1B.0C.与x值相同D.与x值相反
34.在C#程序中,可使用try…catch机制处理程序中出现的(B)错误。
A.语法B.运行C.逻辑D.拼写
35.以下的C#代码段:
publicstructPerson
{
stringName;
intAge;
}
publicstaticvoidMain()
{
HasbtableA;
PersonB;
//其他处理代码
}
以下说法正确的是(A)。
A.A为引用类型的变量,B为值类型的变量B.A为值类型的变量,B为引用类型的变量
C.A和B都是值类型的变量D.A和B都是引用类型的变量
36.C#程序的项目文件、解决方案文件的扩展名分别是(A)
A.sln、csprojB.cs、resxC.csproj、slnD.resx、cs
37.下列选项中,(C)是引用类型。
A.enum类型B.struct类型C.string类型D.int类型
38.C#语言中单行注释符号是(A)。
A.//B./**/C.&&D.$$
39.用(C)修饰符声明的变量称为静态变量。
A.refB.outC.staticD.switch
40.在ADO.NET中,下列代码运行后的输出结果是(B)
DataTabledt=newDataTable();
dt.Columns.Add(“编号”,typeof(System.Int16));
dt.Columns.Add(“成绩”,typeof(System.Single));
Console.WriteLine(dt.Columns[1].DataType);
A.System.Int16;B.System.Single
C.编号D.成绩
41.在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(A)。
A.容器控件B.组合控件C.排列控件D.基类控件
42.在.NET中,一些数据类型为引用类型,当引用类型的值为(B)时,表明没有引用任何对象。
A.EmptyB.nullC.NothingD.0
43.在WinForm应用程序中,可以通过以下(C)方法使一个窗体成为MDI窗体。
A.改变窗体的标题信息B.在工程的选项中设置启动窗体
C.设置窗体的IsMdiContainer属性D.设置窗体的ImeMode属性
44.C#语言在Console类中提供了两种公共方法向命令提示符窗口输出字符串,其中(D)在输出数据后,还输出回车符和换行符。
45.A.Read()B.ReadLine()C.Write()D.WriteLine()
46.下面哪个不是合法的标识符(C)。
47.A.AbcB.abcC.7abcD.L123
48.以下标识符中不全是C#关键字的是(B)。
A.caseforintB.defaultthenwhile
C.boolclasslongD.gotoifchar
49.分析下列程序:
publicclassclass4
{
privatestring_sData=““;
publicstringsData{set{_sData=value;}}
}
在Main函数中,在成功创建该类的对象obj后,下列哪些语句是合法的?
(D)
A.obj.set(obj.sData);B.Console.WriteLine(obj.sData);
C.obj._sData=100;D.obj.sData=“Itisfunny!
”;
50.下面哪个不是C#语言的跳转语句(D)。
A.break语句B.goto语句C.return语句D.for语句
51.在C#中设计时,如何将一个可读写的公有属性Name修改为只读属性。
(C)
A.为Name添加修饰符B.将Name的set块置空
C.将Name的set块删除D.在Name的set块前添加修饰符private
52.下面对Read()和ReadLine()方法的描述,正确的是(A)。
A.Read()方法一次只能从输入流中读取一个字符
B.使用Read()方法读取的字符不包括回车和换行符
C.ReadLine()方法读取的字符不包括回车和换行符
D.只有当用户按下回车键时,Read()和ReadLIne()方法才会返回
53.在C#中定义一个数组,正确的代码为(B)。
A.intarraya=newint[5];B.int[]arraya=newint[5];
C.intarraya=newint[];D.int[5]arraya=newint;
54.在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(B)。
A.容器控件B.组合控件C.排列控件D.基类控件
55.关于C#语言的基本语法,下列哪些说法是正确的?
(A)
A.C#语言使用using关键字来引用.NET预定义的命名空间
B.C#语言中使用的名称不区分大小写
C.C#中一条语句必须写在一行内
D.C#语言支持保护派生
56.在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。
A.只读属性B.只写属性
C.读写属性D.不可读不可写的属性
57.在VisualStudio.NET窗口中,在(A)窗口显示了当前VisualStudio解决方案的树型结构。
A.解决方案资源管理器B.类视图C.资源视图D.属性
58.C#语言在Console类中提供了两种公共方法向命令提示符窗口输出字符串,其中(D)在输出数据后,还输出回车符和换行符。
59.A.Read()B.ReadLine()C.Write()D.WriteLine()
60.9.下面哪个不是合法的标识符(C)。
61.A.AbcB.abcC.7abcD.L123
62.程序运行过程中发生的错误,叫作(C).
A.版本B.断点C.异常D.属性
63.在.NET的WinForms程序中,可以使用(C)对象来连接和访问数