《C#程序设计》习题集-----by熊猫第1页(共34页)《C#程序设计》习题集班级:__________________学号:__________________姓名:__________________2013年3月《C#程序设计》习题集-----by熊猫第2页(共34页)第1章.NET平台与VisualStudio2008开发工具一、选择:1.下列语句在控制台上的输出是什么?(b)staticvoidMain(string[]args){if(true)System.Console.WriteLine(FirstMessage);System.Console.WriteLine(SecondMessage);}a)无输出b)FirstMessagec)SecondMessaged)FirstMessageSecondMessage2.C#中导入某一命名空间的关键字是(B)。a)useb)usingc)included)import3.C#源程序文件的拓展名是(D)A、vbB、cC、cppD、cs4.以下程序的输出结果是(D)stringstr=b856ef10;stringresult=;for(inti=0;str[i]='a'&&str[i]='z';i+=3){result=str[i]+result;Console.WriteLine(result);}A、10fe658bB、febC、10658D、b5.VisualStudio.Net开发平台是(B)公司提供的.NET应用程序集成开发工具。A)BorlandB)MicrosoftC)IntelD)IBM6.在VisualStudio.NET窗口,(B)窗口显示了当前VisualStudio解决方案的树型结构。A.类视图B.解决方案资源管理器C.资源视图D.属性7.在C#中,引用命名空间System的正确语句是(A)A.usingSystem;B.#importSystem;C.usesSystem;D.#includeSystem;二、填空:1.在C#程序中,程序的执行总是从(Main)方法开始的2.可使用Console类的(ReadLine)方法,在控制台程序运行时输入信息。3.数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为《C#程序设计》习题集-----by熊猫第3页(共34页)(void)。4.C#语言源代码文件的后缀名是(.cs)。5.Console.WriteLine(“RP”);和Console.Write(“RP”);的区别是(第一个输出RP后换行,第二个不换)。6.引入命名空间的关键字是(using)。《C#程序设计》习题集-----by熊猫第4页(共34页)第2章C#2008语法基础一、选择:1.装箱是把值类型转换到(c)类型。a)stringb)charc)引用d)数组2.下列标识符命名正确的是(d)。a)C.23b)4boysc)int(8)d)_mypanada3.下列类型中,哪个不属于引用类型?(b)。a)Stringb)doublec)Classd)Delegate4.在C#中,表示一个字符串的变量应使用以下哪条语句定义?(b)a)CStringstr;b)stringstr;c)Dimstrasstringd)char*str;5.下列标识符命名正确的是(a)。a)C_23b)4catsc)&Yearsd)val(8)6.如果左操作数大于右操作数,(d)运算符返回false。a)=b)c)=d)以上都是7.下列标识符命名正确的是(c)。a)exam-1b)Mainc)_monthsd)X.258.下面属于合法变量名的是(A)。a)P_qrb)123mnpc)chard)x-y9.可用作C#程序用户标识符的一组标识符是(B)。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof10.字符串连接运算符包括&和(A)。A.+B.-C.*D./11.在C#中,下列代码的运行结果是(a)usingSystem;classTest{staticvoidMain(string[]args){string[]strings={a,b,c};foreach(stringinfoinstrings){Console.Write(info);}}}a)abcb)ac)bd)C12、在C#中,下列代码的运行结果是(c)int[]age=newint[]{16,18,20,14,22};《C#程序设计》习题集-----by熊猫第5页(共34页)foreach(intiinage){if(i18)continue;Console.Write(i.ToString()+””);}a)16,18,20,14,22b)16,18,14,22c)16,18,14d)16,1813、以下关于C#代码的说法正确的是(d)for(inti=0;i=3;i++){switch(i){case0:Console.Write(i.ToString());break;case1:Console.Write(i.ToString());break;case2:Console.Write((i*2).ToString());break;case3:Console.Write((i*3).ToString());break;}}a)正确运行,但没有输出b)输出0149c)输山0123d)有编译错误,提示case标签不能贯穿到另一个标签,不能运行14、在c#的条件判断语句switchcase结构中,(d)子句用于指定在找不到匹配项时执行的动作a)continueb)gotoc)elsed)default15、C#程序的(D)方法被成为程序的大门,应用程序从这里开始运行a)main()b)Begin()c)Start()d)Main()16、在以下C#类中,(b)是控制台类,利用它我们可以方便的进行控制台的输入输出。a)Controlb)Consolec)Canceld)Write17、关于C#中的switchcase语句,以下说法正确的是(c)a)switch判断的表达式可以是整型或者字符型,但不能是字符串型b)在该语句中最多不能超过5个case子句c)在该语句中只能有一个default子句d)在该句中只能有一个break语句18、在下列C#代码中,程序的命名空间是(a)usingSystem;namespaceTest{《C#程序设计》习题集-----by熊猫第6页(共34页)classProgram{staticvoidMain(string[]args){Console.Write(“HelloWorld!”);}}}a)Testb)Mainc)namespaced)Program19、C#语言与Java语言一样,也是一种面向对象的语言,C#语言中声明类的关键字是(b)。a)usingb)classc)namespaced)Main20、在.NET中,程序员在代码中漏写了一个大括号,这属于(C)A逻辑错误B运行时错误C语法错误D自定义错误21、以下数据类型中不可以使用算术运算运算的是(A)A.boolB.charC.decimalD.sbyte22、在C#语言中,运算符=和==的功能分别是(B)A.关系运算和赋值运算B.赋值运算和关系运算C.都是关系运算D.都是赋值运算23.在C#中,关于continue和break,以下说法正确的是(B)Abreak是中断本次循环Bcontinue是中断本次循环,进入一下次的循环Cbreak是中断本次循环,进入一下次的循环Dcontinue是中断整个循环二、填空:1.(+=)运算符将左右操作数相加的结果赋值给左操作数2.常量通过关键字(const)进行声明。3、在C#中,进行注释有两种方法:使用//和使用“/**/”符号对,其中(//)只能进行单行注释。4、布尔型的变量可以赋值为关键字(true)或(false)。5.C#通过(装箱)和(拆箱)机制,可以实现值类型和引用类型之间的转换。6、c#中bool类型只有两个值分别是(true)和(false)。7、浮点类型包括(float)、(double)和(decimal)。8、枚举类型使用(enum)关键字声明。9、当整数a赋值给一个obiect对象时,整数a将会被(装箱)。10、SubString()函数的功能是(获取子字符串)。《C#程序设计》习题集-----by熊猫第7页(共34页)第3章程序流程控制一、选择:1.关于如下程序结构的描述中,哪一项是正确的?(c)for(;;){循环体;}a)执行循环体一次b)不执行循环体c)一直执行循环体,即死循环d)程序不符合语法要求2.下列关于异常处理的表述中哪些是正确的(A)?A无论异常是否抛出,finally子句中的内容都会被执行。Bcatch字句能且只能出现一次Ctry字句中所抛出的异常一定能被catch字句捕获Dtry、catch、finally三个字句必须同时出现,才能正确处理异常3.一般情况下,异常类存放在什么命名空间中?(c)。a)System命名空间b)System.Diagnostics命名空间c)System.Exception命名空间d)生成异常类所在的命名空间4.程序运行可能会出现两种错误:可预料的错误和不可预料的错误,对于不可预料的错误,可以通过C#语言提供的哪个方法来处理这种情形(D)A。中断调试B。逻辑判断C。跳过异常D。异常处理5.异常捕获发生在(B)块中?A.tryB.catchC.finallyD.throw6.在C#语言中,下列异常处理结构中有错误的是(a)a)catch{}finally{}b)try{}finally{}c)try{}catch{}finally{}d)try{}catch{}7.C#的数据类型有(B)A值类型和调用类型B值类型和引用类型C引用类型和关系类型D关系类型和调用类型8、C#程序中的类myClass中的成员变量var1如下:publicclassmyClass{privateintvar1;}则可以访问var1的有(A)。a)在myClass类中b)myClass的继承类c)myClass的父类d)和myClass在同一命名空间下的类9、以下(c)是用于声明枚举类型的关键字。a)staticb)structc)enumd)delegate10、在C#中,某程序在一个类中编写了两个同名的方法,该段代码的运行结果是(C)。publicclassMusician《C#程序设计》习题集-----by熊猫第8页(共34页){publicvoidSong(){Console.WriteLine(忘记你我做不到);}publicvoidSong(stringmusicName){Console.WriteLine(musicName);}staticvoidMain(){Musicianmusician=newMusician();stringmusicName=还是觉得你最好;musician.Song(分手总要在雨天);}}A)忘记你我做不到B)还是觉得你最好C)分手总要在雨天D)没有输出二、填空:1.在C#语言中,实现循环的主要语句有while,do-while,for和(foreach)语句。2、在C#语言中,可以用来遍历数组元素的循环语句是(foreach)。3、在异常处理结构中,抛出的异常要用(catch)语句捕捉。4、在异常处理结构中,对异常处理的代码应放在(catch)块中。5、在do-while循环结构中,循环体至少要执行(1)次。6、在C#中,可以通过(throw)语句无条件抛出异常。7、在循环结构中,continue语句的作用是(结束本次循环,继续下一次循环)。8、在循环执行过程中,希望当某个条件满足时退出循环,使用(break)语句9、(try)块封装了可能