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

下载本文档

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

文档简介

习题与解答

习题一

一、单项选择题

1在VisualStudio.NET窗口中,在窗口中可以察看当前项目的类和类型的

层次信息。(B)

A.解决方案资源管理器B.类视图C.资源视图D.属性

2.能作为C#程序的基本单位是(B)o

A.字符B.语句C.函数D.源程序文件

3.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种(B)。

(A)面向过程程序设计语言(B)面向对象程序设计语言

(C)跨平台程序设计语言(D)机器语言

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

(A)但不支持继承(B)而且支持多继承

(C)但仅支持单继承(D)支持单继承和多继承

5.C#应用程序由一个或者多个类组成,一个应用程序的所有程序代码(A)。

(A)必须封装在类中(B)不能封装在类中

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

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

(A)use(B)namespace(C)import(D)using

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

键字(D)表示。

(A)using(B)spacename(C)class(D)namespace

8.C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为(C)。

(A)class(B)main(C)Main(D)MainWay

9.C#中的注释方法有三种,下列注释方法中错误的是(D)。

(A)单行注释“〃”(B)多行注释“/*和*/”

(C)XML注释“/〃”(D)HTML注释“<!一和一〉”

10.下列对控制台应用程序描述正确的是(C)。

(A)控制台(Console)应用程序就是对设备进行控制的应用程序

(B)控制台(Console)应用程序包含了大量Windows系统的组成元素

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

(D)控制台(Console)应用程序是基于标准C语言的单片机技术

11.在控制台应用程序中,如果在程序开头使用usingSystem;语句引入了System命名

空间,则下列对Read。和ReadLine()方法调用错误的是(D)。

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

(C)Console.ReadLine();(D)Read();

12.在C#的Windows应用程序中,不论任何控件,共同具有的是(B)属性。

(A)Text(B)Name(C)ForeColor(D)Caption

13.下列语句的输出是。(B)

doubleMyDouble=123456789;

Console.WriteLine("{0:E}",MyDouble);

A.S123,456,789.00

B.1.234568E+008

C.123,456,789.00

14.下面对Read()和ReadLine()方法的描述,哪些是正确的O(A)(D)

A.Read()方法一次只能从输入流中读取一个字符

B.使用Read。方法读取的字符不包含回车和换行符

C.ReadLine。方法读取的字符不包含回车和换行符

D.只有当用户按下回车键时,Read()和ReadLine()方法才会返回

15.下面对Write。和WriteLine。方法的描述朋E些是正确的0(A)(B)(D)

A.WriteLine()方法在输出字符串的后面添加换行符

B.使用Write。输出字符串时,光标将会位于字符串的后面

C.使用Write。和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串

D.使用不带参数的WriteLine。方法时,将不会产生任何输出

二、选择填空题

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

置的核心程序设计语言。

2.C#程序设计语言的主要特点有:语法简洁、满足通用语言规范、面向对象、兼容性

和灵活性、以及_C_等。

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

源程序文件中可以有一个或者多个类,_E_将一个类拆散存放在不同的源程序文件

中。

4.为源程序文件命名_J_,既可以与类的名字相同,也可以不同。

5.在定义C#语言的标识符构成时,_G_字母符的大小写形式。

备选项:

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

(E)但不允许(F)而且允许(G)需要区分(H)有限安全性

(I)必须与类名一致(J)不受类名限制

