c#程序设计课后习题与解答_第1页
c#程序设计课后习题与解答_第2页
c#程序设计课后习题与解答_第3页
c#程序设计课后习题与解答_第4页
c#程序设计课后习题与解答_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#程序设计课后习题与解答

本文由刘汝思贡献

doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或

下载源文件到本机查看。

习题与解答习题与解答

(程序设计题包含在教材例题当中,请读者注意)

习题一

一、单项选择题1.C#语言是微软.NET公共语言运行环境中内

置的核心程序设计语言,是一种(B)。(A)面向过程程序设计

语言(B)面向对象程序设计语言(C)跨平台程序设计语言(D)

机器语言2.C#语言支持面向对象程序设计概念,C)(o(A)

但不支持继承(B)而且支持多继承(C)但仅支持单继承(D)支

持单继承和多继承3.C#应用程序由一个或者多个类组成,一个应用

程序的所有程序代码(A)°(A)必须封装在类中(B)不能封

装在类中(C)必须封装在一个类中(D)必须封装在多个个类中4.C#

应用程序中,导入其他系统预定义元素部分可以使用关键字(D)0

(A)use(B)namespace(C)import(D)using5.命名空间是

一种在程序中防止标识符命名冲突而引入的逻辑隔离机制,C#中使用

关键字(D)表示。(A)using(B)spacename(C)class(D)

namespace6.C#应用程序中,用主方法指明程序执行的开始点,主

方法的名字规定为(C)o(A)class(B)main(C)Main(D)

MainWay7.C#中的注释方法有三种,下列注释方法中错误的是

(D)o(A)单行注释“〃”(B)多行注释“/*和*/"(C)

X肛注释“〃/"(D)HTML注释“”。8.下列对控制台应用程

序描述正确的是(C)(A)控制台(Console)应用程序就是对设

备进行控制的应用程序(B)控制台(Console)应用程序包含了大

量Windows系统的组成元素(C)控制台(Console)应用程序是C#

语言能够开发的应用程序类型之一(D)控制台(Console)应用程

序是基于标准C语言的单片机技术9.在控制台应用程序中,如果

在程序开头使用usingSystem;语句引入了System命名空间,则

下列对Read。和ReadLine()方法调用错误的是(D)。(A)

System.Console.Read();(B)Console.Read();(C)

Console.ReadLine();(D)Read();10.在C#的Windows应用程

序中,不论任何控件,共同具有的是(B)属性。(A)Text(B)

Name(C)ForeColor(D)Caption二、选择填空题1.C#语言是

一种B、全新的程序设计语言,是微软.NET公共语言运行环境中

第1页共24页

置的核心程序设计语言。2.C#程序设计语言的主要特点有:

语法简洁、满足通用语言规范、面向对象、兼容性和灵活性、以及C

等。3.一个C#程序可以存放在一个源程序文件中,也可以存放在

多个源程序文件中。一个源程序文件中可以有一个或者多个类,E

将一个类拆散存放在不同的源程序文件中。4.为源程序文件命名

J,既可以与类的名字相同,也可以不同。5.在定义C#语言的标

识符构成时,G字母符的大小写形式。备选项:(A)面向过程的

(B)面向对象的(C)完整的安全性(D)不需要区分(E)但不

允许(F)而且允许(G)需要区分(H)有限安全性(I)必须与

类名一致(J)不受类名限制三、思考题1.简述C#语言的语句书

写规则。答案:(1)语法简洁(2)满足通用语言规范(3)面向对象(4)

完整的安全性和错误处理(5)兼容性和灵活性(6)版本控制(7)与

Web的完美结合2.简述在VS2008集成环境中创建C#控制台应用

程序的主要步骤。答案:四个步骤:(1)启动运行“Microsoft

VisualStudio2008”,进入VS2008集成开发环境;(2)选择

项目类型为控制台应用程序,并指定项目名称及其保存位置;(3)

在应用程序编辑环境中输入程序代码;(4)调试运行程序。3.简

述在VS2008集成环境中创建CftWindows窗体应用程序的主要步

骤。答案:四个步骤:(1)设计用户界面(2)设置对象属性(3)

编写对象事件过程代码(4)保存并运行程序(生成可执行代码)4.-

个C#控制台应用程序主要由哪几个部分构成?答案:(1)导入其

他系统预定义元素部分;(2)命名空间;

第2页共24页

(3)类;(4)方法(主方法、事件响应处理过程)5.C#程

序中可以使用哪些书写注释的方法?它们分别适合用于什么场合?

答案:C#中的注释方法有三种:(1)单行注释在一个语句行上,

用双斜杠“〃”作为引导符,其后的任何内容均为注释信息,编译

时被忽略,通常用于注释字符串较短的场合。(2)多行注释从“/*”

开始,到“*/”结束,多行注释通常用于需要书写较大量注释的情

况(3)X肛注释在一个代码行上,用“〃/”开始,其后的任何内

容均为注释信息,编译时被提取出来,形成一个特殊格式的文本文

