《Windows编程C#》考试复习资料Word文档格式.docx
《《Windows编程C#》考试复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《《Windows编程C#》考试复习资料Word文档格式.docx(40页珍藏版)》请在冰豆网上搜索。
星期六"
,聚餐"
星期日"
,逛街"
default:
Console.WriteLine("
,睡觉"
5.分析下面这段代码,执行后count的值为()
inti,j,count=0;
for(i=0;
i<
4;
i++)
for(j=0;
j<
6;
j++){count++;
A.15B.24C.20D.21
6.程序运行后的输出结果是()
A)1,1,2B)2,2,1C)1,3,2D)2,2,3
{inti=1,j=2,k=2;
if(j++>
0||k++>
0&
&
i++>
0)
{0},{1},{2}"
i,j,k);
7.若想打印如下图案,下面代码划线处应分别填入()。
***
inti=1,j;
while(i<
)
{for(j=0;
;
j++){Console.Write(“*”);
Console.WriteLine();
i++;
A.33B.44C.34D.43
8.以下代码运行后显示的结果是()。
stringmyGrade="
S1"
stringyourGrade="
Console.WriteLine(myGrade==yourGrade);
Console.WriteLine(myGrade.Equals(yourGrade));
A.TrueB.FalseC.TrueD.False
FalseTrueTrueFalse
9.程序运行后的输出结果是()
A)5B)4C)6D)不确定
{inta=5,b=4,c=6,d;
d=a>
b?
(a>
c?
a:
c):
(b);
d);
10.运行下面这段代码,将()
{
intmile=0;
Run(mile);
Console.WriteLine(mile);
privatestaticvoidRun(refintmile)
mile=mile+80;
A.输出:
800B.输出:
800C.输出:
0D.编译出错
0800800
11.用户单击消息框(MessageBox)的按钮时的返回值是()类型的。
A.DialogValueB.DialogBoxC.MessageResultD.DialogResult
12.有以下程序段,其输出结果是()
intx=3;
do{Console.Write("
{0}\t"
x-=2);
}while((--x)==0);
A)1B)30C)1-2D)死循环
13.图1-1窗体中,不包含()控件。
A.TextBoxB.ComboBoxC.PanelD.Button
14.()控件用于显示多个选项卡,每个选项卡均可包含图片和其他控件。
A.TabControlB.GroupBoxC.ImageListD.ListBox
15.有以下程序段,其输出结果是()
while((--x)==0){Console.Write("
}
A)不执行循环体B)1C)0D)死循环
16.下面()可以显示一个模式窗体。
A.Application.Run(newForm1());
B.Form1.Show()
C.Form1.ShowDialog()D.MessageBox.Show()
17.如果想建立应用程序与数据库的连接,应该使用()对象。
A.ConnectionB.CommandC.DataReaderD.DataAdapter
18.以下叙述正确的是()
A)do-while语句构成的循环不能用其他语句构成的循环来代替
B)do-while语句构成的循环只能用break语句退出
C)do-while语句构成的循环,在while后的表达式为真时结束循环
D)do-while语句构成的循环,在while后的表达式为假时结束循环
19.下面的代码在执行过程中,注释标注的地方出现了异常,将显示()消息框。
A.执行了catchB.执行了catch,执行了finally
C.执行了try,执行了finallyD.执行了finally
try
{//...异常代码
MessageBox.Show("
执行了try"
catch(Exceptione)
{MessageBox.Show("
执行了catch"
finally
执行了finally"
20.某超市管理系统的数据库中有一个商品信息表,若想向数据表中添加一条商品信息,应使用Command对象的()方法。
A.ExecuteScalar()B.ExecuteReader()C.ExecuteQuery()D.ExecuteNonQuery()
21.以下循环体的执行次数是()
A)3B)2C)1D)0
{inti,j;
for(i=0,j=1;
=j+1;
i+=2,j--)
{Console.WriteLine("
i);
22.利用Command对象的ExecuteNonQuery()方法执行INSERT、UPDATE或DELETE语句时,返回()。
A.True或FalseB.1或0C.受影响的行数D.-1
23.在ADO.NET中,对于Command对象的ExecuteReader()方法和ExecuteNonQuery()方法,下面叙述错误的是()
A.INSERT、UPDATE或DELETE等操作的SQL语句主要用ExecuteNonQuery()方法来执行
B.ExecuteNonQuery()方法返回执行SQL语句所影响的行数
C.SELECT操作的SQL语句只能由ExecuteReader()方法来执行
D.ExecuteReader()方法返回一个DataReader对象
24.以下程序的输出结果是()
A)10192B)9876
C)10990D)101091
{intx=10,y=10,i;
for(i=0;
x>
8;
y=++i)
{Console.Write("
{0}{1}"
x--,y);
25.使用()对象来向DataSet中填充数据。
A.ConnectionB.CommandC.DataReaderD.DataAdapter
26.使用()对象可以用只读的方式快速访问数据库中的数据。
A.DataSetB.DataReaderC.DataAdapterD.Connection
27.以下程序的执行结果是()
A)4B)2C)1D)0
staticvoidMain(string[]args)
{inti,j,m=0,n=0;
for(i=0;
2;
j++)
if(j>
=i)m=1;
n++;
n);
28.从数据库读取记录我们不可能用到的方法是()
A.ExecuteScalarB.ExecuteReaderC.ReadD.ExecuteNonQuery
29.有一个WinForms应用程序,在程序中已经创建了一个数据集dataSet和一个数据适配器dataAdapter,现在想把数据库中的Friends表中的数据放在dataSet中的MyFriends表中,下面()语句正确的。
A.dataAdapter.Fill(dataSet,“MyFriends”);
B.dataAdapter.Fill(dataSet,“Friends”);
C.dataAdapter.Update(dataSet,“MyFriends”);
D.dataAdapter.Update(dataSet,“Friends”);
30.以下程序的执行结果是()
A)00010000B)00010010C)00000110D)00010100
{inti=0,y=18,j;
int[]a=newint[8];
do
{a[i]=y%2;
y=y/2;
}while(y>
=1);
for(j=a.Length-1;
j>
=0;
j--)
a[j]);
Console.WriteLine();
二、多项选择题
1.有一个符点型变量doublemoney=66.6,下面()语句可以将它转换为一个整型变量。
()
A.intpay=(int)money;
B.intpay=money;
C.intpay=Convert.ToInt32(money);
D.intpay=int.Parse(money);
2.图1-2实现一个选择学历的功能,窗体中使用了()控件。
A.GroupBoxB.PanelC.RadioButtonD.MenuStrip
3.图1-3这个工具条中包含的项有()。
A.DropDownButtonB.ButtonC.ComboBoxD.TextBox
4.下面()属于DataSet的特点。
A.在断开数据库连接的时候可以操作数据库
B.用于读取只读、只进的数据
C.不直接和数据库打交道,与数据库的类型没有关系
D.DataSet中的数据存储在数据库服务器的内存中
5.有一个WinForms应用程序,在程序中已经创建了一个数据集dataSet和一个数据适配器dataAdapter,窗体中有一个DataGrideView控件叫做dgvFriends,现在想在DataGrideView控件中显示DataSet中MyFriends表的数据,假设在DtaSet中只有一个MyFriends表,没有其他表。
下面()是正确的。
A.dgvFriends.DataSource=dataSet[“MyFriends”];
B.dgvFriends.DataSource=dataSet.Tables[“MyFriends”];
C.dgvFriends.DataSource=dataSet[0];
D.dgvFriends.DataSource=dataSet.Tables[0];
三、填空题
1.控制控件是否显示的属性是。
2.指定是否允许编辑文本框中的文本,设置文本框的属性。
3.向方法中传递参数,包括和传递两种方式。
其中传递需要使用关键字修饰参数。
4.C#中使用关键字引用命名空间。
5.利用VS创建的窗体都是类,用Partail关键字标识。
6.若要在窗体标题栏中显示文本,应指定属性。
7.使用Message.Show()方法可以显示消息框,消息框的返回值是一个类型。
8.如想使控件始终保持在窗体的边缘或填充窗体,应设置该控件的属性。
9.MDI(多文档界面)主要由两种窗口组成:
和。
10.窗口有两种显示方式:
窗口和窗口。
显示第一种窗口使用方法,显示第二种窗口使用方法。
11.ADO。
NET提供了两个主要组件,分别是和。
12.使用DataReader查询数据记录,通过Command对象的ExecuteReader()方法返回一个对象。
13.使用DataReader读取数据时,每次调用方法读取一行数据。
14.使用Command对象的方法对数据进行增删改的操作。
15.使用DataAdapter的方法填充DataSet,使用方法把DataSet中修改过的数据返回给数据库。
16.下面程序的输出结果是
inta=0;
a+=(a=8);
Console.WriteLine(a);
17.以下程序执行后的输出结果是
{int[]data={11,13,14,15,16,17,18};
inti=0,k=0;
while(i<
7&
data[i]%2!
=0)
{k=k+data[i];
k);
《C#程序设计》期终考试试卷参考答案
一、单项选择题
题号
1
2
3
4
5
6
7
8
9
10
答案
B
A
D
C
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
二、多选题(每题2分,共10分)
1
AC
BC
BD
三、填空题(1-15小题每空1分,16-17小题每小题3分,共24+6=30分)
Visible
模式无模式Show()ShowDialog()
ReadOnly
.NETFramework数据提供程序DataSet(数据集)
值传递引用传递
引用传递ref
DataReader
Using
Read()
分布
ExecuteNonQuery()
Text
Fill()Update()
DialogResult
Dock
父窗口子窗口
一、
填空题(每空2分共30分)
1.
C#中所有类的基类是
System.Object
。
2.
面向对象的程序设计的特点是:
封装性
、
多态性和
继承性
3.
C#中的多态性分为编译时多态性和运行时多态性
两种。
4.
关键字sealed的含义是
密封的
5.
关键字new的作用是调用构造函数
6.
类的成员有多种,举出你所知道的三种类的成员:
方法、属性、
委托
7.
已有如下定义,strings="
12345632432456144567"
则s.Length=20
s[8]=4
8.
表达式7/5的值是
1
,而表达式7/5.0的值是
1.4
一、选择题(每小题3分,共15分)
1.下面是几条定义类的语句,只能被继承的类是()
A.classstudent
B.publicclassstudent
C.abstractclassstudent
D.sealedclassstudent
2.如果要在窗体中始终显示系统的当前时间,应该使用的控件是()
A.CheckBox
B.Panel
C.RadioButton
D.Timer
3.下面对C#中类的构造函数描述正确的是()
A.与方法不同的是,构造函数只有void这一种返回类型
B.构造函数如同方法一样,需要人为调用才能执行其功能
C.构造函数一般被声明成private型
D.在类中可以重载构造函数,C#会根据参数匹配原则来选择执行合适的构造函数
4.下面有关类的继承的说法正确的是()
A.派生类的成员应该与基类的成员一致,不能为派生类增加新成员
B.在派生类中可通过隐藏继承成员,来删除基类的成员
C.在描述类的继承关系时,父类与子类是基类与派生类的另一种说法
D.所有的类成员都可以被继承
5.下面有关事件的描述中,正确的是()
A.方法一旦被事件预订后,就不能被撤消
B.事件的预订一次只能预订一个方法
C.创建事件的关键字是delagate
D.当事件预订了多个方法时,一次只能有一个方法被调用
参考答案:
CDDCB
1.属于C#语言的关键字()。
A.abstractB.camelC.SalaryD.Employ
答案:
2.C#语言中,值类型包括:
基本值类型、结构类型和()。
A.小数类型B.整数类型C.类类型D.枚举类型
3.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A.int[]arr=newint[10,20]
B.int[]arr=intnew[10,20]
C.int[,]arr=newint[10,20]
D.int[,]arr=newint[20;
10]
4.在类作用域中能够通过直接使用该类的()成员名进行访问。
A.私有B.公用C.保护D.任何
5.以下正确的描述是()。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
6.小数类型和浮点类型都可以表示小数,正确说法:
A.两者没有任何区别
B.小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
D.小数类型比浮点类型精度低
8.能作为C#程序的基本单位是()。
A.字符B.语句C.函数D.源程序文件
9.可用作C#程序用户标识符的一组标识符是()。
A.voiddefine+WORDB.a3_b3_123YN
C.for-abcCaseD.2aDOsizeof
10.引用类型主要有4种:
类类型、数组类型、接口类型和()。
A.对象类型B.字符串类型C.委托类型D.整数类型
二、填空题(每空2分,共20分)
1.在switch语句中,每个语句标号所含关键字case后面的表达式必须是。
常量表达式
2.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成.。
死循环
3.C#数组元素的下标从开始。
4.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。
continue
5.元素类型为double的2行5列的二维数组共占用字节的存储空间。
80
6.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。
object
7.枚举是从System.类继承而来的类型。
Enum
8.一般将类的构造方法声明为访问权限。
如果声明为private,就不能创建该类的对象。
public或公有
9.类中声明的属性往往具有get()和两个函数。
set()
10.对于方法,参数传递分为值传递和两种。
引用传递
一、单项选