6..C++源程序文件的默认扩展名为(cpp兀

7.由C++源程序文件编译而成的目标文件的默认扩展名为(obj)o

8..C++程序从上机到得到结果的几个操作步骤依次是(编辑、编译、连接、运行兀

9.C++语言是在_C语言的基础上发展起来的。

10.行尾使用注释的开始标记符为//

三、思考题

1.简述C#语言的语句书写规则。

答案:(1)语法简洁

(2)满足通用语言规范

(3)面向对象

(4)完整的安全性和错误处理

(5)兼容性和灵活性

(6)版本控制

(7)与Web的完美结合

2.简述在VS2008集成环境中创建C#控制台应用程序的主要步骤。

答案:

四个步骤:

(1)启动运行“MicrosoftVisualStudio2008”,进入VS2008集成开发环境;

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

(3)在应用程序编辑环境中输入程序代码;

(4)调试运行程序。

3.简述在VS2008集成环境中创建C#Windows窗体应用程序的主要步骤。

答案:

四个步骤:

(1)设计用户界面

(2)设置对象属性

(3)编写对象事件过程代码

(4)保存并运行程序(生成可执行代码)

4.一个C#控制台应用程序主要由哪几个部分构成?

答案:

(1)导入其他系统预定义元素部分;

(2)命名空间;

(3)类;

(4)方法(主方法、事件响应处理过程)

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

答案:C#中的注释方法有三种:

(1)单行注释在一个语句行上,用双斜杠“〃”作为引导符,其后的任何内容均

为注释信息,编译时被忽略,通常用于注释字符串较短的场合。

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

注释的情况

(3)XML注释在一个代码行上,用“〃/”开始,其后的任何内容均为注释信息,

编译时被提取出来,形成一个特殊格式的文本文件(XML),用于创建文档说明书。

6.什么是托管方式?

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

语言都遵守通用语言规范。在通用语言规范中,任何语言编写的源程序都被编译成为相

同的中间语言(MSIL)代码,然后由通用语言运行环境(CommonLanguageRuntime,

CLR)负责执行,这种处理方式称为“托管方式”,因而这样的代码亦称为“托管代码”。

习题2

1.要使窗体刚运行时,显示在屏幕的中央,应设置窗体的__(B)—属性。

A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr

2.要使文本框控件能够显示多行而且能够自动换行,应设置它的__(B)____属性。

A.MaxLength和MultlineB.Multlineh和Wordwrap

C.PassWordChar和MultlineD.MaxLength和Wordwrap

3.窗体中有一个年龄文本框txtAge,下面(D)代码可以获得文本框中的年龄值。

A.intage=txtAge;B.intage=txtAge.Text;

C.intage=Convert.Tolnt32(txtAge);D.intage=int.Parse(txtAge.Text);

4.下面(AC)代码能向组合框cboYears添加一项。

A.intyear=1997;

cboYears.Items.Add(year);

B.intyear=1997;

cboYears.Add(year);

C.intyear=1997;

cboYears.Items.Add(year.ToString());

D.intyear=1997;

cboYears.Add(year.ToString());

6.当ListView的视图为Details时,以下(A)属性可以设置显示的各个列。

A.ColumnsB.GroupsC.ItemsD.Subitems

2.填空题

1)使控件是否可以对用户交互作出响应的属性是Enabled。

2)控制控件是否显示的属性是Visible_。

3)若要在文本框中输入密码,常指定PasswordChar____属性。

4)若某复选框某时刻CheckState属性的值为Indeterminate,则其属性Checked

的值为Unchecked0

5)使用___Panel或_GroupBox—控件可以将多个RadioButton控件分

为两个单选组。

6)若不希望用户在ComboBox控件中编辑文本,则应将属性DropDownStyle的属性

值设置为___DropDownList。

7)用于设置MenuStrip控件中某菜单项快捷键的属性是ShortcutKeys___。

8)用于控制ListView控件中的各项显示方式的属性是—View—.

3.判断题

1)控件就是属性、方法和事件的集合封装体。(对)

2)TextBox控件只能用于单行文本的输入。(错)

3)通过RichTextBox控件只能够与RTF文件进行交互操作。(错)

4)CheckBox控件的Checked属性与CheckState属性的值始终是相同的。(错)

5)ToolTip组件用于显示某指定控件的自定义提示信息的。(对)

4.问答题

1.区别TextBox控件、MaskedTextBox控件、RichTextBox控件的使用场合。

【解答】

TextBox控件一般用于单段文本的编辑,可以设置为单行或多行的输入模式,也可

以用作密码的输入;MaskedTextBox控件主要用于特定格式的单段文本编辑,在输入文本

不符合格式要求的将会触发其MaskinputRejected事件;RichTextBox控件除了具有

TextBox的一般文本编辑功能外,还可以进行多段文本的高级编辑功能,如改变文本、

