版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1填空题I. 计算机只能直接理解仅有1和0组成的机器语言。2计算机处理数据时,使用的是被称为 计算机程序的指令集。3. 本章讨论的计算机编程语言的三种类型是:机器语言、汇编语言和高级语言。4. 将高级语言程序翻译成机器语言的程序,称为 编译器。5. VisualStudio 是一个集成开发环境,C#程序在这个环境下开发。6. C#是一种面向对象、事件驱动的语言。7. C#编程语言是Microsoft专门为.NET平台而创建的。8. 超文本标记语言(HTML是用来在万维网衫通过“超链”的文本文档而工 程共享信息的一种语言。9. 公共语言运行时(CLR执行.NET程序。10. 对象具有属性,可
2、执行动作(也称为方法或 行为)。II. 面向对象设计(00D以与人们描述现实世界类似的方法来建模软件。1.2判断下列语句是否正确。1. UML主要用于实现面向对象的系统。错2. C#是一种面向对象的语言。对3. C#是编写.NET应用程序的唯一可用语言。错4. 计算机能够直接理解高级语言。错5. 不管原始的.NET语言尺,MSIL都是所有.NET程序编译时的共同中间格式。 对6.NET框架可移植到非Windows平台。对第二章2.1填空题1. 可视化编程技术使程序员能够不必编写任何代码即可创建GUI。2. 方案是一个或多个工程的组合,这些工程共同构成了一个VisualC#程序3. 当把鼠标指针
3、移到窗口区域以外时,窗口会再次隐藏起来,这一特性被称 为自动隐藏。4. 当鼠标指针悬停在图标上时,会出现 工具提示。5. 可以在Solution Explore窗口中浏览方案文件。6. Properties窗口中的属性可以按 字母顺序或类别顺序排序。7. 窗体的Text属性设置窗体标题栏中的文本。8. 工具箱使程序员能够以可视化的方式向窗体添加控件。9. 上下文相互帮助 会根据当前的上下文内容显示相关的帮助文件。10. TextAlign属性指定卷标仲如何对齐文本。2.2判断下列语句是否正确。1. IDE的标题栏显示的是IDE的模式。对会触发“自动隐藏”的特性。错3. 工具栏图标代表各种菜单命
4、令。对4. 工具栏包含程序员能够拖入窗体的控件的图标。错5. 窗体和卷标都有标题栏。错6. 只有在编写代码时才能够修改控件的属性。错7. 图形框控件通常显示图像。对8. C#文件的扩展名为.csharp。错9. 窗体的背景色是用BackColor属性设置的。对第三章3.1填空题1. 每个方法体以左大括号()开始,以右大括号()结束。2. 大多数语句都以分号(;)结束。3. 匚语句用来作出判断。4. 单行注释以/_开始。5. 空行、空白字符和制表符被称为可能空白字符。换行符也被认为是空白 字符。6. 关键字是C#呆留使用的。7. C#程序从Main方法开始执行。8. Console.writeL
5、ine禾廿Console.write 会在控制台窗 口显示信息。3.2判断下列语句是否正确。1. 当执行程序时,程序中的注释会使计算机在屏幕上显示/之后的文本。错2. C#会认为变量number和NuMbE是相同的。错3. 求余运算符(%只能用于整形操作数。错4. 算数运算符* , / , % +,都具有相同的优先级。错3.3编写语句,完成下列任务。1. 将变量 c, thislsAVariable,q76354 和 number声明成 int 类型。Intc , thislsAVariable,q76354 , number;或者Intc ;In tthisIsAVariableIntq76
6、354 ;Intnumber ;2. 提示用户输入一个整数。Console.Write( “ Enteraninterger :”) ;3. 输入一个整数并将它赋予一个 int 型变量 value 。Value=ConvertToInt32(Console.ReadLine() ;5. 如果变量 number 不等于 7,显示“ Thevariablenumberisnotequalto7 ”。 Ifnumber(!=7)Console.WriteLine( “Thevariablenumberisnotequalto7”);6. 在控制台窗口的一行中显示“ thisisaC#applicat
7、ion”Console.WriteLine( “ThisisaC#application”);7. 在控制台窗口的两行中显示“ thisisaC#application”,第一行应以“ C#结尾,使用 Console.WriteLine 方法。Console.WriteLine(“ThisisaC#napplication”);8. 在控制台窗口的两行中显示“ thisisaC#application ”,第一行应以“C#结尾,使用Console.WriteLine 方法和两个格式项。Console.WriteLine (“ 0/n1 ”,“ ThisisaC# ”,“ application
8、 ”);3.4 找出并改正以下语句中的错误。1.if (c7);Console.WriteLine ( “Cislessthan7 ”);错误:if语句中条件(c7)Console.WriteLine ( “Cisequaltoorgreaterthan7 ”); 错误:关系运算符 =不正确。改正:将 =改为 =。3.5 编写声明、语句或注释,完成下列任务。1. 表明程序将计算三个整数的乘积。 /Calculatingtheproductofthreeintegers2. 将变量 x ,y,z 和 result 声明成 int 型。Intx , y,z,result ;或者Intx;Inty;
9、Intz;Intresult;3. 提示用户输入第一个整数。Console.Write( “ Enterfirstinterger:”) ;4. 读取用户输入的第一个整数,并将它保存在变量 x 中。 X=ConvertToInt32(Console.ReadLine() ;5. 提示用户输入第二个整数。Console.Write( “ Entersecondinterger :”) ;6. 读取用户输入的第二个整数,并将它保存在变量 y 中。 y=ConvertToInt32(Console.ReadLine() ;7. 提示用户输入第三个整数。Console.Write( “ Enterth
10、irdinterger :”) ;8 读取用户输入的第三个整数,并将它保存在变量 z 中。 z=ConvertToInt32(Console.ReadLine() ;9. 计算包含在变量 x, y 和 z 中的三个整数的乘积,并将结果赋值给变量 result 。Result=x*y*z ;10. 显示消息“ Productis ”,后接变量 result 的值。 Console.WriteLine (“ Productis0 ”, result );3.6 利用在练习 3.5 中编写的语句,写一个完整的程序,它计算并显示三个整 数的乘积。Usingsystem ;Publicclassprod
11、uct Publicstaticvoidmain (stringargs )Intx;Inty;Intz;Intresult;Console.Write( “ Enterfirstinterger:”) ;X=ConvertToInt32(Console.ReadLine() ;Console.Write( “ Entersecondinterger :”) ; y=ConvertToInt32(Console.ReadLine() ;Console.Write( “Enterthirdinterger :”) ;z=Co nvertTol nt32(Co nsole.ReadLi ne()R
12、esult二x*y*z ;Console.WriteLine(“Productis0 ”,result );En terfirst in teger:10E ntersec ondin teger:20En terthirdi nteger:30Productis6000第四章4.1填空题1. 蓝图对于房子而言,就如同 对象对于类一样。2. 每个类声明都包含关键字class,后面紧跟着类的名称。3. 操作符new会创建在它的右边指定的类的对象。4. 每个参数都必须指定 类型和名称。5. 默认情况下,没有在名字空间中显示声明的类,会被隐式的放入全局名字 空间中。6. 当类的每个对象维护它自己的属
13、性副本时,表示该属性的字段也被称为实例变量。7. C#为存储实数提供了三种简单类型:float , double和decimal。8. double类型的变量表示双精度浮点数。9. Convert 方法 ToDecimal 返回一个 decimal 值。10. 关键字public是一个访问修饰符。11. 返回类型voj表明当方法完成任务后,它不会返回任何信息12. Con sole方法ReadL ine读取字符,知道遇到换行符,然后返回一个字符串,包含除换行符之外的全部字符。13. 如果总是用完全限定类名引用类,则不要求有using指令。14. float类型的变量表示 单精度浮点数。15.
14、格式指定符C用于以货币格式显示值。16. 类型是值类型或者引用类型。17. 对于自实现属性,编译器会自动产生一个私有实例变量以及set和get访问方法。4.2判断下列语句是否正确。1. 按照约定,方法名的第一个字母小写,而后续所有单词的首字母都大写。错2. 属性的get访问方法使客户能够修改与该属性相关变量的实例变量的值。错3. 当名称空间中的某个类使用同一个名字空间中的另一个类时,不要求有using指令。4. 如果方法声明中的方法名后面是空圆括号,则表明这个方法执行任务时不需要任何参数。5. 定义属性后,可以像使用方法一样使用它,但它带的是空圆括号,因为没 有实参会传递给属性。6. 用pri
15、vate访问修饰符声明的变量或方法,只能由声明它们的类的属性和方法访问。对7. 在特定方法体中声明的变量,称为实例变量,它们只能用在这个类的属性和方法访问。错8. 属性声明必须同时包含get访问方法和set访问方法。错9. 方法体或属性体都用左右两个大括号隔离出来。对10默认情况下局部变量会被初始化。错11. 引用类型实例变量默认被初始化为null值对12. 包含publicstaticvoidmain(stringargs)声明的任何类,都可以用来执行程序。对13. 方法调用中的实参个数,必须与被调用的方法声明参数表中的参数个数形同。对14. 默认情况下,出现在源代码中的实数被称为浮点字面文
16、字,都是float类型的。错4.3局部变量与实例变量有什么不同?局部变量在方法体内声明,只能用于声明它的方法内。实例变量是在类中声明的,而不是在类的任何方法体内声明。类的每个对象(实例)都有该实例变量的一个单独副本。而且,类的所有方法都可以访问实例变量。4.4解释方法参数的作用。参数与实参有什么不同?参数代表额外的信息,方法要求这些信息才能执行任务。方法要求的每个参数,在方法的声明中指定。实参是当调用方法时传递给方法参数的实际值。 第五章5.1填空题1. 所有的程序都能够以三种控制结构类型编写,这三种结构是 顺序、选择和 循环。2. 当条件为真时执行一个动作,为假时执行另一个动作的语句是if
17、else语句。3. 重复执行一组指令特定次数的循环,称为 计算器控制循环。4. 当无法预先知道一组语句将重复执行多少次的时,应使用标记值、信号值、标志值或哑值 来终止这个循环。5. C#中内置的语句执行结构是 顺序结构,即默认情况下语句会按照它们出现 的顺序来执行。6. int类型实例变量默认值为0。7. C#是一种强类型化语言,它要求所有的变量都具有类型。8. 如果对变量使用前置递增运算符,则变量的值会首先加1,然后将它的新 值用在表达式上。5.2判断下列语句是否正确。1. 算法是关于要执行的动作以及执行它们的顺序的问题求解过程。对2. 包含在一对圆括号内的一组语句,称为语句块。错3. 选择
18、语句指定当某个条件为真时要重复执行的某一条语句。错4. 嵌套控制语句出现在另一个控制语句的语句体中。对5. C#提供了几个算数复合赋值运算符用来简化赋值表达式,这些运算符包括+=, =,*=,/=和 %=对6. 指定在程序中执行语句(动作)的顺序,被称为程序控制。对7. 一元强制转换运算符“(double ) ”会创建它的操作数的一个临时整数型 副本。错8. bool类型实例变量的默认值为true。错9. 伪代码是用来帮助程序员在用编程语言编写程序之前“思考”的。对5.3编写4条不同的C#语句,它们都将int变量x加1。x=x+1;x+=1;+x;x+;5.4编写C#语句,完成下列任务。1将x
19、和y的和赋值给z,并在计算之后将x的值加1.只使用一条语句。Z=x+y;2. 测试变量 count 的值是否大于 10。如果是,显示“ countisgreaterthan10 ”。If (count 1 0 )Console.WriteLine (“ Countisgreaterthan 1 0 ”);3. 将变量x的值减1,然后用变量total与它相减。只是用一条语句。Total-=-x ;4. 计算q除以divisor之后的余数,并将结果赋予q。以两种方式编写这条语 句。q%=divisor;q=q%divisor;5.5编写C#语句,完成下列任务。1. 将变量sum声明为int类型。I
20、ntsum;2. 将变量 x 声明为 int 类型。 Intx;3. 将变量 x 赋值 1 。 X=1;4. 为变量sum赋值0。Sum=0;5. 计算变量x和sum的和,并将结果赋予变量sum。Sum+=x或者 sum=sum+x;6. 显示“ Thesumis” ,后接变量sum的值。Console.WriteLine (“ Thesumis0 ”, sum);5.6将练习5.5中的语句组合成C#程序。计算并显示整数110的和。使用 while语句循环计算语句和递增语句。循环应当在X的值变为11时终止。Usi ngsystem;PublicclassCalculatePublicstati
21、cvoidMai n(stri ngargs)In tsum;Intx;X=1;Sum=0;While(x=10)Sum+=x;+x;Con sole.WriteL ine(“ Thesumis0 ”,sun);Thesumis555.7执行下列语句后,确定变量的值,假设开始执行语句时,所有变量的类型都为int,且都有值5。Product*二x+ ;Product=25,x=65.8找出并更正如下代码段中的错误。1. while(c=0)Sum+=z;While语句中变量z的值永远不会改变。因此,如果初始时循环继续条件(z=0)为真,则会出现无限循环。为了防止出现无限循环,必须递减Z的值,以使
22、它最终变为小于0。第六章6.1填空题1. 一般而言,foj语句用于计算器控制循环,而 while语句用于标记控制循环。2. do while语句在执行循环体之后测试循环继续条件,因此循环体总 是至少会执行一次。3. 根据整形变量或表达式可能的值,switch语句会在多个动作中间进行选 择。4. 当在循环语句中执行时,continue语句会跳过循环体中的剩余语句,继续 进行循环的下一次迭代。5. & (条件与)或& (布尔逻辑与)运算符在选择某个执行路径之前,可用来 确保两个条件都为真。6. 如果在for首部中的循环继续条件最初为假,则不会执行for语句体。7. 执行通用任务、不需要在对象上调用
23、的方法,被称为 静态方法。6.2判断下列语句是否正确。1. 在switch选择语句中,要求有默认分支。错2. 在switch语句的每一个分支中,都要求有 break语句。错3. 如果(xy)为真,或者(avb)为真,则表达式(xy)&(ab)就为真 错4. 如果包含|运算符的表达式的两个操作数有一个为真或者两个都为真,则 这个表达式就为真。对5. 格式项(例如0.4)中逗号后面的整数表示要显示的字符串的字段宽度。 对6. 为了测试switch语句中的值得范围,需在分支标签的起始值和结尾值之间 使用连字符(一)。错7. 连续地列出多个分支,让它们之间没有语句,可使这些分支执行同一组语句。对6.3
24、编写一条或一组C#语句,完成下列任务。1. 使用一条for语句,求199de奇数和。假设已经声明了整形变量sum和count 。Sum=0;For(count=1;count=99;count+=2)sum+=count;2. 用Pow方法计算2.5的三次幕。doubleresult=Math.Pow(2.5,3);3. 使用while循环和计算器变量i,显示120的整数。假设已经声明了 变量i,但没有初始化它,每行显示五个整数。提示:利用i%5。当 它的结果为 0时,显示一个换行符,否则显示一个制表符。使用 Console.WriteLine ()方法输出换行符,而使用 console 。
25、Write ( t )方法输出制表符。 i=1;while(i=20)Console.write(i)if(i%5=0)Console.writeline();elseConsole.Write( t );+i;4. 用 for 语句解第 3 题部分同样的问题。for(i=1;i=20;i+)Console.Write(i); if(i%5=0)Console.writeline();elseConsole.Write( t );6.4 找出如下代码中的错误并改正。1.i=1 ;While (i=10 ) ;+i;错误: while 首部后面的分号会导致无限循环,且 while 语句体中缺失左
26、大 括号。改正:删除分号并在循环体之前添加一个左大括号。2. for(k=0.1;k!=1.0;k+=0.1)Console.WriteLine(k);错误:使用浮点数来控制 for 语句可能会出现错误,因此在大多数计算机 中,浮点数是近似表示的。改正:使用整数,且为了获得所期望的值需执行正确的计算,如下所示。 for(k=1,k10;k+)Console.WriteLine(double)k/10);3. switch(n)case1:Console.WriteLine( “Thenumberis1” );case2:Console.WriteLine( “Thenumberis2” );b
27、reak;default:Console.WriteLine( “Thenumberisnot1or2 ”);break;错误:分支 1不能落入分支 2 中。改正:应以某种方式终止分支,比如在第一个分支的语句末尾添加一条 break 语句。5. 下面的代码应显示值 110。n=1;while(n10)Console.WriteLine(n+);错误。在 while 循环继续条件中使用了错误的关系运算符。改正:将 替换成=,或者将 10改成 11。第七章7.1 填空题。a)在程序中使用方法是通过 方法调用实现的b)只在声明它的方法中可知的变量,称为 局部变量。c)被调方法中return语句可用来
28、将表达式的值回传给调用方法。d)关键字void表示方法不返回值。e)数据只能从栈的顶添加或删除。f)栈被称为后入先出(LIFO)的数据结构压入栈(插入)的最后一项,是从栈中弹出(移走)的第一项。g)有三种途径可将控制从被调方法返回到调用方法,它们是return、returnexpression 禾和 遇至U方法的闭右括号时 。h)Random类的对象处理伪随机数。i)在程序执行期间,程序执行栈里包含每次调用方法时用到的局部变量的内存。这一数据作为程序执行栈的一部分被保存,它被称为方法调用的活动记录或栈帧。j)如果方法调用的个数超过了程序执行栈的容量,就会发生称为栈溢出的错误。k)声明的作用域是
29、程序中可以用非限定名引用所声明实体的部分。l)多个方法可以具有相同的名称,它们对不同类型或数量的实参进行操作。 这一特性被称为方法重载。m)程序执行栈也被称为 方法调用栈。n)直接或间接调用自己的方法,是 递归方法。o)递归方法通常具有两个部分:提供通过测试 基本情况终止递归的部分,和 将问题表述成一个递归调用,比原始调用稍微简单一些的部分。7.2对于图7.8中的Craps类,给出如下每个实体的作用域。a) ra ndomNumbers 变量。类体b) diel 变量。定义 RollDice 方法体的语句块。c) RollDice 方法类体。d) Main 方法。类体。e) sumOfDice
30、 变量。定义 Main 方法体的语句体。7.3 编写一个程序,它测试图 7.2 中给出的 Math 类方法调用的例子是否真的 会产生所给出的结果。1/Exersise7.3Solution:MathTest.cs 2/TestingtheMathclassmethods.3usingSystem;45publicclassMathTest67publicstaticvoidMain(stringargs)89Console.WriteLine( “Math.Abs(23.7)=0 ”,Math.Abs (23.7 ); 10Console.WriteLine( “Math.Abs(0.0)=0
31、 ”,Math.Abs (0.0 );11Console.WriteLine( “Math.Abs(-23.7)=0 ”,Math.Abs (-23.7 );12Console.WriteLine( 13Math.Ceiling(9.2); 14Console.WriteLine( 15Math.Ceiling ( -9.8 16Console.WriteLine( 17Console.WriteLine( 18Console.WriteLine( 19Console.WriteLine( 20Console.WriteLine( 21Math.Floor ( -9.8 ) 22Console
32、.WriteLine( 23Math.Log(Math.E) 24Console.WriteLine(Math.Ceiling(9.2)=0Math.Ceiling(-9.8)=0);Math.Cos(0.0)=0 ”Math.Exp(1.0)=0 ”Math.Exp(2.0)=0 ”Math.Floor(9.2)=0Math.Floor(-9.8)=0Math.Log(Math.E)=0,Math.Cos ( 0.0 );,Math.Exp ( 1.0 );,Math.Exp ( 2.0 );,Math.Floor (9.2 );Math.Abs(Math.E*Math.E)=025Math
33、.Abs(Math.E*Math.E );26Console.WriteLine( “Math.Max(2.3,12.7)=027Math.Max(2.3,12.7 );28Console.WriteLine( “Math.Max(-2.3,-12.7)=029Math.Max(-2.3,-12.7 );30Console.WriteLine( “Math.Min(2.3,12.7)=031Math.Min (2.3,12.7 );32Console.WriteLine( “Math.Min(-2.3,-12.7)=033Math.Min (-2.3,-12.7 );34Console.Wri
34、teLine( “Math.Pow(2.0,7.0)=035Math.Pow(2.0,7.0 );36Console.WriteLine( “Math.Pow(9.0,0.5)=0 ” ,37Math.Pow(9.0,0.5 );38Console.WriteLine( “Math.Sin(0.0)=0 ”,Math.Sin (0.0 );39Console.WriteLine( “Math.Sprt(900.0)=0 ” ,40Math.Sprt (900.0 );41Console.WriteLine( “Math.Tan(0.0)=0 ”,Math.Tan (0.0 );42/endma
35、in 43/endclassMathTest7.4 为如下每个方法给出方法的首部、a) Hypotenuse 方法,它带有两个双精度浮点参数 side1 和 side2 ,返回一个双 精度浮点结果。doubleHypotenuse(doubleside1,doubleside2)b) Smallest 方法,它有三个整型参数 x,y 和 z ,返回一个整数。 intSmallest(intx,inty,intz)c) Instructions 方法,它不带任何参数,且不返回任何值。【注:这样的方 法通常用来向用户显示指令。】voidInstructions()d) IntToDouble 方法
36、,它带一个整型参数 number, 返回一个 double 值 doubleIntToDouble(intnumber)7.5 找出并更正下列代码段中的错误。a) voidG()Console.WriteLine(InsidemethodG); voidH()Console.WriteLine(InsidemethodH);b) intsum(intx,inty)intresult; result=x+y;c) voidF(floata);floata;Console.WriteLine(a);d) voidProduct() inta=6,b=5,c=4,result;result=a*b*
37、c;Console.WriteLine(Resultis+result); returnresult;答案:a)错误:方法H在方法G内声明。改正:将H的声明移到G勺声明之外。b) 错误:方法应当返回一个整数值,但没有。改正:删除 result 变量并在方法中放入语句: returnx+y; 或者在方法体的末 尾添加如下的语句: returnresult ;c) 错误:参数表右圆括号后面的分号错误,且参数a不应该在方法内重复声明。改正:删除参数表右圆括号后面的分号,并删除声明 floata; 。d) 错误:方法不应该返回值。改正:将返回类型从 void 改为 int 。7.6编写一个完整的C#程
38、序,它提示用户输入一个球的半径(double类型), 然后调用SphereVolume方法计算并显示它的体积。使用下列语句计算体积: doublevolume=(4.0/3.0)*Math.PI*Math.Pow(radius,3)/Exercise7.6Solution:Sphere.cs/CalculatethevolumeofasphereusingSystem;publicclassSphere/obtainradiusfromuseranddisplayvolumeofspherepublicstaticvoidMain(stringargs)Console.Write(Enturn
39、radiusofsphere:);doubleradius=Convert.ToDouble(Console.ReadLine();Co nsole.WriteLi ne(Volumeis0:F3,SphereVolume(radius);/en dmai n/calculatea ndreturnspherevolumepublicstaticdoubleSphereVolume(doubleradius)doublevolume=(4.0/3.0)*Math.PI*Math.Pow(radius,3);retur nvol ume;/en dmethodSphereVolume/en dc
40、lassSphere第八章8.1填空题a) 值列表和数值表可以保存在 数组中。b) 数组是一组变量(称为元素),它们包含具有相同 类型的值。c) foreach语句使程序员能够不使用计算器迭代遍历数组中的元素。d) 引用特定数组元素的数字,被称为元素的 索引。e) 使用两个索引的数组,被称为 二维数组。f) 用foreach语句首部foreach迭代遍历double类型的数组numble。g) 命令行实参保存在一个字符串数组 中,称为args。h) 使用表达式args.Lergth 可获得命令行中实参的全部数量。假设命令行实参保存在stringargs中。i) 对于命令MyApplicatio
41、ntest第一个命令行实参是test。j) 方法参数表中的params修饰符表示方法可以接收的实参数量。8.2判断下列语句是否正确。a)一个数组就可以保存许多不同类型的值。(错)b)数组索引通常应为 float 类型。(错)c)当被调方法完成执行时,传递给方法和在该方法中修改的各个数组元素将包含修改后的值。(错)d)命令行实参用逗号分隔。(错)8.3 为数组 fractions 执行下列任务。a)声明变量ARRAY_SIZ并将它初始化为10。constintARRAY_SIZE=10;b)声明变量farctions ,它引用double类型。包含ARRAY_SIZ个元素的数 组。将这些元素初始
42、化为 0。doublefractio ns二 newdoubleARRAY_SIZE;C)为索引号为3的数组元素命名。fracti on s3;d)将索引号为9的数组元素赋值为1.667。fractions9=1.667;e)将索引号为6的数组元素赋值为3.333。fractions6=3.333;f)使用一条for语句,求数组所有元素的和。将整型变量 x声明成循环的控制 变量。Doubletotal=0.0;For(intx=0;xfractions.Length;x+)Total+=fractionsx;8.4 为数组 table 执行下列任务a) 声明这个数组变量,并用3行3列的矩形数组
43、初始化它。假设常量ARRAY_SIZ已经被声明成3。In t,table二 newi ntARRAY_SIZE,ARRAY_SIZE;b) 这个数组包含多少元素。9个。c) 用 for 语句将数组的每个元素初始化成数组索引之和For(i ntx=O;xtable.GetLe ngth(O);x+)For(inty=0;ytable.GetLength(1);y+)Tablex,y=x+y;8.5 找出并更正下列代码段中的错误。ConstintARRAY_SIZE=5;ARRAY_SIZE=10;错误:在常量被初始化之后,不能再对它赋值。 改正:在 const 声明中对常量赋予正确的值。b) 假
44、设 intb=newint10;for(inti=0;i=b.Length;i+)bi=1;错误:在元素边界的外面( b10 )引用了数组元素。 改正:将 =运算改成 。c) 假设 int,a1,2,3,4;a11=5;错误:对数组执行索引的操作不正确。 改正:将语句改成 a1,1=5;。第九章:9.1填空题。a)使用List类的count属性,可以得到List中的元素数量。b) LINQ的where子句用于过滤。c)集合类是特别设计用于存储对象组并提供组织、存储和取得这些对象的方法的。d)为了将元素追加到List的末尾,应使用Add方法。e)为了从LINQ查询中获得不包含重复值的结果,应使用
45、 Distinet 。9. 判断下列语句是否正确。a)LINQ查询中的orderby子句只能按升序排序查询结果。(错)b)LINQ查询能用于数组和集合。(对)c)List类的Remove方法删除指定索引处的元素(错)第十章:1.填空题。a) string 类的Format静态方法类似于 console.write方法,但它返回 格式化的字符串,而不是在控制台窗口显示字符串。b)如果方法包含与某个字段同名的一个局部变量,则该局部变量将隐藏 该方法作用域内的这个字段。c)在释放对象的内存之前,内存回收器会调用析构函数。d)如果类声明了析构函数,则编译器不会创建默认构造函数。e)对象出现在代码中需要
46、字符串的地方时,可以隐式调用对象的Tostring 方法。f)有时,合成被称为“有”关系g)静态变量表示类际信息一类的所有对象共享这个变量。h)最小权限原则要求代码只能分配完成指定任务所需的访问i)用关键字readonly声明的实例变量指定该变量时不可修改的。j)抽象数据类型(ADT包含数据表达和该数据允许得操作。k)类的公共方法也被称为类的公共服务或公共接口。10.2假设Book类定义了属性Title,Author 和Year。利用对象初始化器 来创建Book类的一个对象并初始化它的属性。答案:newBookTitle二 ” visualC#2010HTP ” ,Author二 ” Deit
47、el ”,丫ear=2010第十一章:11.1填空题。a)在软件复用的继承形式中,新的类会利用已经存在的类的成员并用新的能力增强这些类。b)基类的protected成员只能在基类声明和派生类声明中访问。c)在“是”或继承关系中,派生类的对象也可以看成它的基类的对象。d)在“有”或合成关系中,类对象包含作为其他类对象的引用的成员。e)在单一继承中,基类和它的派生存在一种层次关系。f)当程序具有基类或它的派生类的引用时,可以在任何地方访问这个基类的 公共成员。g)当实例化派生类的对象时,基类构建函数被隐式或显式地调用。h)派生类构造函数可以通过 base关键字调用基类构造函数。11.2判断下列语句
48、是否正确。a)基类构造函数不被派生类继承。(对)b)“有”关系式通过继承实现的。(错)c)Car类与SteeringWheel类和Brakes类具有“是”关系。(错)d)继承鼓励当派生类经过验证的高质量软件的复用。(对)e)当派生类用相同的签名和返回类型重定义基类方法时,就称派生类重 载基类方法。(错)第十二章:12.1填空题。a)如果这个类至少包含一个抽象方法,则它必须被声明成抽象类。b)其对象能够被实例化的类,被称为具体类。c)多态利用基类变量调用基类或派生类对象上的方法,使程序员能够实现 “通用编程”。d)类中不提供实现的方法,必须用 abstract关键字声明。e)将基类变量中的引用强制转换成派生类类型,被称为向下强制转换。 12.2判断下列语句是否正确。a)可以将基类对象看成与派生类对象类似。(对)b)抽象类中的所有方法,都必须被声明成抽象的。(错)c)试图通过基类变量调用派生类才有的方法,是错误的。(对)d)如果基类了一个抽象方法,则派生类必须实现这个方法。(错)e)实现接口的类对象,都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 制造业安全操作标准
- 城市河道绿化植树造林合同
- 人教新课标五年级语文下册教案
- 二年级语文下册集体备课教案
- 唐山市摄影服装租赁合同
- 妇幼保健院护工聘用合同
- 新闻采访车辆油耗维修管理规范
- 展览馆照明系统安装合同范本
- 印刷包装招投标委托书样本
- 大型剧院施工合同模板
- 福建广播电视大学中国现当代文学名著导读(2)-形成性考核二答案
- 《大学日语》第一册 第8课
- 青岛版三年级上册数学 两位数乘一位数的口算 教案
- 学校教室室内装修工程施工组织设计方案
- 河道整治护岸施工方案
- 《寻访小动物》ppt课件
- 沙钢高炉及热风炉砌筑总施工组织设计
- 义乌中学浙江省物理学科基地
- 教师资格证考试《生物学科知识与教学能力》(初级中学)学科知识细胞
- 栈道栈桥工程施工组织设计
- 电脱盐成套技术介绍
评论
0/150
提交评论