C#程序设计复习题.docx
《C#程序设计复习题.docx》由会员分享,可在线阅读,更多相关《C#程序设计复习题.docx(20页珍藏版)》请在冰豆网上搜索。
C#程序设计复习题
《C#程序设计》复习题
一、选择题
1、C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种______。
A)面向过程程序设计语言B)面向对象程序设计语言
C)跨平台程序设计语言D)机器语言
2、C#应用程序中,导入其他系统预定义元素部分可以使用关键字______。
A)useB)namespaceC)importD)using
3、命名空间是一种在程序中防止标识符命名冲突而引入的逻辑隔离机制,C#中使用关键字______表示,
A)usingB)spacenameC)classD)namespace
4、C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为______。
A)classB)mainC)MainD)MainWay
5、在C#的Windows应用程序中,无论哪种控件,共同具有的是______属性。
A)TextB)NameC)ForColorD)Caption
6、C#程序中用到的数据分为两个大类,它们是______。
A)值类型和引用类型B)整型和实型
C)数值类型和字符类型D)简单类型和复杂类型
7、C#语言中,基本整型数据类型(int)所占用的存储空间为______个字节
A)1B)2C)4D)8
8、在程序中如果要使用系统保留字(关键字)作为自定义的标识符,必须使用字符______作为引导符。
A)@B)$C)#D)~
9、下面所列C#标识符中,错误的是______。
A)myidB)intC)@ifD)_int
10、C#中所有字符都是使用______。
A)Unicode编码B)UTF-8编码C)UTF-16编码D)GBK编码
11、当变量x的值在[1,100]范围内时,下面的C#表达式返回值为“真”的是______。
A)1<=x<=100B)x>=1||x<=100C)x>1&&x<100D)x>=1&&x<=100
12、下面的C#表达式中,描述了数学关系x>=y>=z的是______。
A)(x>=y)AND(y>=z)B)(x>=y)&&(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)
13、当变量x的值在[1,10]或[200,210]范围内时,下列C#表达式返回值为“真”的是______。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B)(x>=1)||(x<=10)||(x>=200)||(x<=210)
C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)
14、设有C#语句:
inta=5,b=4;则下列表示条件的表达式中值为“假”的是______。
A)(a>b)&&(b>0&&a>0)B)(b>=0)&&(a<=b?
A+b:
a-b)>0
C)a>0&&!
(b>0)D)(a<=0)||(a%b>0)
15、执行C#语句序列:
inti;for(i=0;i++<4;);后,变量i的值是______。
A)5B)4C)1D)0
16、在默认的情况下,省略的类访问修饰符是______。
A)privateB)publicC)protectedD)internal
17、在下面的类声明中,属于私有字段的是______:
classPerson
{
publicstringname;
publicstringsex;
privateintage;
doubleweight;
}
A)namesexB)ageC)weightD)ageweight
18、类的属性中,能够修改字段值的代码块是______。
A)get代码块B)set代码块C)find代码块D)modification代码块
19、下列类定义代码,当用来声明对象car,并用Carcar=newCar();实例化后,可以通过car对象直接赋值的字段是______。
publicclassCar
{
publicstringtype;
stringNo;
privateintheavy;
doublespeed;
protectedstringowner;
publicstringprice;
privatestringcolor;
}
A)type,NoB)heavy,ownerC)type,owner,priceD)type,price
20、要计算5的7次方,可以利用System.Math类提供的静态方法是______。
A)BigMulB)AtanC)PowD)Sqrt
21、执行doublex=Math.Ceiling(-3.75)语句,x的值为______。
A)4B)-4C)3D)-3
22、通过String类的方法,将stringstr1=”MICROSOFTVISUALSTUDIO2008”转换成”microsoftvisualstudio2008”,正确的语句是______。
A)str1.ToLower()B)str1.ToUpper()C)str1.ToUpperD)str1.ToLower
23、执行下面的代码,表述正确的是______。
Randomrd=newRandom();
inta=rd.Next(0,5);
Console.WriteLine(a);
A)a的值始终介于0到5之间,但不能是5
B)a的值始终介于0到5之间,但不能是5和0
C)a的值始终介于0到5之间,但不能是0
D)a的值始终介于0到5之间,包含0和5
24、下面所列选项中,不能正确定义并初始化一维数组b的是______。
A)double[]b=newdouble[5]{1,2,3,4,5};B)double[]b=newdouble[]{1,2,3,4,5};
C)double[]b={1,2,3,4,5};D)double[]b=new{1,2,3,4,5};
25、下面所列选项中,不能正确定义并初始化二维数组a的是______。
A)int[,]a=newint[2,3]{{1,2,3},{4,5,6}};B)int[,]a=newint[,]{{1,2,3},{4,5,6}};
C)int[,]a=newint[,]{1,2,3,4,5,6};D)int[,]a={{1,2,3},{4,5,6}};
26、设有C#数组定义语句:
int[]a=newint[5];对数组a的正确引用是______。
A)a[5]B)a[100-100]C)a(0)D)a+1
27、设有C#数组定义语句:
double[]myArr;myArr=newdouble[10];数组元素myArr[5]的值是______。
A)0B)’0’C)mullD)随机数
28、设有C#数组定义语句:
float[,]a=newfloat[5,5];对数组a元素的正确引用是______。
A)a[3][2]B)a[4,5]C)a[5,0]D)a[0,0]
29、要使窗体启动时位于屏幕中央,应该设置窗体的StartPosition属性为______。
A)CenterScreenB)WindowsDefaultBounds
C)CenterParentD)WindowsDefaultLocation
30、卸载窗体的操作命令应为______。
A)Move()B)Hide()C)Load()D)Dispose()
31、要使图片在PictureBox中按原大小完整显示,应设置SizeMode属性为______。
A)AutoSizeB)StretchImageC)CenterImageD)Zoom
32、Label控件的边框样式由______属性决定。
A)FlatStyleB)BorderStyleC)BackColorD)AutoSize
33、使用______方法可以把一个字符串数组的内容全部添加到ListBox控件中。
A)Add()B)Remove()C)Clear()D)AddRange()
34、访问组合框的______属性,可以获得用户在组合框中输入或选择的数据。
A)TextB)ItemDataC)SelectedIndexD)SelectedValue
35、通过SaveFileDialog对话框保存文件时,默认的初始路径由______属性决定。
A)FilterB)InitialDirectoryC)ModifiersD)Tag
36、如果ColorDialog的______属性为True,颜色对话框则以包含调色板(规定自定义颜色)的扩展形式打开。
A)AnyColorB)FullOpenC)ModifiersD)AllowFullOpen
37、下列对象中,不可能添加到状态栏上的是______。
A)ComBoxB)StatusLabelC)ProgressBarD)DropDownButton
38、在下列字形(FontStyle)中,不能通过FontDialog设置的是______。
A)BoldB)DottedC)ItalicD)Underline
39、DirectoryInfo类的实例对象用于获得指定目录下所有文件的方法是______。
A)GetDirectoriesB)GetFilesC)GetHashCodeD)GetObjectData
40、FileStream类是设计用于处理文件输入输出操作中的______的。
A)字节流B)字符流C)二进制流D)数值流
41、使用StreamReader对象的______方法,可以一次性读取指定文件的全部内容。
A)Read()B)ReadBlock()C)ReadLine()D)ReadToEnd()
42、通过FileStream对象创建新的文件,如果选择FileMode为______,则在指定的文件名已存在时将其覆盖。
A)TruncateB)OpenC)CreateNewD)Create
43、使用画笔在窗体上绘制各种样式的直线或曲线时,下列命名空间可以不引用的是______。
A)System.DrawingB)System.Drawing.Drawing2D
C)System.Windows.FormD)System.IO
44、为了能在绘图表面绘制文字,不可缺少的命名空间引用是______。
A)System.DataB)System.Text
C)System.DrawingD)System.ComponentModel
45、以下控件中,没有DataSource属性,不能通过BindingSource组件实现数据绑定的是______。
A)ListBox
B)CheckedListBox
C)ComboBox
D)DataGridView
46、以下关于DataSet对象的说法中错误的是______。
A)使用DataSet对象可以直接显示或访问数据库中的数据
B)DataSet通过DataAdapter对象从数据库获取数据
C)DataSet从数据源获得数据之后,便立即与数据源断开
D)DataSet需要保存更新的数据时,与数据源建立临时连接,完成更新后再次断开
47、MicrosoftAccess数据库文件的扩展名是______。
A).accB).dbfC).mdbD).xls
48、表示Web应用程序当前网页所在目录物理路径的是______。
A)Server.MapPath(“/”)B)Server.MapPath(“./”)
C)Server.MapPath(“../”)D)Server.MapPath(“~/”)
49、ListBox控件用来提供数据源指定字段值的属性是______。
A)DataMemberB)DataSourceIDC)DataTextFieldD)DataValueField
50、下列关于Web服务器控件的HTML标记描述中,错误的是______。
A)控件类型前面都具有前缀asp:
B)都以ID代表控件名称
C)都必须明确规定runat=”server”D)都必须明确规定AutoPostBack=”True”
二、填空题
1、一个c#程序可以存放在一个源程序文件中,也可以存放在多个源程序文件中。
一个源程序文件中可以有一个或多个类,而且_允许_将一个类拆散存放在不同的源程序文件中。
2、为源程序文件命名__不受_类名限制。
3、在C#语言中,值类型数据对象占用的存储空间大小相对固定,在其所占存储空间中直接存储该类数据对象所具有的_值__。
4、在C#语言中,引用类型数据对象占用的存储空间大小随需要而定,该类数据对象并不真正表示自己所具有的内容,而是表示自己内容所在存储区域的_引用_。
5、break语句是一条限定转移语句,只能在__switch语句结构和循环结构中_____使用。
6、continue语句是一条限定转移语句,只能在___循环结构的循环体中____使用。
7、如果访问修饰符使用____public____,则将类的访问类型指定为公共的,被声明的类可以在其他的项目中使用。
8、类的成员包括数据成员和方法成员,使用____数据成员___可以实现对数据成员的良好封装。
9、表示x是5或7的倍数的表达式是______________________________。
10、计算字符串变量A和B的总长度的表达式是_________________________。
11、无论是一维数组、多维数组,还是不规则数组,在C#语言中对数组的定义分为两个步骤:
定义数组变量;数组变量_______。
12、数组在定义时可以进行初始化,即在定义数组时为其指定初始值。
C#语言中规定,初始化值序列中的数据个数___________________。
13、窗体的标题栏显示的内容由窗体对象的_________属性决定。
14、仅当_________属性为true的情况下,TextBox控件才能显示出垂直滚动条。
15、若要使Button控件暂时失效,可以将它的________属性设置为false。
16、程序运行期间,使文本框Box1获得焦点的语句是__________;
17、程序运行期间,可通过访问__________属性,获得用户在文本框中内选择的部分文本。
18、要撤销在RicTextBox控件中刚刚执行过的一项操作,应调用__________方法。
19、下拉菜单中一个特定选项的快捷键(组合键)是通过__________属性设置的。
20、在Windows窗体应用程序中,由具体对象的___________属性决定与哪个上下文菜单(弹出菜单)相关联。
21、File类用于判断指定文件是否存在的方法是__________。
22、利用StreamWriter对象的___________方法,可以强制将写缓冲区内容存入文件,并清空缓冲区,准备继续写操作。
23、GDI+用于绘制空心图形的类是________,用于填充封闭图形区域的类是__________。
24、调用_____________方法在绘图对象上绘制文本时,程序中必须引用System.________命名空间。
25、DataReader对象以__________、__________的方式从数据库中获得数据结果。
26、DataAdapter对象用于填充DataTable对象的方法是_________,用于更新DataTable对象的方法是___________。
27、调用____________方法,可以在当前DataTable对象的末尾追加一个新行。
28、DataTable对象的Rows属性用来插入单个数据行的方法是________,用来删除指定的单个数据行的方法是________.
29、在前台网页文件的Page指令中,用于指示后台代码文件的选项是____________。
30、ListBox显示在网页上时,它的列表框中显示的内容是_______________属性的值。
三、简答题
1、简述创建一个C#Windows窗体应用程序的步骤。
(P9)
2、Console.Write()方法和Console.WriteLine()方法有何异同?
(P47)
3、简述在C#类定义中声明属性的一般语法形式。
(P77)
4、何谓“命名空间”,在C#中如何声明和引用(导入)命名空间?
(P93-94)
5、在多窗体应用程序设计中,如何添加新窗体?
如何设置启动窗体?
(P153-154)
6、在窗体应用程序设计中,如何给对象设置“访问键(热键)”和“快捷键(组合键)”?
(P190)
7、从使用的角度,试比较File类和FileInfo类的异同,比较Directory类和DirectoryInfo类的异同。
(P206-207、P210)
8、简述使用Graphics对象绘制图形和文本的步骤。
(1)创建Graphics对象。
(2)创建绘图工具。
(3)使用Graphics类提供的方法绘图。
(4)清理Graphics对象
9、简述使用DataSet对象和DataAdapter对象在访问数据库时两者的关系。
(P280)
10、简述Web应用程序的基本文件结构。
(P303)
四、程序设计题
1、创建一个Windows窗体应用程序,程序中包含两个窗体,程序运行时首先加载第一个窗体,单击“显示第二个窗体”按钮时,隐藏第一个窗体,显示第二个窗体;当单击“显示第一个窗体”按钮时,隐藏第二个窗体,显示第一个窗体。
要求完成:
(1)在下表中填写窗体控件的设计概况
控件对象(Name)
属性名
属性值
form1
Text
第一个窗体
(2)在下列事件中完成程序代码:
privatevoidform1_butn_Click(objectsender,EventArgse)
{
}
privatevoidform2_butn_Click(objectsender,EventArgse)
{
}
2、创建Windows窗体应用程序,在程序启动时将数据选项添加到组合框中(不允许以交互方式输入另外的选项),单击列表框中的任一选项之后,在标签控件中显示出自己最喜爱的一位运动员,效果如下图:
要求完成:
(1)在下表中填写窗体控件的设计概况
控件对象(Name)
属性名
属性值
label1
Text
请选择一位您最喜欢的运动员
(2)在下列事件中完成程序代码:
privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse)
{
}
privatevoidForm1_Load(objectsender,EventArgse)
{//禁止在文本编辑框输入数据的组合框样式
}
3、设计如下图所示的窗体程序,单击“浏览”按钮,通过“打开”对话框,以交互方式选定一个文件,然后在多行文本框中显示选定文件的文件名、路径、长度、创建时间、访问时间、修改时间、文档属性等信息。
要求完成:
(1)在下表中填写窗体控件的设计概况
控件对象(Name)
属性名
属性值
label1
Text
选择文件
(2)在下列事件中完成程序代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
OpenFileDialogopenFile=newOpenFileDialog();
DialogResultresult=openFile.ShowDialog();
if(result==DialogResult.OK)
{
FileInfoinfo=newFileInfo(openFile.FileName);
richTextBox1.Text+="文件名称:
"+info.Name+"\n";
richTextBox1.Text+="完整路径:
"+info.FullName+"\n";
richTextBox1.Text+="文件长度:
"+info.Length+"\n";
richTextBox1.Text+="创建时间:
"+info.CreationTime+"\n";
richTextBox1.Text+="上次访问时间:
"+info.LastAccessTime+"\n";
richTextBox1.Text+="上次写入时间:
"+info.LastWriteTime+"\n";
richTextBox1.Text+="文件基本属性:
"+info.Attributes+"\n";
}}
4、设计下图所示的窗体程序,可以完成指定文件夹下的所有文件复制到指定文件夹中,并在多行文本框中显示复制信息。
要求完成:
(1)在下表中填写窗体控件的设计概况
控件对象(Name)
属性名
属性值
label1
Text
源文件夹绝对路径
(2)在下列事件中完成程序代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
DirectoryInfosource=newDirectoryInfo(textBox1.Text);
DirectoryInfodestination=newDirectoryInfo(textBox2.Text);
if(!
destination.Exists)
destination.Create();
foreach(FileInfofinsource.GetFiles())
{
f.CopyTo(destination.FullName+"\\"+f.Name,true);
listBox1.Items.Add(f.Name+"被复制\n");
}
listBox1.Items.Add("复制完成");
}
5、创建Wind