件(XML),用于创建文档说明书。6.什么是托管方式?答案:

在.NET系统中,除了C#语言外,还包括C++、VB、Java等程序设

计语言,这些语言都遵守通用语言规范。在通用语言规范中,任何

语言编写的源程序都被编译成为相同的中间语言(MSIL)代码,然

后由通用语言运行环境(CommonLanguageRuntime,CLR)负责执

行,这种处理方式称为“托管方式”,因而这样的代码亦称为“托

管代码”。

习题二

一、单项选择题1.C#程序中用到的数据分为两个大类,它们是

(A)o(A)值类型和引用类型(B)整型和实型(C)数值类

型和字符类型(D)简单类型和复杂类型。2.C#语言中,值类型

数据对象占用的存储空间大小(B)(A)不固定(B)相对固定(C)

可以任意指定(D)都是相同的3.C#语言中,引用类数据对象占用

的存储空间大小(D)。(A)不得而知(B)相对固定(C)都

是相同的(D)随实际需要而定4.C#语言中,基本整型数据类型(int)

所占用的存储空间为(C)个字节。(A)1(B)2(C)4(D)

85.C#语言中,双精度实型数据类型(double)所占用的存储空间

为(D)个字节。(A)1(B)2(C)4(D)86.C#语言中,

字符数据使用Unicode字符集,其占用的存储空间为(B)个字节。

(A)1(B)2(C)4(D)87.下面的运算符中,优先级别最低

的是(D)。(A)new(B)!=(C)?:(D)=8.设有整型

变量x,则表达式x=5/8运算后,变量x的值为(A)。(A)

0(B)0.625(00.6(D)0.639.C#语言中,字符串常量@“123\n456〃

的长度(有效字符个数)是(C)。(A)6(B)7(C)8(D)

910.C#语言中,与赋值运算符“=”实现相同操作的字符串处理方

法是(C)o(A)Compare(B)Concat(C)Copy(D)Substring

第3页共24页

11.C#应用程序中,标识符用于给程序处理的数据对象命名。

组成标识符的字符为字母、数字和下划线,标识符的第一个字符

(B)o(A)必须是字母(B)必须是字母或者是下划线(C)

必须是下划线(D)可以是字母或者是下划线12.在程序中如果要

使用系统保留字(关键字)作为自定义标识符,必须使用字符A)