段落的显示格式、在文本中查找特定字符和字符串以及与Rtf文件的交互等。

2.简要说明CheckBox控件和RadioButton控件的区别。

【解答】

CheckBox控件可为用户提供选择功能,常用的是二选一的选择,如“真/假”或“是

/否”;但该控件也可以通过属性的设置作三选一的选择。每一个CheckBox所代表的选择

都是独立的,若有多个CheckBox控件构成一组选项时,则可以多个同时被选中,相互之

间不影响,叩复选。RadioButton控件,它与CheckBox控件功能类似,也是用于接收用

户的选择,但它是以单项选择的形式出现,即一组RadioButton按钮中只能有一个处于

选中状态。一旦某一项被选中,则同组中其他RadioButton按钮的选中状态自动清除。

5.编程题

1.设-■个Windows应用程序,窗体上有一个TextBox控件、一个Button控件。要求,

每当用户单击按钮时,文本框都会增加一行文字来反映单击的次数,例如“第3次单击

按钮”。

t解笞】

1)窗体界面如图Ex5-5T所示;

2)窗体中主要控件属性设置如表Ex5-5T;

表Ex5-5-l窗体中的主要控件属性

控件Name属性功能其它属性

TextBoxtextBoxl显示信ScrollBars=Vertical;

控件息Multiline=True

ButtonButtonl触发添

控件加信息

事件

Button2触发结

束添加

事件

3)主要事件代码。

inti=1;

boolAdd=true;

...privatevoidbuttonlClick(objectsender,EventArgse)

(

if(Add)textBoxl.Text+=〃第〃+i+〃次单击按钮\r\n〃;

i++;

)

privatevoidbutton2_Click(objectsender,EventArgse)

(

Add=false;

)

6.编写一段程序,向ListBox控件listBoxl中,自动添加10个数,每个数占一项。

【解答】

主要代码如下:

以下是引用片段:

publicpartialclassForml:Form

intm=1;

privatevoidbutton!_Click(objectsender.EventArgse)

(

for(inti>m;i<m+10;i++)

(

listBoxl.Items.Add(i);

}

m=m+10;

}

}

习题3.1

一、单项选择题

1.以下标识符中,正确的是°(A)

A._nNameB.typeofC.6bD.x5#

2.以下类型中,不属于值类型的是一。(D)

A.整数类型B.布尔类型C.字符类型D.类类型

3.在C#中,表示一个字符串的变量应使用以下哪条语句定义?

A.CStringstr;B.Stringstr;C.DimstrasstringD.char*str;

4.C#程序中用到的数据分为两个大类,它们是(A)。

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

(C)数值类型和字符类型(D)简单类型和复杂类型

5.C#语言中,值类型数据对象占用的存储空间大小(B)。

(A)不固定(B)相对固定(C)可以任意指定(D)都是相同的

3.C#语言中,引用类数据对象占用的存储空间大小(D)。

(A)不得而知(B)相对固定(C)都是相同的(D)随实际需要而定

6.C#语言中,基本整型数据类型(int)所占用的存储空间为(C)个字节。

(A)1(B)2(C)4(D)8

7.C#语言中,双精度实型数据类型(double)所占用的存储空间为(D)个字节。

(A)1(B)2(C)4(D)8

8.C#语言中,字符数据使用Unicode字符集,其占用的存储空间为(B)个字节。

(A)1(B)2(C)4(D)8

9.下面的运算符中,优先级别最低的是(D)。

(A)new(B)!=(C)?:(D)=

10.设有整型变量x,则表达式x=5/8运算后,变量x的值为(A)。

(A)0(B)0.625(C)0.6(D)0.63

11.C#语言中,字符串常量@”1233456”的长度(有效字符个数)是(C)。

(A)6(B)7(C)8(D)9

12.为了将字符串str二”123,456”转换成整数123456,应该使用以下哪条语句?(A)

A.intNum=int.Parse(str);

B.intNum=str.Parse(int);

C.intNum=(int)str;

D.intNum二int.Parse(str,Globalization.NumberStyles.AllowThousands);

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

(A)Compare(B)Concat(C)Copy(D)Substring

