C1-6章习题答案.doc_第1页
C1-6章习题答案.doc_第2页
C1-6章习题答案.doc_第3页
C1-6章习题答案.doc_第4页
C1-6章习题答案.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

C#习题练习(1-6章)1. 在 Visual Studio.NET窗口中,在_窗口中可以察看当前项目的类和类型的层次信息 (B)A.解决方案资源管理器B.类视图C.资源视图D.属性2. C#中每个 int 类型的变量占用_个字节的内存(C)A.1B.2C.4D.83. 在 C#中,表示一个字符串的变量应使用以下哪条语句定义? (B)A.CString str;B.string str;C.Dim str as stringD.char * str;4. 在 C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用下列哪条语句? (A)A.decimal theMoney;B.int theMoney;C.string theMoney;D.Dim theMoney as double5. C#中,新建一字符串变量 str,并将字符串Toms Living Room保存到串中,则应该使用下列哪条语句? (A)A.string str = Toms Living Room;B.string str = Toms Living Room;C.string str(Toms Living Room);D.string str(Toms Living Room);6.C#中 MyClass 为一自定义类,其中有以下方法定义:public void Hello()使用以下语句创 建了该类的对象,并使变量 obj 引用该对象,那么,访问类MyClass的Hello方法正确的是:(A)MyClass obj = new MyClass();A.obj.Hello();B.obj:Hello();C.MyClass.Hello();D.MyClass:Hello();7. 分析下列 C#语句,注意类 MyClass 没有访问修饰符: namespace ClassLibrary1 class MyClass public class subclass int i; 若必须为类 MyClass 添加访问修饰符,并使 MyClass 的可访问域保持不变,则应选择 _(D)A.privateB.protectedC.internalD.public8. 分析下列程序: public class class4 private string _sData = ; public string sDataset_sData = value; 在 Main 函数中,在成功创建该类的对象 obj 后,下列哪些语句是合法的? (A)A.obj.sData = It is funny!;B.Console.WriteLine(obj.sData);C.obj._sData = 100;D.obj.set(obj.sData);9. 分析下列程序中类 MyClass 的定义 class BaseClass public int i; class MyClass:BaseClass public new int i; 则下列语句在 Console 上的输出为_. (D)MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(0, 1,x.i,y.i); /(提示:注意类 MyClass 中的 new 关键字)A.0, 0B.100, 100C.0, 100D.100, 010. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成_(C)A.sealed 方法B.public 方法C.virtual 方法D.override 方法11. 类 MyClass 中有下列方法定义: public void testParams(params int arr) Console.Write (使用 Params 参数!); public void testParams(int x,int y) Console.Write (使用两个整型参数!); 请问上述方法重载有无二义性?若没有,则下列语句的输出为_. (B)MyClass x = new MyClass(); x.testParams(0); x.testParams(0,1); x.testParams(0,1,2);A.有语义二义性;B.使用 Params 参数!使用两个整型参数!使用 Params 参数!C.使用 Params 参数!使用 Params 参数!使用 Params 参数!D.使用 Params 参数!使用两个整型参数!使用两个整型参数!12. C#程序中,可使用 try.catch 机制来处理程序出现的_错误(B)A.语法B.运行C.逻辑D.拼写13. C#中,在方法 MyFunc 内部的 try.catch 语句中,如果在 try 代码块中发生异常,并且在当前的所有 catch 块中都没有找到合适的 catch 块,则(D)A.NET 运行时忽略该异常B.NET 运行时马上强制退出该程序C.NET 运行时继续在 MyFunc 的调用堆栈中查找提供该异常处理的过程D.NET 抛出一个新的“异常处理未找到”的异常14. 在 C#中,下列哪条语句能创建一个具有 3 个初始值为的元素的字符串数组? (C)A.string StrList3();B.string3 StrList = ,;C.string StrList = ,;D.string StrList = new string3;15. 下列语句创建了多少个 string 对象? (D)string, strArray = new string34;A.0B.3C.4D.1216. 接口 Animal 定义如下:public interface Animal void Move(); 则下列抽象类的定义中,哪些是不合法的? (D)A.abstract class Cat: Animal abstract public void Move(); B.abstract class Cat:Animalvirtual public void Move() Console.Write(Console.Write(Move!); C.abstract class Cat: Animal public void Move()Console.Write(Console.Write(Move!); D.abstract class Cat: Animal public void Eat()Console.Write(Console.Write(Eat!); 17. 关于结构类型,下列说法哪些是正确的? (A)A.结构是值类型B.结构中不允许定义带参数的实例构造函数;C.结构中不允许定义析构函数D.结构中可以定义成员方法,但是方法内不能使用 this 指针18. 下列语句的输出是_ (B)double MyDouble = 123456789;Console.WriteLine(0:E,MyDouble);A.$123,456,789.00B.1.234568E+008C.123,456,789.0019.已知在某 Windows Form 应用程序中,主窗口类为 Form1,程序入口为静态方法 From1.Main如下所示: public class Form1 : System.Windows.Forms.Form /其他代码 static void Main() /在此添加合适代码 则在 Main 方法中打开主窗口的正确代码是: (A)A.Application.Run(new Form1();B.Application.Open(new Form1();C.(new Form1().Open();D.(new Form1().Run();20. 用鼠标右击一个控件时出现的菜单一般称为: (C)A.主菜单B.菜单项C.快捷菜单D.子菜单21. 变量 openFileDialog1 引用一个 OpenFileDialog 对象为检查用户在退出对话框时是否 单击了“打开”按钮,应检查 openFileDialog1.ShowDialog()的返回值是否等于_;(A)A.DialogResult.OKB.DialogResult.YesC.DialogResult.NoD.DialogResult.Cancel22. C#程序中,为使变量 myForm 引用的窗体对象显示为对话框,必须: (A)A.使用 myForm.ShowDailog 方法显示对话框B.将 myForm 对象的 isDialog 属性设为 trueC.将 myForm 对象的 FormBorderStyle 枚举属性设置为 FixedDialogD.将变量 myForm 改为引用 System.Windows.Dialog 类的对象23. Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该 按钮是扁平的,当鼠标指针移动到它上面时,按钮升高那么,在程序中,属性 Button1.FlatStyle 的值应设定为: (B)A.System.Windows.Forms.FlatStyle.FlatB.System.Windows.Forms.FlatStyle.PopupC.System.Windows.Forms.FlatStyle.StandardD.System.Windows.Forms.FlatStyle.System24. 在类的定义中,类的_描述了该类的对象的行为特征(A)A.类名B.方法C.所属的名字空间D.私有域25. 以下类 MyClass 的属性 count 属于_属性. (A)class MyClass int i; int count get return i; A.只读B.只写C.可读写D.不可读不可写26. 类 MyClass 中,下列哪条语句定义了一个只读的属性 Count? (B)A.private int Count;B.private int count; public int Count getreturn count; C.public readonly int Count;D.public readonly int Count get return count; setcount = value; 27. C#中的类型 float 对应.NET 类库中的(A)A.System.SingleB.System.DoubleC.System.Int32D.System.Int6428. 判断下列类 MyClass 的定义中哪些是合法的抽象类? (A)抽象成员不能是私有的A.abstract class MyClass public abstract int getCount(); B.abstract class MyClass abstract int getCount(); C.private abstract class MyClass abstract int getCount(); D.sealed abstract class MyClass abstract int getCount(); 29. 已知接口 IHello 和类 BaseMyClass 的定义如下 interface IHello void Hello(); class Base : IHello public void Hello() System.Console.WriteLine(Hello in Base!); class Derived : Base public void Hello() System.Console.WriteLine(Hello in Derived!); 则下列语句在控制台中的输出结果为_(A)_ IHello x = new Derived();x.Hello();A.Hello in Base!B.Hello in Derived!C.Hello in Base!Hello in Derived!D.Hello in Derived!Hello in Base!.30. 为了将字符串 str=“123,456”转换成整数 123456,应该使用以下哪条语句? (A)A.int Num = int.Parse(str);B.int Num = str.Parse(int);C.int Num = (int)str;D.int Num = int.Parse(str,Globalization.NumberStyles.AllowThousands);31. 已知结构 Resource 的定义如下:struct Resource public int Data = 0; 则下列语句的运行结果为_ (D)/结构中不能有实例字段初始值设定项Resource list= new Resource20; for(int i = 0;i35. 能正确表示逻辑关系“a=10 或 a=10 or a=10|a=10&a=10|ab?(ac?a:c):b); A.5 B.4 C.6 D.不确定37. if语句后面的表达式应该是_(A)_A.逻辑表达式B.条件表达式C.算术表达式D.任意表达式38.有如下程序 Using system; Class Example1 Public Static void main() Int x=1,a=0,b=0; Switch(x) Case 0:b+,break; Case 1:a+,break; Case 2:a+,b+,break; Console.Writeline(“a=0,b=1”,a,b); 的输出结果是(C)/ 代码有误,break前面“,”都改为“;” A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=239. 以下叙述正确的是_(C)_A.do.while语句构成的循环不能用其他语句构成的循环来代替B.do.while语句构成的循环只能用 break语句退出C.用 do.while语句构成的循环,在 while后的表达式为 true时结束循环D.用 do.while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式40. 以下关于 for 循环的说法不正确的是_(A)_A.for 循环只能用于循环次数已经确定的情况B.for 循环是先判定表达式,后执行循环体语句C.for 循环中,可以用 break语句跳出循环体D.for 循环体语句中,可以包含多条语句,但要用花括号括起来41. 假定 int 类型变量占用两个字节,若有定义:int x=new int100,2,4,4,5,6,7,8,9,10;则 数组 x 在内存中所占字节数是_(B)A.6B.20C.40D.8042. 以下程序的输出结果是: (C)Class Example1 Public Static void main() Int I; Int a=new int10; For(i=9;i=0;i-) ai=10-I; Console.Writeline(“0,12”,a2,a5,a8); A.258 B.741 C.852 D.36943. 有定义语句:int ,a=new int5,6; 则下列正确的数组元素的引用是_(C)A.a(3,4) B.a(3)(4) C.a34 D.a3,444.下列的数组定义语句,不正确的是_(D)A.int a=new int51,2,3,4,5B.int,a=new inta34C.inta=new int 3;D.int a=1,2,3,4;45. 关于 C#语言的方法,下列叙述中正确的是_(A)_A.方法的定义不能嵌套,但方法调用可以嵌套B.方法的定义可以嵌套,但方法调用不能嵌套C.方法的定义和调用都不能嵌套D.方法的定义和调用都可以嵌套46. 以下所列的个方法头部中,正确的是_(C)A.void play(var a:Integer,var b:integer)B.void play(int a,b)C.void play(int a,int b)D.Sub play(a as integer,b as integer)47. 下列程序的结果是: (B) Using system; Class Example1 Static long fib(int n) If(n2) return(fib(n-1)+fib(n-2); Else rerurn(2); Public Static void main() Console.Writeline(“0”,fib(3); A.2 B.4 C.6 D.849. 下列程序的执行结果是_ Using system; (C) 代码有误,team后面的“=”去掉 Class Example1 enum team=my,your=4,his,her=his+10; Public Static void main() Console.Writeline(“0,1,2,3”,(int)team.my, (int)team.your, (int)team.his, (int)team.her); A.0 1 2 3 B.0 4 0 10 C.0 4 5 15 D.1 4 5 1550.以下对枚举的定义,正确的是_(B)_A.enum a=one.two,threeB.enum a a1,a2,a3;C.enum a=1,2,3;D.enum a “one”,”two”,”three”;51. 枚举型常量的值不可以是_(D)_类型A.intB.longC.ushortD.doule52. 调用重载方法时,系统根据_(B)_来选择具体的方法A.方法名B.参数的个数和类型C.参数名及参数个数D.方法的返回值类型53. 下列的_不是构造函数的特征(D)A.构造函数的函数名和类名相同B.构造函数可以重载C.构造函数可以带有参数D.可以指定构造函数的返回值54. 类 Class A有一个名为M1 的方法,在程序中有如下一段代码,假设该段代码是可以执 行的,则修饰 M1 方法时一定使用了_(B)_修饰符 Class Aobj=new Class A(); ClassA.M1();A.publicB.staticC.privateD.virtual55. 已知类 B 是由类 A继承而来,类 A 中有一个为 M 的非虚方法,现在希望在类 B 中也 定义一个名为 M 的方法,若希望编译时不出现警告信息,则在类 B中声明该方法时,应使 用_(B)_方法A.staticB.newC.overrideD.virtual56. 下列关于 trycatchfinaly语句的说明中,不正确的是_(D)_A.catch块可以有多个B.finalyC.catch块也是可选的D.可以只有 try块57. 为了能够在程序中捕获所有的异常,在 catch语句的括号中使用的类名为_(A)A.ExceptionB.DivideByZeroExceptionC.FormatExceptionD.以上三个均可58. 关于异常,下列的说法中不正确的是_(D)_A.用户可以根据需要抛出异常B.在被调用方法可通过 throw语句把异常传回给调用方法C.用户可以自己定义异常D.在 C#中有的异常不能被捕获59. 下列说法中正确的是_(D)_A.在 C#中,编译时对数组下标越界将作检查B.在 C#中,程序运行时,数组下标越界也不会产生异常C.在 C#中,程序运行时,数组下标越界是否产生异常由用户确定D.在 C#中,程序运行时,数组下标越界一定会产生异常60. 要使窗体刚运行时,显示在屏幕的中央,应设置窗体的_(B)_属性A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr61. 要使文本框控件能够显示多行而且能够自动换行,应设置它的_(B)_属性A.MaxLength和 MultlineB.Multlineh和 WordWrapC.PassWordChar 和 MultlineD.MaxLength和 WordWrap63. 要使复选框控件能够显示出三种状态,应首先设置它的_(C)_属性A.ThreeStateB.CheckedC.CheckStateD.Indeterminate65. 在设计菜单时,若希望某个菜单项前面有一个“”号,应把该菜单项的_ 属性设置为 true(A)_A.CheckedB.RadioCheckC.ShowShortcutD.Enabled66. 下面对 Read( )和 ReadLine( )方法的描述,哪些是正确的_(A)(D)A.Read( )方法一次只能从输入流中读取一个字符B.使用 Read()方法读取的字符不包含回车和换行符C.ReadLine()方法读取的字符不包含回车和换行符D.只有当用户按下回车键时,Read( )和 ReadLine()方法才会返回67. 下面对 Write()和 WriteLine()方法的描述,哪些是正确的_(A) (B) (D)A.WriteLine()方法在输出字符串的后面添加换行符B.使用 Write()输出字符串时,光标将会位于字符串的后面C.使用 Write()和 WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串D.使用不带参数的 WriteLine()方法时,将不会产生任何输出69. 以下标识符中,正确的是_(A)A._nNameB.typeofC.6bD.x5# 70. 以下类型中,不属于值类型的是_(D)A.整数类型B.布尔类型C.字符类型D.类类型71. 结构化的程序设计的 3 种基本结构是_(D)A.顺序结构,If结构,for 结构B.if 结构,if.else结构 else if结构C.while结构,do.while结构,foreach结构D.顺序结构,分支结构,循环结构 72 已知 a,b,c的值分别是 4,5,6,执行下面的程序段后,判断变量 n的值为_(C) if(cb) N=a+b+c; else if(a+b=0;i-) for(j=0;j=I;j+) Console.WriteLine(“i*j=0”,i*j); A.i*j=0 i*j=0 i*j=0B.i*j=1 i*j=0 i*j=1C.i*j=1 i*j=1 i*j=0D.i*j=0 i*j=1 i*j=098.下面对 i 值的输出结果说法正确的是_.(A) namespace Answer class Program static void Main(string args) int i do i+; while(i5)Console.WriteLine(“i 值的为:0”,i) A.i 的值为: 5B.i 的值为: 6C.i 的值为: 7D.i 的值为: 8100.下列参数类型中_是 C#中不允许使用的(D)A.值参数B.引用参数C.输出参数D.指针参数101.有两个具有相同名字的函数,当只满足下列选项的_条件时,它们不能算作重载函 数(D)A.返回值的类不同B.参数数目不同C.参数类型不同D.参数的顺序不同102.关于参数数组,下列说法错误的是_.(C)A.参数数组必须是函数的最后一个参数B.参数数组必须是一维数组C.参数数组的声明同普通数组一样D.参数数组所对应的实参的个数是不固定的103.在下列程序空格处填入正确的选项_(A),能够实现调用函数 show(). class Class1 static void show(ref int i) i*=15; Console.WriteLine(“i=0”,i); static void Main(string args) int test=10; Console.WriteLine(“调用函数 show前,test=0”,test); show(_); Console.WriteLine(“调用函数 show后,test=0”,test); A.testB.out testC.ref testD.params test104.下面对字段说法正确的是_(A) (C)A.字段可以用 static修饰符B.使用字段前必须对它进行初始化C.字段就是变量D.字段只能声明为只读的105.下面代码表示成员重载的是_(A)A.class Myclass public void fun() Console.WriteLine(“无参数”); public void fun(int a) Console.WriteLine(“有一个整型的参数”); B.class Myclass public int a; public void fun() Console.WriteLine(“无参数”); class Myclass1 public void fun(int a) Console.WriteLine(“有一个整型的参数”); C.class Myclass public int a; public void fun() Console.WriteLine(“无参数”); public void Fun(int a) Console.WriteLine(“有一个整型的参数”); D.以上都不是108.下面的修饰符中_不是访问修饰符(C)A.publicB.protectedC.newD.internal111.下面对抽象类描述不正确的是_(C)A.抽象类只能作为基类使用B.抽象类不能定义对象C.抽象类可以实例对象D.可以实现多态112.下面对异常说法不正确的是_(D)A.try/catch块为基本引发异常的组合B.在捕获异常时,可以有多个 ca

温馨提示

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

评论

0/150

提交评论