c#程序设计复习资料试题及答案版.docx

上传人:b****8 文档编号:28207432 上传时间:2023-07-09 格式:DOCX 页数:18 大小:35.07KB
下载 相关 举报
c#程序设计复习资料试题及答案版.docx_第1页
第1页 / 共18页
c#程序设计复习资料试题及答案版.docx_第2页
第2页 / 共18页
c#程序设计复习资料试题及答案版.docx_第3页
第3页 / 共18页
c#程序设计复习资料试题及答案版.docx_第4页
第4页 / 共18页
c#程序设计复习资料试题及答案版.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c#程序设计复习资料试题及答案版.docx

《c#程序设计复习资料试题及答案版.docx》由会员分享,可在线阅读,更多相关《c#程序设计复习资料试题及答案版.docx(18页珍藏版)》请在冰豆网上搜索。

c#程序设计复习资料试题及答案版.docx

c#程序设计复习资料试题及答案版

c#程序设计部分复习资料

一.填空题

26.C#源程序的后缀名为______.cs________。

26.C#中每个int类型的变量占用____4___个字节的内存.

26.C#的每行语句以________分号_______结尾.

26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。

26.如果intx的初始值为5,则执行表达式x-=3之后,x的值为_____2_________。

26.do..。

while语句在执行循环体_____之后________测试语句是否满足循环条件。

26.关键字_______class________表示一个类的定义。

26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类.

26.try块运行后,总是会执行_________finally_____________块中的代码.

26.一个数组如果有两个索引值,那么它是__________二维__________数组。

二.单项选择题

1.在对SQLServer数据库操作时应选用()。

A、SQLServer。

NETFramework数据提供程序;B、OLEDB。

NETFramework数据提供程序;

C、ODBC.NETFramework数据提供程序;D、Oracle。

NETFramework数据提供程序;

2.下列选项中,()是引用类型。

A、enum类型B、struct类型C、string类型D、int类型

3.C#的数据类型有()

A、值和调用类型;B、值和引用类型;C、引用和关系类型;D、关系和调用类型

4.下列描述错误的是()

A、类不可以多重继承而接口可以;B、抽象类自身可以定义成员而接口不可以;

C、抽象类和接口都不能被实例化;D、一个类可以有多个基类和多个基接口;

5.下列关于构造函数的描述正确的是()

A、构造函数可以声明返回类型。

B、构造函数不可以用private修饰

C、构造函数必须与类名相同D、构造函数不能带参数

6.int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};

那么myArray3[2][2]的值是()。

A、9B、2C、6D、越界

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。

<=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;PI=3.14f;D。

floatconstPI=3.14f;

29.在C#中无需编写任何代码就能将int型数值转换为double,称为:

A.显式转换B。

隐式转换C.数据类型变换D。

变换

30.如果左操作数大于右操作数,________运算符返回false。

A。

=B。

<=D.以上都是

31.如果希望实现从1到10的累加,并得出结果.

intcount=0;

___________

{

count+=i;

应该在空白处添加下面哪段代码?

A。

for(inti=0;i〈10;i++)B。

for(inti=0;i<=9;i++)

C.for(inti=1;i<=10;i++)D.for(inti=1;i〈10;i++)

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}。

通过索引访问该数组,当索引为2时,得到的结果是多少?

A、1B、2C、3D、4

37.以下类MyClass的属性count属于_____属性。

classMyClass

inti;

intcount

get{returni;}

}

}

A.只读B.只写C。

可读写D。

不可读不可写

38.C#中执行下列语句后整型变量x和y的值是多少?

intx=100;

inty=x++;

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.下列变量初始化时不能完成转换的是:

A.inta=5;floatb=a;B。

inta=65;charc=(int)a;

C。

strings=”X";charc=s;D。

LongL=123;inta=L;

45.。

NETFramework2.0中,处理异常是很有用的功能。

如果在一个进行除法运算的程序中,用户输入了零作为除数,会引发以下哪个异常?

A、DividebyZeroException异常B、FormatException异常

C、OverflowException异常D、InvalidCastException异常

46.C#程序中,可使用try。

.catch机制来处理程序出现的______错误.

