C#程序设计习题集辛晓辉2012年12月中国地质大学(北京)信息工程学院第1章C#简介一.选择题1.C#中程序的入口方法是【】。A)mainB)MainC)beginD)Program2.假设变量x的值为25,要输出x的值,下列正确的语句是【】。A)System.Console.writeline(“x”);B)System.Console.WriteLine(“x”);C)System.Console.WriteLine(“x={0}”,x);D)System.Console.WriteLine(“x={x}”);3.要退出应用程序的执行,应执行下列的【】语句。A)Application.Exit();B)Application.Exit;C)Application.Close();D)Application.Close;4.关于C#程序的书写,下列不正确的说法是【】。A)区分大小写B)一行可以写多条语句C)一条语句可以写成多行D)一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。5.下列关于命名空间的说法,错误的是【】。A)在C#中,命名空间可有可无,看需要来定义和使用B)使用命名空间的好处是,不但在不同命名空间中的成员可以重名,而且在同一个命名空间中的成员也可以重名C)不同命名空间中的成员可以重名,同一个命名空间中的成员不可以重名D)命名空间为程序的逻辑结构提供了一种良好的组织方式6.公共语言运行库即【】。A)CRLB)CLRC)CRRD)CLS7..NET平台是一个新的开发框架,【】是.NET的核心部分。A)C#B).NETFrameworkC)VB.NETD)公共语言运行库8.C#应用程序项目文件的扩展名是【】。A)csprojB)csC)slnD)suo9.C#应用程序解决方案文件的扩展名是【】。A)csprojB)csC)slnD)suo10.利用C#开发应用程序通常有三种类型,不包括【】。A)控制台应用程序B)Web应用程序C)SQL程序D)Windows应用程序11.运行C#程序可以通过按【】键实现。A)F5B)Alt+F5C)Ctrl+F5D)Alt+Ctrl+F512.C#语言中类模块代码文件的扩展名是【】。A)csprojB)csC)slnD)suo13.构建桌面应用程序需要.NET提供的类库是【】。A)ADO.NETB)WindowsFormC)XMLD)ASP.NET14.与C++等语言相比,C#中增加的一个类成员访问修饰符是【】。A)privateB)publicC)protectedD)internal15.C#中导入某一命名空间的关键字是【】。A)useB)usingC)importD)include二.填空题1..NET框架包括【】和.NET类库。2.为便于管理多个项目,在VS.NET集成环境中引入【】,用来对企业级解决方案涉及的多个项目进行管理。3.C#是作为【】语言的替代品种出现的。4.要使lable控件显示给定的文字“您好。”,应在设计状态下设置它的【】属性值。5.C#要求程序中的每个元素都要属于一个【】,6.在C#程序中,程序的执行总是从【】方法开始的。7.在C#中,进行注释有两种方法:使用“//”和使用“/**/”符号对,其中【】只能进行单行注释。8.要在控制台程序运行时输入信息,可使用Console类的【】方法。三.问答题1.C#语言的特点是什么?2.说明VisualStudio.NET、.NETFramework和C#之间的联系。3.VisualStudio2008包含哪几种开发语言?4.控制台应用程序有哪些输入输出方法?5.简述命名空间的作用。6.什么是解决方案?什么是项目?解决方案与项目有什么关系?第2章基本数据类型与表达式一.选择题1.在C#语言中,下列能够作为变量名的是【】。A)ifB)3abC)a_3bD)a-bc2.在C#语言中,转义字符不可以表示【】。A)任何字符B)字符串C)字母D)小数点3.表达式5/2+5%2-1的值是【】。A)4B)2C)2.5D)3.54.下列数值类型的数据精度最高的是【】。A)intB)floatC)decimalD)ulong5.在C#语言中,下面的运算符中,优先级最高的是【】。A)%B)++C)*=D)6.能正确表示逻辑关系“a≥10或a≤0”的C#语言表达式是【】。A)a=10ora=0B)a=10|a=0C)a=10&&a=0D)a=10||a=07.以下程序的输出结果是【】。usingSystem;classProgram{publicstaticvoidMain(string[]args){inta=5,b=4,c=6,d;Console.WriteLine(“{0}”,d=ab?(ac?a:c):b);}}A)5B)4C)6D)不确定8.要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【】类型的变量。A)intB)decimalC)floatD)double9.下列标识符中,非法的是【】。A)MyNameB)csharpC)abc2cdD)_12310.已定义下列变量:intn;floatf;doubledf;df=10;n=2;下列语句正确的是【】。A)f=12.3;B)n=df;C)df=n=100;D)f=df;11.下列表达式或语句中,有语法错误的是【】。A)n=12%3.0;(n为int型)B)12/3.0C)12/3D)‘a’’b’12.下列语句中,不能正确定义长度为4的数组a的语句是【】。A)int[]a=newint[]{1,2,3,4};B)int[]a={1,2,3,4};C)int[]a=newint[4]{1,2,3};D)int[]a=newint[4]{1,2,3,4};13.若二维数组a有4行6列,那么该数组中第15个元素的访问方法是【】。A)a[15];B)a[3,3]C)a[3][3]D)a[2,2]14.以下装箱、拆箱语句中,错误的有【】。A)objectobj=100;intm=(int)obj;B)objectobj=100;intm=obj;C)objectobj=(int)100;intm=(int)obj;D)objectobj=(object)100;intm=(int)obj;15.下面有关变量和常量的说法,正确的是【】。A)在程序运行过程中,变量的值是不能改变的,而常量是可以改变的B)常量定义必须使用关键字constC)在给常量赋值的表达式中不能出现变量D)常量在内存中的存储单元是固定的,变量则是变动的16.C#中的值类型包括三种,它们是【】。A)整型、浮点型和基本类型B)数值类型、字符类型和字符串类型C)简单类型、枚举类型、结构类型D)数值类型、字符类型、枚举类型17.代码publicstaticconstintA=1;中的错误是【】。A)A需要定义类型B)格式错误C)const不能用static修饰符D)const不能用public修饰符二.填空题1.在C#中,使用【】关键字来声明符号常量。2.在C#中,表达式Math.Pow(2,-2)的值是【】。3.为计算表达式ex+y的值,应使用的C#语言的表达式是【】。4.C#语言规定,变量在使用之前必须先【】。5.下列程序完成的功能是:从键盘上输入一个直角三角形的斜边长度和一个角的度数,计算出另两条直角边的长度并输出。请填空。usingSystem;classProgram{publicstaticvoidMain(string[]args){doublea,b,c,d,jd;c=Convert.Tosingle(Console.ReadLine());//输入斜边的长度jd=Convert.Tosingle(Console.ReadLine());//输入角的度数d=【】;a=c*Math.Sin(d);b=【】;Console.WriteLine(“a={0},b={1}”,a,b);//输出两直角边的值}}6.设x为int型变量,请写出描述“x是奇数”的C#语言表达式【】。7.请写出描述“-10≤x≤10”的C#语言表达式【】。8.在代码中明确表示将某种数据类型转换为另一种数据类型称为【】。三.问答题1.什么是字符类型和字符串类型?两者有何区别和联系?2.是否可以定义这样的数组:它即包含int类型数据,也包含float类型数据?为什么?3.变量与常量有何区别?4.什么是数据类型转换?有哪几种方法?5.数据类型的隐式转换和显式转换分别在什么场合使用?它们可以相互替换吗?6.除(/)运算对整型数据和浮点型数据有何不同?7.下列程序段的输出结果是什么?inta=1,b=2,c=3;Console.WriteLine(ab&&b==c||ac);8.说明C#值类型与引用类型数据的区别。9.什么是装箱和拆箱?第3章结构化程序设计语句一.选择题1.在C#语言中,if语句后面的表达式应该是【】。A)逻辑表达式B)条件表达式C)关系表达式D)布尔类型的表达式2.在C#语言中,if语句后面的表达式,不能是【】。A)逻辑表达式B)算数表达式C)关系表达式D)布尔类型的表达式3.在C#语言中,switch语句用【】来处理不匹配case语句的值。A)defaultB)anyelseC)breakD)goto4.下列程序的输出结果是【】。usingSystem;classProgram{publicstaticvoidMain(string[]args){intx=1,a=0,b=0;switch(x){case0:b++;break;case1:a++;break;case2:a++;b++;break;}Console.WriteLine(“a={0},b={1}”,a,b);}}A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=25.以下叙述正确的是【】。A)do……while语句构成的循环不能用其他语句构成的循环来代替B)do……while语句构成的循环只能用break语句结束循环C)用do……while语句构成的循环,在while后的表达式为true时结束循环D)用do……while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式6.以下关于for循环的说法不正确的是【】。A)for循环只能用于循环次数已经确定的情况B)for循环是先判定表达式,后执行循环体C)在for循环中,可以用break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来7.以下关于if语句和switch语句的说法,正确的【】。A)如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句B)凡是能够使用if语句的地方就可以使用switch语句,反之亦然C)if语句有3种基本形式:if…、if…else…和if…elseif…else…D)if语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。8.以下关于for循环的说法,不正确的是【】。A)for语句中的3个表达式都可以省略B)for语句中的3个表达式中,若第2个表达式的值为true,则执行循环体中的语句,直到第3个表达式的返回值为falseC)for语句中的3个表达式中,第2个表达式必须是布尔类型的表达式,其他两个可以是任意类型的表达式。D)for语句中的3个表达式中,第1个表达式执行且仅执行一次;每当循环体语句被执行后,第3个表达式都跟着被执行一次。9.C#提供的4种跳转语句中,不推荐使用的是【】。A)returnB)breakC)continueD)goto二.填空题1.在switch语句中,在每个分支的最后应有一条【】语句。2.在C#中,实现循环的语句主要有【】、do……while和【】语句。3.在循环执行过程中,