c#程序设计复习资料试题及答案版Word文档下载推荐.docx
《c#程序设计复习资料试题及答案版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c#程序设计复习资料试题及答案版Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
![c#程序设计复习资料试题及答案版Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-11/27/903b7436-851c-4a65-a152-c3ebb53c5f76/903b7436-851c-4a65-a152-c3ebb53c5f761.gif)
7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。
A、方法、属性、索引器和事件;
B、方法、属性信息、属性;
C、索引器和字段;
D、事件和字段;
8.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是()。
A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
C、Select操作的Sql语句只能由ExecuteReader()方法来执行;
D、ExecuteReader()方法返回一个DataReder对象;
9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是()。
A、Buttons属性表示ToolBar控件的所有工具栏按钮
B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
D、ButtonClick事件在用户单击工具栏任何地方时都会触发
10.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(),必要时还要设置参数尺寸。
A、大小;
B、上限;
C、初始值;
D、类型;
11.如果将窗体的FormBoderStyle设置为None,则()。
A、窗体没有边框并不能调整大小;
B、窗体没有边框但能调整大小;
C、窗体有边框但不能调整大小;
D、窗体是透明的;
12.如果要将窗体设置为透明的,则()
A、要将FormBoderStyle属性设置为None;
B、要将Opacity属性设置为小于100%得值;
C、要将locked属性设置为True;
D、要将Enabled属性设置为True;
13.下面描述错误的是()。
A、窗体也是控件;
B、窗体也是类;
C、控件是从窗体继承来的;
D、窗体的父类是控件类;
14.如果设treeView1=newTreeView(),则treeView1.Nodes.Add("
根节点"
)返回的是一个()类型的值。
A、TreeNode;
B、int;
C、string;
D、TreeView;
D.obj.set(obj.sData);
15.如果左操作数大于右操作数,________运算符返回false.
A.=B.<
C.<
=D.以上都是
16.下列变量初始化时不能完成转换的是:
()
A.inta=5;
floatb=a;
B.inta=65;
charc=(int)a;
C.strings="
x"
;
charc=s;
D.LongL=123;
inta=L;
17.有一个整型数组int[]array=newint{1,2,3,4}。
通过索引访问该数组,当索引为2时,得到的结果是多少?
A、1B、2C、3D、4
18.Web窗体文件的扩展名为:
A.ASPB.ASPXC.ASCXD.HTML
19.下面的循环语句不管在什么条件下至少执行一次循环体的语句是()。
A.for循环B.foreach循环C.while循环D.do循环
20.在VisualStudio.NET窗口中,()窗口显示了当前VisualStudio解决方案的树型结构。
A.类视图B.解决方案资源管理器C.资源视图D.属性
21.在C#中无需编写任何代码就能将int型数值转换为double,称为:
A.显式转换B.隐式转换C.数据类型变换D.变换
22.C#中执行下列语句后整型变量x和y的值是多少?
intx=100;
inty=x++;
A.x=101y=101B.x=100y=101C.x=101y=100D.x=100y=100
23.C#程序中,可使用try..catch机制来处理程序出现的______错误.
A.语法B.运行C.逻辑D.拼写
26.在VisualStudio.NET窗口中,()窗口显示了当前VisualStudio解决方案的树型结构。
A.类视图B.解决方案资源管理器C.资源视图D.属性
27.关于C#语言的基本语法,下列哪些说法是正确的?
A.C#语言使用using关键字来引用.NET预定义的名字空间;
B.用C#编写的程序中,Main函数是唯一允许的全局函数;
C.C#语言中使用的名称不区分大小写;
D.C#中一条语句必须写在一行内;
28.对于在代码中经常要用到的且不会改变的值,可以将其声明为常量。
如圆周率PI始终为3.14。
现在要声明一个名为PI的圆周率常量,下面哪段代码是正确的?
A.constfloatPI;
PI=3.14f;
B.constfloatPI=3.14f;
C.floatconstPI;
D.floatconstPI=3.14f;
29.在C#中无需编写任何代码就能将int型数值转换为double,称为:
30.如果左操作数大于右操作数,________运算符返回false.
C.<
31.如果希望实现从1到10的累加,并得出结果。
intcount=0;
___________
{
count+=i;
}
应该在空白处添加下面哪段代码?
A.for(inti=0;
i<
10;
i++)B.for(inti=0;
=9;
i++)
C.for(inti=1;
=10;
i++)D.for(inti=1;
32.为保护WebService不受恶意访问的攻击,应使用_______保护WebService。
A.IIS目录安全性B.NTFS安全性C.共享目录安全性D.TCP/IP安全性
33.通常计算机程序总是由若干条语句组成的,以下哪种不是组成程序的常用结构?
A.跳转结构B.循环结构C.分支结构D.顺序结构
34.一年中的12个月,每个月的中文对应一个数字,如“一月”对应1,“二月”对应2。
现在输入一个整数,希望能输出数字对应的中文,例如输入1,输出“一月”。
使用下面的哪种代码结构最适合?
A.单一的if结构B.嵌套的if结构C.switch结构D.嵌套的if…else结构变量
35.在VisualStudio2005中,假设你正在单步调试某个应用程序。
程序从入口开始,调用某个私有方法将产生异常。
现在代码运行到如图所示位置,应该使用下面哪种方式进一步调试?
A、使用逐语句调试B、使用逐过程调试C、跳出调试D、停止调试
36.有一个整型数组int[]array=newint{1,2,3,4}。
37.以下类MyClass的属性count属于_____属性。
classMyClass
inti;
intcount
get{returni;
}
A.只读B.只写C.可读写D.不可读不可写
38.C#中执行下列语句后整型变量x和y的值是多少?
A.x=101y=101B.x=100y=101C.x=101y=100D.x=100y=100
39.在编写C#程序时,若需要对一个数组中的所有元素进行处理,则使用()循环体最好。
A.for循环B.foreach循环C.while循环D.do循环
40.在ADO.NET中,表示程序到数据库的连接的对象为:
A.DataSet对象B.Command对象C.DataAdapter对象D.Connection对象
41.创建相当于3行4列矩阵的二维数组,正确的代码是:
A.double[][]a=newdouble[3][4];
B.doublea[][]=newdouble[3][4];
C.double[,]a=newdouble[3,4];
D.doublea[,]=newdouble[3,4];
42.对下面的代码,哪段描述是错误的?
publicclassDoor{};
publicclassHouse{
publicHouse(){
Doordoor=newDoor();
}
A.Door是一个类。
B.House是一个从Door继承的类。
C.House的构造函数中声明了一个名为door的变量。
D.door是一个对象。
43.已经定义了一个Season枚举,它有4个成员Spring,Summer,Autumn,Winter。
现在需要定义一个名为currentSeason的Season枚举,并将其赋值为Spring,应使用下面哪段代码?
A.SeasoncurrentSeason=Spring;
B.currentSeason=Spring;
C.currentSeason=Season.Spring;
D.SeasoncurrentSeason=Season.Spring;
44.下列变量初始化时不能完成转换的是:
C.strings="
X"
D.LongL=123;
45..NETFramework2.0中,处理异常是很有用的功能。
如果在一个进行除法运算的程序中,用户输入了零作为除数,会引发以下哪个异常?
A、DividebyZeroException异常B、FormatException异常
C、OverflowException异常D、InvalidCastException异常
46.C#程序中,可使用try..catch机制来处理程序出现的______错误.
47.下列哪个类型的对象是ADO.NET在非连接模式下处理数据内容的主要对象?
A.Command
B.Connection
C.DataAdapter
D.DataSet
48.已知在某WindowsForm应用程序中,主窗口类为Form1,程序入口为静态方法From1.Main.如下所示:
publicclassForm1:
System.Windows.Forms.Form
//其他代码
staticvoidMain()
//在此添加合适代码
则在Main方法中打开主窗口的正确代码是:
A.Application.Run(newForm1());
B.Application.Open(newForm1());
C.(newForm1()).Open();
D.(newForm1()).Run();
49.Web窗体文件的扩展名为:
50.改变窗体的标题,需修改的窗体属性是(A)。
A.TextB.NameC.TitleD.Index
51.在C#中__________都是对象。
A任何类型B任何事物C任何代码D任何技术
三.简答题
1.简述类与对象的关系。
解析:
类的实例化结果就是对象,而对一类对象的抽象就是类.类描述了一组有相同特性(属性)和相同行为(方法)的对象。
类是一组对象的抽象,对象是某个类的实例。
2.DataReader和DataSet的异同?
相同点:
都可以用来读数据
不同点:
1.DataReader独占连接,只读只进
2.DataSet支持断开式连接,支持增删改操作
3.类与对象有什么区别?
1,类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为。
就好像“Person(人)”这个类,它虽然可以包含很多个体,但它本身不存在于现实世界上。
2,对象是类的一个具体。
它是一个实实在在存在的东西。
3,类是一个静态的概念,类本身不携带任何数据。
当没有为类创建任何对象时,类本身不存在于内存空间中。
4,对象是一个动态的概念。
每一个对象都存在着有别于其它对象的属于自己的独特的属性和行为。
对象的属性可以随着它自己的行为而发生改变。
四.综合题
1.写出下列函数的功能。
static
int
SA(int
a,int
b)
{
if
(a>
return
1;
else
(a==b)
0;
-1;
}
答案:
比较两个整数a和b的大小,若a>
b则返回1,若a=
=b则返回0,若a<
b则返回-1。
2.以下程序运行后,sum的值为:
___2___(5分)
inti,sum;
sum=0;
for(i=2;
i<
=10;
i++)
if(i%2!
=0&
&
i%3==0)
sum=sum+1;
五.程序开发题:
1.编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。
constdoublePi=3.14159265;
doubler,s;
Console.WriteLine("
请输入圆的半径"
);
r=double.Parse(Console.ReadLine());
s=Pi*r*r;
圆的面积是{0}"
s);
2.编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。
doublex,y,z;
请输入一个数:
"
x=double.Parse(Console.ReadLine());
y=double.Parse(Console.ReadLine());
z=double.Parse(Console.ReadLine());
{0,10:
f3}"
x);
y);
z);
3.编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。
charch;
请输入一个字符"
ch=char.Parse(Console.ReadLine());
if(ch>
='
A'
&
ch<
Z'
)
ch=(char)(ch+32);
Console.WriteLine(ch);
4.输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)
大写字母"
elseif(ch>
a'
z'
小写字母"
0'
9'
数字"
else
其他字母"
5.编一个程序,输入一个整数,使用ifelse语句,如果该数大于0,则加上100,否则加上500,输出结果。
inti,j;
请输入一个整数"
i=int.Parse(Console.ReadLine());
if(i>
0)
j=i+100;
{0}>
0,最后结果是{1}"
i,j);
j=i+500;
{0}<
i,j);
6.编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。
最后输出结果。
(k10032304)
floatf,g;
请输入一个实数变量"
f=float.Parse(Console.ReadLine());
if(f>
=0&
f<
=100)
g=f+1000;
{0}在0-100之间,最后结果为{1}"
f,g);
{0}不在0-100之间"
f);
7.编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格(59以下))。
intscore;
请输入学生成绩"
score=int.Parse(Console.ReadLine());
score=score/10;
switch(score)
case10:
成绩优秀"
break;
case9:
case8:
成绩良好"
case7:
成绩及格"
case6:
default:
成绩不及格"
8.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。
(k10020105)
inti=1,n,sum=0;
do
n=int.Parse(Console.ReadLine());
sum=sum+n;
i++;
}while(i<
=10);
这十个整数的和为{0}"
sum);
判断题(1-8都是正确。
1、可以给Object变量赋以任何类型的数据。
(√)
2、类的构造函数名和析构函数名必须和类的名字相同(√)
3、一个Char类型的变量可包含一个Unicode字符,占用两个字节。
(√)
4、若没有指定,C#会把第一个建立的窗体作为启动窗体。
5、构造函数在建立类的对象时,会自动调用,一般用于初始化操作。
6、抽象类不能创建实例化对象(√)
7、利用SqlConnection对象只可连接SQL数据库。
(√)
8、CommandText属性用于获取或设置Com