A。

语法B.运行C.逻辑D。

拼写

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窗体文件的扩展名为:

A.ASPB。

ASPXC.ASCXD。

HTML

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〉b)  

return 1; 

      else if (a==b)  

return 0; 

       else  

return —1; 

答案:

比较两个整数a和b的大小,若a>b则返回1,若a= =b则返回0,若a

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;

Console.WriteLine("圆的面积是{0}”,s);

2。

编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用Console。

WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。

doublex,y,z;

Console。

WriteLine("请输入一个数:

");

x=double。

Parse(Console。

ReadLine());

Console。

WriteLine("请输入一个数:

");

y=double。

Parse(Console.ReadLine());

Console.WriteLine(”请输入一个数:

”);

z=double。

Parse(Console。

ReadLine());

Console.WriteLine("{0,10:

f3}",x);

Console。

WriteLine(”{0,10:

f3}",y);

Console。

WriteLine(”{0,10:

f3}",z);

3.编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。

charch;

Console。

WriteLine("请输入一个字符”);

ch=char.Parse(Console。

ReadLine());

if(ch〉=’A’&&ch〈=’Z’)

{

ch=(char)(ch+32);

Console。

WriteLine(ch);

 

4.输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)

charch;

Console.WriteLine("请输入一个字符”);

ch=char.Parse(Console.ReadLine());

if(ch>=’A'&&ch<=’Z’)

Console。

WriteLine("大写字母”);

elseif(ch〉=’a'&&ch<='z')

Console。

WriteLine("小写字母”);

elseif(ch〉='0’&&ch<='9')

Console。

WriteLine(”数字");

else

Console。

WriteLine("其他字母");

 

5.编一个程序,输入一个整数,使用ifelse语句,如果该数大于0,则加上100,否则加上500,输出结果。

inti,j;

Console.WriteLine("请输入一个整数”);

i=int.Parse(Console.ReadLine());

if(i〉0)

{

j=i+100;

Console.WriteLine(”{0}〉0,最后结果是{1}”,i,j);

else

j=i+500;

Console.WriteLine("{0}<0,最后结果是{1}”,i,j);

 

6.编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。

最后输出结果。

(k10032304)

floatf,g;

Console。

WriteLine("请输入一个实数变量");

f=float.Parse(Console.ReadLine());

if(f>=0&&f<=100)

g=f+1000;

Console.WriteLine("{0}在0—100之间,最后结果为{1}",f,g);

}

else

Console.WriteLine("{0}不在0-100之间”,f);

7.编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90—100),成绩良好(80—89),成绩及格(60-79)和成绩不及格(59以下))。

intscore;

Console。

WriteLine("请输入学生成绩");

score=int.Parse(Console。

ReadLine());

score=score/10;

switch(score)

case10:

Console。

WriteLine("成绩优秀");

break;

case9:

Console.WriteLine("成绩优秀”);

break;

case8:

Console.WriteLine("成绩良好”);

break;

case7:

Console.WriteLine("成绩及格");

break;

case6:

Console。

WriteLine("成绩及格”);

break;

default:

Console.WriteLine(”成绩不及格");

break;

 

8.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。

(k10020105)

inti=1,n,sum=0;

do

{

Console。

WriteLine("请输入一个整数");

n=int。

Parse(Console。

ReadLine());

sum=sum+n;

i++;

}while(i<=10);

Console.WriteLine("这十个整数的和为{0}",sum);

 

判断题(1-8都是正确。

1、可以给Object变量赋以任何类型的数据。

(√)

2、类的构造函数名和析构函数名必须和类的名字相同(√)

3、一个Char类型的变量可包含一个Unicode字符,占用两个字节。

(√)

4、若没有指定,C#会把第一个建立的窗体作为启动窗体。

(√)

5、构造函数在建立类的对象时,会自动调用,一般用于初始化操作。

(√)

6、抽象类不能创建实例化对象(√)

7、利用SqlConnection对象只可连接SQL数据库。

(√)

8、CommandText属性用于获取或设置Command对象要对数据源执行的SQL语句。

(√)

9、在Do…While循环内中不允许有For…Nex

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 交通运输

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1