(作为引导符。(A)@(B)$(C)#(D)~13.下面所列的C#

标识符中,错误的是(B)。(A)myld(B)int(C)@if(D)

_int14.下面所列的C#自定义标识符中,正确的是(A)。(A)

©double(B)$double(C)ttdouble(D)"double15.C#中所有

字符都是使用(A)(A)Unicode编码表示(B)UTF-8编码表

示(C)UTF-16编码(D)GBK编码二、选择填空题1.在C#语

言中,值类型数据对象占用的存储空间大小相对固定,在其所占存储

空间中直接存放F。2.在C#语言中,引用类数据对象占用的存

储空间大小随需要而定,该类数据对象并不真正表示自己所具有的

内容,而是表示A。3.在C#程序设计中,定义值类型变量的同时

可以对其进行初始化,初始化时提供的初始化数据Co4.在C#

的整型常量表示中,可以使用十进制数据和十六进制数据两种形式,

其中十六进制数据J。5.布尔数据类型占用一个字节的存储区域,

其变量只有两种取值:Ho备选项:(A)自己内容所在存储区域

的引用(B)Yes或No(C)必须在对应变量的取值范围之内(D)

Oh或者OH(E)可以在对应变量的取值范围之外(F)该类数据对

象所具有的值(G)“真”或"假”(H)true或false(I)数

据对象的名字(J)使用Ox或者0X开头三、指出下列哪些是C#

语言的合法变量名,哪些是非法变量名(若变量名非法,请说明非

法的原因):

(DA(6)Graphics(ll)void(16)搜狐(21)21世纪(2)Abs(7)

Picture(12)while(17)WWW(22)Dot-Dash(3)Center(8)My

Document(13)3Com(18)URL(23)X_Y(4)Disk(9)Root(14)Yahoo

(19)白+黑(24)"Student"(5)File(lO)Static(15)新浪

(20)163.net(25)Year

四、程序设计与分析题

第4页共24页

1.创建图2-7所示Windows窗体应用程序,在两个文本框中

分别输入整数值,然后单击“计算”按钮,就能在标签控件中输出

两个整数值相加之和。

图2-7

计算两个整数相加之和

图2-8

9

华氏温度转换为摄氏温度

2.已知将华氏温度转换为摄氏温度的公式为:C=5(F?32),

创建图2-8所示的Windows窗体应用程序,实现将文本框内输入的

华氏温度转换为摄氏温度的功能,计算结果在标签控件中输出。3.

创建控制台应用程序,在控制台端键盘输入一个半径值,就能计算输

出圆的面积。4.根据如下的枚举定义,fruit,peach和

fruit,strawberry的值分别是多少?

enumfruit:int{apple=5,apricot,banana,peach,

pineapple=12,strawberry)

答案:fruit,peach的值为8,fruit,strawberry的值为135.专

家认为,成人血压的正常范围是:收缩压90^140mmHg(12.0^18.7

kPa)——1kPa=7.5mmHg舒张压60~90mmHg(8,0^12.0kPa)

写出判断血压是否正常的逻辑表达式(以mmHg为计量单位)。答

案:doublexueya;〃血压值(xueya>=90&&xueya<=140)&&

(xueya>=60&&xueya<=90)

习题三

一、单项选择题1.当变量x的值在[1,100]范围内时一,下面

的C#表达式返回值为“真”的是(D)。(A)l<=x<=100(B)

x>=l||x<=100(C)x>l&&x<100(D)x>=l&&x<=1002.下面

的C#表达式中,描述了数学关系x2y》z的是(B)o(A)(x>=y)

AND(y>=z)(B)(x>=y)&&(y>=z)(C)(x>=y>=z)(D)(x>=y)&

(y>=z)3.当变量x的值在[1,10]或[200,210]范围内时,下列C#

表达式返回值为“真”的是(C)。(A)(x>=l)&&(x<=10)&&

(x>=200)&&(x<=210)(B)(x>=l)||(x<=10)||(x>=200)||

(x<=210)(C)(x>=l)&&(x<=10)||(x>=200)&&(x<=210)(D)

(x>=l)||(x<=10)&&(x>=200)||(x<=210)

第5页共24页

4.设有C#语句:inta=5,b=4;,则下列表示条件的表达式中

值为“假”的是(C)o(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)

5.执行C#语句序列:inti;for(i=0;i++<4;);后,变量i

的值是(A)。(A)5(B)4(C)1(D)0二、选择填空题1.程

序设计中,一般用“逻辑与运算”表示某个数据对象的值是否在给定

范围之内,而用“逻辑或运算”表示某个数据对象的值I°2.C#

语言中规定:在包含了if语句嵌套结构的程序中,else子句与在

它前面距它最近的且Bif配对。A,称为循环3.C#应用程序

中,在一个循环结构的循环体内又包含另外一个的嵌套。4.break

语句是一条限定转移语句,只能在D使用。J使用。5.continue

语句是一条限定转移语句,只能在备选项:(A)完整的循环结构(B)

尚未匹配的(C)是否在给定范围之内(D)switch语句结构和循

环结构中(E)完整的分支结构(F)if结构或者while结构中(G)

已经配对的(H)while结构中(I)是否在给定范围之外(J)循

环结构的循环体中三、程序设计题1.创建图3-20所示Windows

窗体应用程序,程序运行时,在“年份”文本框中输入一个正整数,

单击“判断”按钮,就能在标签控件中显示判断结果;单击“退出”

按钮则结束程序运行。(闰年的计算规则请自行上网查阅)

图3-20

判断闰年

图3-21

输出星号组成的图案

2.创建控制台应用程序,输入一个正整数之后,输出图3-21所

示图案。最顶部一行的星号个数为输入的数。-63.创建控制台

应用程序,利用下面多项式公式计算出兀值,要求最后一项的值

小于10O

JI

411111=1?+?+...+?3574n?34n?l

-6

4.创建控制台应用程序,利用下面的公式计算e的近似值,

要求最后一项的值小于10O

e=S

1n=0n!

第6页共24页

k

5.已知两个3位数abc和cba之和为1333(即

abc+cba=1333),编写控制台应用程序,求出3个数字a、b和c0

6.创建控制台应用程序,求解猴子吃桃问题:猴子第一天摘下桃子

若干,当即吃了一半后又多吃了一个;第二天又将剩下的桃子吃掉

一半后再多吃一个;以后每天都吃掉前一天剩下的一半零一个。到

第10天想再吃时,只剩下一个桃子。求猴子第一天共摘下多少个

桃子。7.马克思曾经做过这样一道趣味数学题:有30个人在一家

小饭馆用餐,其中每个男人花了3先令,每个女人花了2先令,

每个孩子花了1先令,总共花了50先令。问男人、女人和孩子各

有多少人?本题有多个解,编写控制台应用程序求出所有的解。8.体

操比赛的评分规则是:由7位裁判为每个运动员打分,去掉一个最

高分,去掉一个最低分,求出的平均分即为运动员的得分。编写控

制台应用程序,计算运动员得分。9.所谓“水仙花数”,指的就

是这样一个三位数:其各位数的立方和等于该数。例如:333153=1

+5+3o编写控制台应用程序,计算输出所有的水仙花数。10.所

谓“完备数”,指的就是这样一个数:该数的值恰好等于它的因子

之和。例如,6的因子为1、2、3,而6=1+2+3,因而6就是完备

数。编写控制台应用程序,找出riOOO之间的所有完备数。11.编

写程序,求解以下问题:(1)在窗体上输出100~500之间的所有

奇数,并计算它们的和。(2)在窗体上输出100〜200之间不能被3

整数的所有数。(3)统计P1000之内既能被5整除,也能被7整

除的数的个数,并输出在窗体上。(4)从300开始,找出连续100

个既能被3整数又能被5整除的数。(5)计算s=1!+2!+3!

+…+n!(其中n是用户输入的正整数)。(6)计算出不大于

1000的10个最大的素数。

习题四

一、单项选择题1.在面向对象程序设计的概念中,对类(class)

的描述,错误的是(D)。(A)类(class)是一组具有相同数据

结构和相同操作的对象的集合(B)类(class)用来定义对象可执行

的操作(C)类(class)是创建对象实例的模板,对象是类的一个实

例(D)当应用程序通过类(class)创建一个对象时,该对象就是一

个窗口2.在默认的情况下,省略的类访问修饰符是(A)(A)

private(B)public(C)protected(D)internal3.在下面的

类声明中,属于私有字段的是(D)classPerson{publicstring

name;publicstringsex;

第7页共24页

privateintage;doubleweight;}(A)namesex(B)age

(C)weight(D)ageweight4.类的属性中,能够修改字段值的

代码块是(B)(A)get代码块(B)set代码块(C)find代

码块(D)modification代码块5.下列类定义代码,当用来声明

对象car,并用Carcar=newCar();实例化后,可以通过car对

象直接赋值的字段是(D)opublicclassCar{publicstring

type;stringNo;privateintheavy;doublespeed;protected

stringowner;publicstringprice;privatestringcolor;}(A)

typeNo(B)heavyowner(C)typeownerprice(D)typeprice

二、选择填空题1.面向对象的程序设计允许用I或对象的思想方

法来分析和设计应用程序,从而使软件开发过程更接近人类的思维

过程。2.当应用程序通过类创建一个对象时,用户只要使用对象的

B和方法进行相应的操作,而不必关心其内部是如何实现的,这样

就有助于实现程序结构的模块化和代码重用。3.如果访问修饰符

使用A,则将类的访问类型指定为公共的,被声明的类可以在其它

的项目中使用。4.类的属性通常属性包括D访问或修改字段的值。

5.类的成员包括J和方法成员,使用属性可以实现对数据成员的良

好封装。备选项:(A)public(B)属性(property)(C)private

(D)get代码块和set代码块(E)类(class)(F)框架(G)

find代码块和modification代码块(H)对象成员(I)实体(J)

数据成员三、程序设计题1.编写Window窗体应用程序,使用文

本框textBoxl和textBox2分别输入一个整数,计算两个数的最

大公约数和最小公倍数,在标签控件label1中输出结果。2.已知

菲波拉契数列的通项表达式如下:1OWnWl

第8页共24页

f(n)=f(n-l)+f(n-2)n>l编写程序,利用递归方法计算菲波

拉契数列的前12项。3.编写Windows窗体应用程序,使用文本

框textBoxl和textBox2分别输入矩形的长和宽,并在标签控件

中显示矩形的面积和周长。设计一个rectangle类,为该类定义

length和width字段,并提供计算面积和周长两个方法。4.编写

Windows窗体应用程序,通过文本框textBoxl输入半径R,在标签

控件中显示球体的表面积和体积。设计一个Ball类,为该类定义R

字段,并提供计算球体表面积和体积两个方法。5.编写Windows窗

体应用程序,使用文本框textBoxl和textBox2分别输入一个参与

计算的数,使用按钮(加、减、乘、除)选择计算种类,并使用标

签显示计算结果。要求实现一个类,该类建立两个字段用于存储计

算数,定义四个方法分别实现加、减、乘、除。6.创建一个student

类,设计3个字段用于表示学生的成绩(语文、数学、英语);然

后定义一个数组表示一个班的学生(10人),依次输入每个学生

的成绩,输入完成后,对学生的3门功课的总成绩进行降序排列。

7.编写控制台应用程序,设计一个Max类,使之能够接收键盘

输入的两个int类型或long类型的正整数,并能输出其中的较大

者。

习题五

一、单项选择题。1.在System.Math类用于数学计算的静态

方法中,返回类型为decimal的方法是(A)(A)Abs(B)Acos

(C)Asin(D)Atan2.要计算5的7次方,可以利用System.Math

类提供的静态方法是(C)o(A)BigMul(B)Atan(C)Pow(D)

Sqrt3.执行doublex=Math.Ceiling(-3.75)语句,x的值为

(D)o(A)4(B)-4(C)3(D)-34.通过string类的

方法,将stringstrl="MICROSOFTVISUALSTUDIO2008〃转换成

“microsoftvisualstudio2008”,正确的语句是(A)。(A)

strl.ToLower()(B)strl.ToUpper()(C)strl.ToUpper(D)

strl.ToLower5.执行下面的代码,表述正确的是(A)。Random

rd=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

第9页共24页

(D)a的值始终介于。到5之间,包含。和5二、把下列数学

表达式或文字叙述的条件写成C#表达式:(1)1-Sin2(x)(2)x

2+5xy7?y(3)abc?3c2(5)2sin(x+y)cos(x?

y)

22

(4)ln(l+|(6)

1c2ae

a?b|)a+b

(x?d)22c2

(7)

r21?r2

log(1+n2?r2)

(8)

14Sni(xi?x0)24i=1

(9)表示x是5或7的倍数(10)将任意一个两位数x的

个位与十位互换(11)计算今天是星期几(12)计算字符串变量A

和B的总长度答案:(1)1-Math.Pow(Math.Sin(x),2)(2)

Math.Pow(x,2)+(5*x*y)/(7-y)(3)Math.Sqrt(Math.Abs(a

*b*c-3*Math.Pow(c,2)))(4)Math.Log(1+Math.Abs((a

-b)/(a+b)))(5)2*Math.Sin((x+y)/2)*Math.Cos((x

-y)/2)(6)1/(c*Math.Sqrt(2*a))*Math.Pow(Math.E,

(-1*Math.Pow((x-d),2)/(2*

Math.Pow(c,2))))

(7)(r/(2*Math.Sqrt(1-Math.Pow(r,2))))*Math.Log(1

+Math.Sqrt(Math.Pow(n,2)

-Math.Pow(r,2)))

(8)doubles=0;

for(inti=1;i<=4;i++){s+=n[i]*Math.Pow(x[i]

-x[0],2);}s=(1/4)*s;

(9)if(x%5==0||y%7==0)(10)x/10+x%10

*10(11)DateTime.Now.DayOfWeek(12)A.Length+B.Length三、

程序设计1.编写程序,生成10个取值范围为50~99,不重复的随

机整数,在窗体上显示成一行。2.编写图5-13所示Windows窗

体应用程序,在文本框内输入一个完全由数字0〜9组成的字符串,

统计这个字符串中每个数字出现的次数,并将结果显示在窗体上。

第10页共24页

图5-13

统计数字出现的次数

图5-14

计算两个指定日期之间的工作日天数

3.编写图5-14所示Windows窗体应用程序,接收用户通过文

本框textBoxKtextBox2输入的开始日期和结束日期,计算这两个

日期之间的工作日天数(为了简化问题求解,计算工作日时,仅扣除

周末双休日,不考虑国家公休假)。4.已知本学期的开学时间为2009

年2月18日,编程计算当前日期是第几周。5.编写程序,计算

明年的今天是星期儿?6.编写程序,计算出本季度的日期范围。

7.编写程序,计算本月的第一天和最后一天。8.编写程序,计算

本年度的第一天和最后一天。9.编写程序,根据当前系统日期,计

算出本周(星期一到星期日)的日期范围。10.编写程序,计算当

前月份的工作日天数。

习题六

一、单项选择题。I.下面所列选项中,能够正确定义具有10

个数据元素一维整型数组a的是(A)(A)int[]a=newint[10];

(B)inta[10];(C)int[]a=int[10];(D)int[]a=int(10);

2.下面所列选项中,不能正确定义并初始化一维数组b的是(D)0

(A)double[]b=newdouble[5]{1,2,3,4,5};(B)double[]b=new

double[]{1,2,3,4,5};(C)double[]b={1,2,3,4,5};(D)double

[]b=new{1,2,3,4,5};3.下面所列选项中,能够正确定义2行3

列二维整型数组a的是(B)。(A)int[][]a=newint[2][3];

(B)int[,]a=newint[2,3];(C)int[2][3];(D)int[,]

a=int[2,3];4.下面所列选项中,不能正确定义并初始化二维数

组a的是(C)o(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

[2,3]{1,2,3,4,5,6};(D)int[,]a={{1,2,3},{4}5,6}};5.设

有C#数组定义语句:int[]a=newint[5];对数组a元素的正

确引用是(B)

第11页共24页

(A)a[5](B)a[100-100](C)a(0)(D)a+16.设有C#

数组定义语句序列:double[]myArr;myArr=newdouble[10];数

组元素myArr[5]的值为(A)(A)0(B)'O'(C)null(D)

随机值7.设有C#数组定义语句:float[,]a=newfloat[5,5];

对数组a元素的正确引用是(D)。(A)a[3][2](B)a[4,5]

(C)a[5,0](D)a[0,0]8.在C#语言中,表示数组长度属性的关

键字是(D)o(A)Len(B)Size(C)Long(D)Length9.在

C#语言中,数组Array实现一维数组由小到大排序的静态方法是

(A)o(A)Array.Sort(B)Array.Reverse(C)Array.Long

(D)Array.Order。10.在C#语言中,Array实现数组逆排序的

静态方法Array.Reverse的意思是(D)(A)实现一维数组由小

到大排序(B)实现一维数组由大到小排序(C)实现二维数组反向

排序(D)实现一维数组反向排序二、选择填空题1.C#语言中,

数组属于引用数据类型,即数组内容所占用的存储单元是C,数组

变量的值是这组存储单元的起始地址。2.无论是一维数组、多维

数组、还是不规则数组,在C#语言中对数组的定义都分为两个步骤:

定义数组变量;Ho3.数组在定义时可以进行初始化,即在定义

数组时为其指定初始值。C#语言中规定,初始化值序列中的数据个

数F。4.数组元素在程序中使用下标变量的形式表示。作为变量

个体而言,下标变量与它同类型的普通变量(简单变量)是等价的,

即数组的下标变量和普通变量的Ao5.数组的Rank属性表示规

则数组的Eo对于交错数组而言,Rank属性值都是1。其备选

项:(A)用法相同(B)行数(C)一组连续的内存区域(D)用

法不相同(E)维数(F)必须与数组的长度完全一致(G)可以是

任意多个(H)数组变量初始化(I)一组可以不连续的内存区域(J)

数组变量实例化三、程序设计题1.创建控制台应用程序,判断从

键盘上输入的正整数是否“回文数”。所谓“回文数”指的是正读

反读都相同的数,例如1234321。2.建立Windows窗体应用程序,

用随机函数生成一个MXN的2位数矩阵A,然后使其旋转90o,

形成另一矩阵B,并使矩阵A和B显示在窗体上。3.编写程序,

利用随机函数为数组A赋予10个随机二位整数,找出其中具有最

大值的元素并指示其位置。4.编写程序,从利用随机函数产生

的20个2位整数元素中,找出最接近平均值的元素。要求:在

窗体上显示这20个元素、它们的平均值以及最接近平均值的元素。

第12页共24页

5.编写程序,在文本框中输入一段英文短文,单击按钮,就能

在标签控件中指示出现次数最多的字母,并统计该字母出现的次数。

(不区分大小写)6.创建图6-21所示Windows窗体应用程序,

求解猴子选大王问题。n只猴子选大王的选举方法如下:所有猴子

按1、…、编号围坐成一圈,2、n从第1号开始按照1、…、

2、m报数,凡报到m号的猴子退出圈外;剩下的猴子重复上述报

数退出过程直到圈内只剩下一只猴子为止,最后剩下的猴子便是大

王。设计如下图所示的窗体界面。程序运行时输入猴子总数n和报

数的终止数m,单击“选举”按钮进行选择,退出竞争猴子的编号

通过标签输出;猴王编号显示在对应文本框中;单击“清除”按钮清

除所有信息;单击“退出”按钮结束程序运行。

图6-20

“猴子选大王”

7.创建一个具有1,000,000个元素的数组,以4位随机正整

数赋值,然后进行从小到大的排序。在窗体上输出排序的开始时间、

结束时间和以毫秒为单位的排序时间。

习题七

一、单项选择题1.要使窗体启动时位于屏幕中央,应设置窗体

的StartPosition属性为(A)。(A)CenterScreen(B)

WindowsDefaultBounds(C)CenterParent(D)

WindowsDefaultLocation2.卸载窗体的操作命令应为(D)。(A)

Move()(B)Hide()(C)Load()(D)Dispose()3.程序运行期

间,用户拖动水平滚动条Scrolll的滑块时,若要在文本框Textl

中随时反映滑块位置的变化,应将语句Textl.Text=

Scrolll.Value写在(A)事件过程内。(A)Scroll(B)Validated

(C)StyleChanged(D)TablndexChanged4.要使图片在PictureBox

中按原大小完整显示,应设置SizeMode属性为(A)。(A)

AutoSize(B)Stretchimage(C)Centerimage(D)Zoom5.Label

控件的边框样式由(B)属性决定。(A)FlatStyle(B)BorderStyle

(C)BackColor(D)AutoSize6.若要获知ListBox控件中当前

的列表项数目,可通过访问(C)属性来实现。(A)List(B)

Listindex(C)ListCount(D)ItemData7.使用(D)方法,

可以把一个字符串数组的内容全部添加到ListBox控件中。(A)

Add()(B)Remove()(C)Clear()(D)AddRange()

第13页共24页

8.要确定ComboBox控件的列表中第一个姓王的选项所在位

置,应调用的方法是B)(o(A)FindFormO(B)FindString()

(C)Beginlnvoke()(D)FindStringExct()9.访问组合框的(A)

属性,可以获得用户在组合框中输入或选择的数据。(A)Text(B)

ItemData(C)Selectedlndex(D)SelectedValue二、选择填空题

(1)窗体的标题栏显示内容由窗体对象的L属性决定。(2)仅当

G属性为true的情况下,TextBox控件才可能显示出垂直滚动条。

(3)鼠标每次单击滚动条两端的滚动箭头,导致Value属性的变化

量取决于E属性。(4)若要使Button控件暂时失效,可将它的

M属性设置为false0(5)要使Label控件始终能完整显示其Text

属性中的文字,必须设置它的N属性为true。(6)程序运行期间,

使文本框Boxl获得焦点的语句是So(7)程序运行期间,可通

过访问B属性获得用户在文本框内选择的文本。(8)要撤消在

RichTextBox中刚刚执行过的一项操作,应调用K方法。(9)清

除PictureBox控件Piel中已载入的图片内容,应该使用的操作是

Do(10)添加到ImageList组件中的图片,其显示输出的大小

由ImageList的I属性统一决定,而且限定其宽度和高度最大值

均为H像素。备选答案:(A)Visible(B)SelectedText(C)

SelectionStart(D)Picl.Image=null;(E)SmalIChange(F)Redo()

(G)Multiline(H)256(I)ImageSize(J)Size(K)Undo()

(L)Text(M)Enabled(N)AutoSize(0)320(P)Piel.Load("")

(Q)LargeChange(R)String(S)Boxl.Focus0;(T)

Boxl.Focused=true;三、程序设计题1.设计图7-25所示Windows

窗体应用程序。单击“显示”按钮之后,在文本框内20号大小的黑

体显示字符串,并能自动换行;再次单击按钮,则清除文本框内的文

字。

图7-25

在文本框中显示特定格式文字

图7-26

在列表框中以多列形式显示数据

2.设计应用程序,窗体加载之后,在列表框(ListBox)中以图

7-26的多列形式自动显示出1到100范围内的所有奇数。要求将

列表框的属性设置以及完成显示结果的代码均在窗体加载事件过程

中书写。3.设计图7-27所示程序,窗体加载后,从左到右徐徐展

开一幅画卷,历时5秒完成。与此同时,ProgressBar同步地表现

画卷展开的进度。

第14页共24页

图7-27

从左到右徐徐展开画卷

图7-28

运动员比赛成绩评分程序

4.设计图7-28所示运动员比赛成绩评分程序,7位裁判分别

在文本框内输入自己的打分,单击“计算成绩”按钮,去掉一个最

高分,去掉一个最低分,计算剩下5位裁判打分的平均值,即为运

动员得分,在Label控件中输出结果。5.设计图7-29所示应用

程序,利用Timer控件,实现如下功能:(1)程序启动运行后,使

窗体上标签文字“学无止境”的字号以可视的速度自动平滑地增大

/缩小,且始终保持在窗体上水平方向的中央位置;(2)当标签的宽

度增大到超过窗体宽度时,标签文字开始自动平滑缩小;(3)当标

签的宽度缩小到<窗体宽度1/10时,重新开始文字自动增大的过程。

(4)如此反复,持续进行。(5)按下键盘上的任意键,结束程序运

行。

图7-29

标签文字自动放大与缩小

图7-30

列表框项目增加与移除

6.设计具有图7-30所示界面的程序,并具有如下功能:(1)在

左侧列表框中选择一个项目,单击按钮,把它移动到右侧列表框中。

(2)单击按钮,把左侧列表框中的全部项目移动到右侧列表框中。

(3)在右侧列表框中选择一个项目,单击按钮,把它移动到左侧列

表框中。(4)单击按钮,把右侧列表框中的全部项目移动到左侧列

表框中。(5)项目在两个列表框中不重复出现,并且始终保持原有

的先后顺序。

习题八

一、单项选择题1.通过SaveFileDialog对话框保存文件时,

默认的初始路径由(B)属性决定。

第15页共24页

(A)Filter(B)InitialDirectory(C)Modifiers(D)Tag

2.如果ColorDialog的(B)属性为true,颜色对话框则以包

含调色板(规定自定义颜色)的扩展形式打开。(A)AnyColor(B)

FullOpen(C)Modifiers(D)AllowFullOpen3.下列对象中,

不可能添加到状态栏上的是(A)o(A)ComboBox(B)StatusLabel

(C)ProgressBar(D)DropDownButton。4.在下列字形

(FontStyle)中,不能通过FontDialog设置的是(B)(A)Bold

(B)Dotted(C)Italic(D)Underline5.通过OpenFileDialog

对话框打开文件时,默认的初始文件名由(C)决定。(A)Filter

(B)InitialDirectory(C)FileName(D)AutoExtension二、

选择填空题属性设置的。1.下拉菜单中一个特定选项的快捷键是

通过C2.为了在“打开”对话框中一次选择多个文件,需要设

置OpenFileDialog的属性G为true,被选中的这些文件的完整

路径保存在OpenFileDialog的I属性中。3.SaveFileDialog对

象的对话框标题默认显示“另存为",设置F属性可以使之改变

成其它文字。4.鼠标指向工具栏中的一个选项,光标下方动态显

示的文字由该选项的L属性决定。5.在Windows窗体应用程序中,

由具体对象的H属性决定与哪个上下文菜单相关联。备选答案:

(A)Multiline(B)String(C)ShorCutkeys(D)CheckOnClick

(E)AutoSize(F)Title(G)Multiselect(H)ContextMenuStrip

(I)FileNames(J)Size(K)FileName(L)Text三、程序设

计题1.设计一个带有菜单栏、状态栏和图片框的应用程序,执

行“打开”操作时,能利用“打开”文件对话框选择一张jpg、

gif、png等格式的图片文件,将其在图片框中显示,并在状态栏显

示被打开的文件名。

图8-13

带有菜单栏与状态栏的程序

图8-14

把多次打开的文本文件内容连接显示

2.设计图8-14所示应用程序,当多次执行“打开”操作时,

每次都能利用“打开”文

第16页共24页

件对话框选择位于不同路径下的文本文件或RichText文件,并

将它们的内容依次连接起来,在RichTextBox中显示,同时在状态

栏显示当前被打开的文件名。3.设计图8-14所示应用程序,执行

“打开”操作时,能在“打开”对话框中选择位于同一文件夹之内

的多个.txt文件,并将它们的内容连接起来,在RichTextBox中显

示。4.设计一个窗体底部带有状态栏的应用程序,程序运行期间,

在状态栏上以“打字机”方式显示文字“欢迎使用我设计的小程

序”,即每隔200毫秒增加显示一个字,当所有的文字都显示以

后,停留1秒,然后全部抹去,从头重新开始这个过程。

习题九

一、单项选择题1.通过FolderBrowserDialog选择的文件目

录保存在(D)属性中。(A)RootFolder(B)InitialDirectory

(C)Modifiers(D)SelectedPath2.Directoryinfo类的实例对

象用于获得指定目录下所有文件的方法是(B)。(A)

GetDirectories(B)GetFiles(C)GetHashCode(D)GetObjectData

3.记载Fileinfo类的实例对象的最近被修改时间的属性是(C)。

(A)LastAccessTime(B)LastAccessTimeUtc(C)LastWriteTime

(D)LastWriteTimeUtc4.Directory类可以用(D)方法获取指

定目录下所有符合检索条件的文件。(A)GetAccessControl()(B)

GetDirectoryRoot()(C)GetDirectories()(D)

GetFileSystemEntries()5.FileStream类是设计用于处理文件输

入输出操作中的(A)的。(A)字节流(B)字符流(C)二进

制流(D)数值流6.使用StreamReader对象的(D)方法,可

以一次性读取指定文件的全部内容。(A)Read()(B)ReadBlockO

(C)ReadLine()(D)ReadToEndO7.调用BinaryWriter对象的

(C),不能将写缓冲区中的数据写入目标文件。(A)CloseO(B)

Flush(C)Seek()(D)WriteO8.通过FileStream对象创建新

的文件,如果选择FileMode为(D),则在指定的文件名已存

在时将其覆盖。(A)Truncate(B)Open(C)CreateNew(D)

Create9.判断由一个FileStream对象所代表的字节流是否支持查

找操作,可依据的属性是(B)。(A)CanRead(B)CanSeek(C)

CanTimeout(D)CanWrite10.下列有关FileStream对象的文件

访问模式(FileAccess)中错误的是(C)。(A)Read(B)ReadWrite

(C)Delete(D)Write二、选择填空题1.File类用于判断指

定文件是否存在的方法是Mo2.Fileinfo对象可以用。方法来

替换指定路径下的同名文件。3.Path类用来将两个部分路径字符

串合并成一个完整路径的方法是CO

第17页共24页

4.向一个Fileinfo对象所代表的数据文件追加新的文字信

息,应该调用N方法。5.在C#的文件管理中,可以用来实现文

件复制操作的类的方法包括File类的S和Fileinfo类的G。

6.利用File类的H方法,可以获取一个文件最近被访问的时间。

I方法分块复制,一次读取7.复制特别大的文件时,可以使用

FileStream对象的指定块长度的字节到临时设置的字节数组,然后

再把字节数组的内容写入到目标文件。8.利用Streamwriter对

象的E方法,可以强制将写缓冲区内容存入文件,并清空缓冲区,

准备继续写操作。9.若希望知道一个文件存储在磁盘的哪个分区

上,可以调用Path类的T方法。(A)Close()(B)ReadByte()

(C)Combine()(D)GetPathRoot()(E)Flush()(F)OpenWrite()

(G)CopyTo();(H)GetLastAccessTime()(I)ReadO(J)Equals()

(K)ReadAllText()(L)ChangeExtension(M)Exists()(N)

AppendTextO(0)Replace()(P)GetCreationTime()(Q)GetRoot()

(R)Decrypt0(S)Copy()(T)GetFullPath三、程序设计题1.编

写控制台应用程序,打开D盘上名为“a.txt”的文本文件,清除正

文中除汉字、阿拉伯数字和中文标点符号以外的字符,然后将其以

文件名“b.txt”保存到D盘。2.创建一个具有幻灯效

果的图片(仅包括.jpg和.gif类型)浏览程序,以

folderBrowserDialog选择图片存储路径之后,按每3秒更换一张

的速度,在图片框中轮流显示被选择路径之下所有图片的内容。

3.创建一个图片浏览程序,通过folderBrowserDialog选择图片存

储路径之后,在列表框中显示被选择路径之下的所有图片文件名(仅

包括.jpg和.gif类型),并自动在图片框中显示第一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论