14.C#应用程序中,标识符用于给程序处理的数据对象命名。组成标识符的字符为字母、

数字和下划线,标识符的第一个字符(B)o

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

(C)必须是下划线(D)可以是字母或者是下划线

15.在程序中如果要使用系统保留字(关键字)作为自定义标识符,必须使用字符(A)

作为引导符。

(A)@(B)$(C)#(D)〜

16.下面所列的C#标识符中,错误的是(B)。

(A)myld(B)int(C)(gif(D)int

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

(A)@double(B)Sdouble(C)#double(D)〜double

18.C#中所有字符都是使用(A)

(A)Unicode编码表示(B)UTF-8编码表示

(OUTF-16编码(D)GBK编码

19.关于C#程序的书写,下列不正确的说法是一0(D)

A.区分大小写

B.一行可以写多条语句

C.一条语句可写成多行

D.一个类中只能有一个Main。方法,因此多个类中可以有多个Main。方法

20.在C#语言中,下列能够作为变量名的是一。(0

A.ifB.3abC.a3bD.a-bc

21.在C#语言中,下面的运算符中,优先级最高的是_(A)

A.%B.++C./=D.»

22.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是_(D)_。

A.a>=10ora<=0B.a>=101a<=0

C.a>=10&&a<=0D.a>=10||a<=0

23.在C#中可用作程序变量名的一组标识符是(B)

A.a3_b3_123YourName

B.voidnamespace+word

C.for-abcCase

D.2agoodref

二、选择填空题

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

直接存放Fo

2.在C#语言中,引用类数据对象占用的存储空间大小随需要而定,该类数据对象并不

真正表示自己所具有的内容,而是表示一A—。

3.在C#程序设计中,定义值类型变量的同时可以对其进行初始化,初始化时提供的初

始化数据一C—。

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

进制数据一J—。

5.布尔数据类型占用一个字节的存储区域,其变量只有两种取值:H

备选项:

(A)自己内容所在存储区域的引用(B)Yes或No

(C)必须在对应变量的取值范围之内(D)Oh或者OH

(E)可以在对应变量的取值范围之外(F)该类数据对象所具有的值

(G)“真”或“假”(H)true或false

(I)数据对象的名字(J)使用Ox或者0X开头

6.一个完整程序中必须有一个名为_Main_—的函数。

7一个函数的函数体就是一条「复合____语句。

8.在C#程序中,程序的执行总是从Main方法开始的。

9、在C#中,bool类型只有两种值,分别是_true和_false

10、在C#中,使用const关键字声明符号常量。

三、程序设计与分析题

1.创建图2-7所示Windows窗体应用程序,在两个文本框中分别输入整数值,然后单击

“计算”按钮,就能在标签控件中输出两个整数值相加之和。

图2-7计算两个整数相加之和图2-8华氏温度转换为摄氏温度

2.已知将华氏温度转换为摄氏温度的公式为:c=52创建图2-8所示的Windows

9

窗体应用程序,实现将文本框内输入的华氏温度转换为摄氏温度的功能,计算结果在标

签控件中输出。

3.创建控制台应用程序,在控制台端键盘输入一个半径值,就能计算输出圆的面积。

4.根据如下的枚举定义,fruit.peach和fruit.strawberry的值分别是多少?

enumfruit:int

(

apple=5,apricot,banana,peach,pineapple=12,strawberry

}

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

5.专家认为,成人血压的正常范围是:

收缩压90~140mmHg(12.0-18.7kPa)1kPa=7.5mmHg

舒张压60〜90mmHg(8.0〜12.0kPa)

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

答案:doublexueya;〃血压值

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

习题3.23.3

一、单项选择题

1.当变量X的值在[1,100]范围内时・,下面的C#表达式返回值为“真”的是(D)。

(A)l<=x<=100(B)x>=l||x<=100

(C)x>l&&x<100(D)x>=l&&x<=100

2.下面的C#表达式中,描述了数学关系疟yNz的是(B

(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)o

(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)

4.设有C#语句:inta=5,b=4;,则下列表示条件的表达式中值为“假”的是(C)。

(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

6.以下程序的输出结果是_(C)_。

Usingsystem;

ClassExample1

(

PublicStaticvoidmain(){

inta=5,b=4,c=6,d;

Console,writeline('{0}",d=a>b?(a>c?a:c):b);

A.5B.4C.6D.不确定

7.以下程序的输出结果是_C_o

usingsystem;

classExamplel

(

publicstaticvoidMainO

(

inta=5,b=4,c=6,d;

d=a>b?(a>c?a:c):b;

Console.Writeline(d);

)

)

A.5B.4C.6D.不确定

8.写出以下程序的运行结果。

usingSystem;

classTest

(

publicstaticvoidMainO

(

intx=5;

inty=x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

)

)

答案:5

7

9.if语句后面的表达式应该是(A)_0

A.逻辑表达式B.条件表达式C.算术表达式D.任意表达式

10.有如下程序Usingsystem;

ClassExample1

(

PublicStaticvoidmain()

intx=l,a=0,b=0;

switch(x)

(

case0:b++,break;

case1:a++,break;

case2:a++,b++,break;

}Console.Writeline(z,a={0},b={l}a,b);

}}的输出结果是(C)〃代码有误,break前面“J都改为

A.a=2,b=lB.a=l,b=lC.a=l,b=0D.a=2,b=2

IL.有如下程序

Usingsystem;

ClassExamplel

(

PublicStaticvoidmain()

(

intx=0,a=0,b=0;

switch(x)

{

case0:b++;break;

casel:a++;

case2:a++;b++;break;

)

Console.writeline(,za={0},b={1}〃,a,b);

)

}的输出结果是A

A.a=0,b=lB.a—1,b=1C.a—1,b=0D.a—2,b—2

12已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为—。(C)

if(c<b)N=a+b+c;

elseif(a+b<c)N=c-a-b;

elseN=a+b;

A.3B.-3C.9D.15

13.以下叙述正确的是_(C)__。

A.do-,while语句构成的循环不能用其他语句构成的循环来代替

B.do….while语句构成的循环只能用break语句退出

C.用do….while语句构成的循环,在while后的表达式为true时结束循环

D.用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

14.以下关于for循环的说法不正确的是_(A)_。

A.for循环只能用于循环次数已经确定的情况

B.for循环是先判定表达式,后执行循环体语句

C.for循环中,可以用break语句跳出循环体

D.for循环体语句中,可以包含多条语句,但要用花括号括起来。

15.下列代码输出正确的是__(D)namespaceAnswer

(

classProgram

(

staticvoidMain(string[]args)

(

intI,j;

for(i=l;i>=0;i­)

for(j=0;j<=I;j++)

Console.WriteLine(^i*j={0}n,i*j);

}}}

A.i*j=0i*j=0i*j=0

B.i*j=li*j=0i*j=l

C.i*j=li*j=li*j=0

D.i*j=0i*j=li*j=0

16.下面对i值的输出结果说法正确的是.(A)

namespaceAnswer

(

classProgram

(

staticvoidMain(string[]args)

(

intido{i++;

}while(i<5)

Console.WriteLine(ui值的为:{0}",i)}}}

A.i的值为:5B.i的值为:6

C.i的值为:7D.i的值为:8

17)以下程序段的输出结果是A

A1B30C1-2D死循环

intx=3;

do

{Console.WriteLine(z,{0}〃,x-=2);)

while(!(-x>=0));

18)以下程序段的输出结果是D

A9B1C11D10

intk,j=0,s=0;

for(k=2;k<6;k=k+2)

{s=l;

for(j=k;j<6;j++)s+二j;

)

Console.WriteLine(,zs={0}s);

Console.ReadLine();

19)以下程序段的输出结果是C

A12B15C20D25

inti,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)m++;

Console.WriteLine(/zm={0}m);

Console.ReadLine();

20)以下程序段的输出结果是B

A10B9C10D9

9898

8787

6

intn=10;

while(n>7)

n--;Console.WriteLine(,zm={0}n);

二、Console.ReadLine();选择填空题

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

而用“逻辑或运算”表示某个数据对象的值IO

2.C#语言中规定:在包含了if语句嵌套结构的程序中,else子句与在它前面距它最近

的且_B_if配对。

3.C#应用程序中,在一个循环结构的循环体内又包含另外一个—A—,称为循环

的嵌套。

4.break语句是一条限定转移语句,只能在—D—使用。

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

备选项:

(A)完整的循环结构(B)尚未匹配的

(C)是否在给定范围之内(D)switch语句结构和循环结构中

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

(G)已经配对的(H)while结构中

(I)是否在给定范围之外(J)循环结构的循环体中

6、设x为int型变量,请写出描述“-10v=xv=10”的C#语言表达式:10v=x&&x<=10_o

7.若k为int整型变量且赋值15.请写出k++后表达式的值A)_15和变量值

B)16.

8。"10〈xW30"的C语言表达式是—X>=10&&X<=30。

9.C#语言中的关系运算符按优先级分别是—<<=>>=,—

10.将下列数学式改写成C#语言的关系表达式或逻辑表达式A)_a=b||a<c_.B)

_x<-4||x<4___.

Aa=b或a<cB|x|>4

三写出运行结果题

1.运行以下程序段,结果是(150)

doublek,t;

t=0;

for(intn=l;n<=10;n++)

(

for(k=l;k<=5;k++)

t=t+k;

}

Console.WriteLine(t);

2.运行以下程序段,结果是(25)

usingSystem;

classSumw

(

staticvoidMain()

(

inti=l,sum=0;

while(i<=10)

(

sum+=i;

i+=2;

)

Textboxl.text="总和为:"+sum.ToStringO;

)

3.以下程序运行后,变量a的值为()

inta=100;

for(intj=10;j>0;j-=2)

a-=j*3;

4.以下程序运行后,控件textBoxl显示内容为(10)

inti;

for(i=10;i<=20;i++)

(

if(i%5==0)

(

continue;

)

textBoxl.text+=i.ToString()+,>”;

)

5,给出下列程序的运行结果:(5050)

usingSystem

ClassDome

(

StaticvoidMainO

{intn=l,sum=0;

while(n<101)

{

sum+=n;

n++;

)

Console.WriteLine("1+2+3+…+100="+sum);

)

)

Console.ReadLineO;

6.下面代码的输出结果是(57)。

intx=5;

inty=x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

7.当month等于6时,下面代码的输出结果是(30)。

intdays=0;

switch(month)

case2:

days=28;

break;

case4:

case6:

case9:

case11:

days=30;

break;

default:

days=31;

break;

)

Console.WriteLine(days);

8如果x=35,y=80,下面代码的输出结果是(报警)

if(x<-10||x>30)

(

if(y>=100)

(

Console.WriteLine("危险!");

)

else

(

Console.WriteLine("报警!");

}

)

else

(

Console.WriteLine("安全”);

)

9.下面代码运行后,s的值是()。

ints=0;

for(inti=1;i<100;i++)

(

if(s>10)

break;

}

if(i%2==0)

s+=i;

}

)

10.若打印如下图案,画线处应填入()。

****

***

**

*

for(inti=1;i<=5;i++)

(

for(intj=____;j<=5;j++)

(

Console.Write(/z*/z);

)

三、程序设计题

1.创建图3-20所示Windows窗体应用程序,程序运行时,在“年份”文本框中输入一

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

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

图3-20判断闰年图3-21输出星号组成的图案

2.创建控制台应用程序,输入一个正整数之后,输出图3-21所示图案。最顶部一行的

星号个数为输入的数。

3.创建控制台应用程序,利用下面多项式公式计算出口值,要求最后一项的值小于10%

£.>1-1+-!___!-

4=13+57+4"-34/1-1

4.创建控制台应用程序,利用下面的公式计算e的近似值,要求最后一项的值小于10为。

5.已知两个3位数abc和cba之和为1333(即abc+cba=1333),编写控制台应用程序,

求出3个数字a、b和c。

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

后又多吃了一个;第二天又将剩下的桃子吃掉一半后再多吃一个;以后每天都吃掉前

一天剩下的一半零一个。到第10天想再吃时,只剩下一个桃子。求猴子第一天共摘

下多少个桃子。

7.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中每个男人

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

女人和孩子各有多少人?本题有多个解,编写控制台应用程序求出所有的解。

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

最低分,求出的平均分即为运动员的得分。编写控制台应用程序,计算运动员得分。

9.所谓“水仙花数”,指的就是这样一个三位数:其各位数的立方和等于该数。例如:

153=13+53+33<,编写控制台应用程序,计算输出所有的水仙花数。

10.所谓“完备数”,指的就是这样一个数:该数的值恰好等于它的因子之和。例如,6

的因子为1、2、3,而6=1+2+3,因而6就是完备数。编写控制台应用程序,找出1-1000

之间的所有完备数。

11.编写程序,求解以下问题:

(1)在窗体上输出100〜500之间的所有奇数,并计算它们的和。

(2)在窗体上输出100〜200之间不能被3整数的所有数。

(3)统计1〜1000之内既能被5整除,也能被7整除的数的个数,并输出在窗体上。

(4)从300开始,找出连续100个既能被3整数又能被5整除的数。

(5)计算s=l!+2!+3!+…+n!(其中n是用户输入的正整数)。

(6)计算出不大于1000的10个最大的素数。

习题3.43.5

一、单项选择题

1.下面所列选项中,能够正确定义具有10个数据元素一维整型数组a的是(A)。

(A)int[]a=newint[10];(B)inta[10];

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

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

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

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

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

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

3.始化一维数组的语句,指出其中正确的是—O(D)

A.intarrl[]={6,5,1,2,3);

B.int[]arrl二newint[];

C.int[]arrl=newint[]{6,5,1,2,3};

D.int[]arrl;arrl={6,5,1,2,3};

4.下面所列选项中,能够正确定义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];

5.下面所列选项中,不能正确定义并初始化二维数组a的是(C)。

(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));

6.设有C#数组定义语句:int[]a=newint[5];对数组a元素的正确引用是(B)

(A)a[5](B)a[100-100](C)a(0)(D)a+1

6.设有C#数组定义语句序列:double[]myArr;myArr=newdouble[10];数组

元素myArr[5]的值为(A)

(A)0(B)'O'(C)null(D)随机值

7.有定义语句:int[,]a=newint[5,6];则下列正确的数组元素的引用是—。(C)

A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]

8.设有C#数组定义语句:float[,]a=newfloat[5,5];对数组a元素的正确

引用是(D)。

(A)a[3][2](B)a[4,5](C)a[5,0](D)a[0,0]

9.在C#语言中,表示数组长度属性的关键字是(D)o

(A)Len(B)Size(C)Long(D)Length

10.在C#语言中,数组Array实现一维数组由小到大排序的静态方法是(A)。

(A)Array.Sort(B)Array.Reverse(C)Array.Long(D)Array.Order

12.在C#语言中,Array实现数组逆排序的静态方法Array.Reverse的意思是(D)。

(A)实现一维数组由小到大排序(B)实现一维数组由大到小排序

(C)实现二维数组反向排序(D)实现一维数组反向排序

13.在C#中,下列哪条语句能创建一个具有3个初始值为〃〃的元素的字符串数组?(C)

A.stringStrList[3]("〃);

B.string[3]StrList=

C.string[]StrList=

D.string[]StrList=newstring[3];

14.假定int类型变量占用两个字节,若有定义:int[]x=new

int[10]{0,2,4,4,5,6,7,8,9,10};

则数组x在内存中所占字节数是—(B)。

A.6B.20C.40D.80

15.以下程序的输出结果是:(C)ClassExamplel

PublicStaticvoidmain()

inti;

int[]a=newint[10];

for(i=9;i>=0;i--)a[i]=10-i;

Console.Writeline('{0},{1},{2}<z»a[2],a[5],a[8]);

})

A.2,5,8B.7,4,1

C.8,5,2D.3,6,9

16.下列的数组定义语句,正确的是一。(D)

A.inta[]=newint[5]{1,2,3,4,

温馨提示

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

评论

0/150

提交评论