logo资料库

C#习题集(2018秋).pdf

第1页 / 共67页
第2页 / 共67页
第3页 / 共67页
第4页 / 共67页
第5页 / 共67页
第6页 / 共67页
第7页 / 共67页
第8页 / 共67页
资料共67页,剩余部分请下载后查看
C#程序设计 习题集 辛晓辉 2018 年 12 月 中国地质大学(北京)信息工程学院
第 1-2 章 简单的 C#程序设计 一.选择题 1.C#中程序的入口方法是【 】方法。 A) main B) Main C) begin D) Program 2.假设变量 x 的值为 25,要输出 x 的值,下列正确的语句是【 】。 A) System.Console.writeline(“x”); C) System.Console.WriteLine(“x={0}”,x); B) System.Console.WriteLine(“x”); D) System.Console.WriteLine(“x={x}”); 3.要退出应用程序的执行,应执行下列的【 】语句。 A) Application.Exit(); C) Application.Close(); B) Application.Exit; D) Application.Close; 4.关于 C#程序的书写,下列不正确的说法是【 】。 A) 区分大小写 B) 一行可以写多条语句 C) 一条语句可以写成多行 D) 一个类中只能有一个 Main()方法,因此多个类中可以有多个 Main()方法。 5.公共语言运行库即【 】。 A) CRL B) CLR C) CRR 6..NET 平台是一个新的开发框架,【 】是.NET 的核心部分。 A) C# B) .NET Framework 7.C#应用程序项目文件的扩展名是【 】。 C) VB.NET A) csproj B) cs C) sln 8.C#应用程序解决方案文件的扩展名是【 】。 A) csproj 9.运行 C#程序可以通过按【 】键实现。 B) cs C) sln A) F5 B) Alt+F5 C) Ctrl+F5 10.C#语言中类模块代码文件的扩展名是【 】。 A) csproj B) cs C) sln 11.构建桌面应用程序需要.NET 提供的类库是【 】。 A) ADO.NET B) Windows Form C) XML 12.C#中导入某一命名空间的关键字是【 】。 A) use B) using C) import D) CLS D) 公共语言运行库 D) suo D) suo D) Alt+Ctrl+F5 D) suo D) ASP.NET D) include 13..NET Framework 将【 】定义为一组规则,所有.NET 语言都应遵守这个规则,才能创建可 以与其他语言互操作的应用程序。 A) JIT B) CLR C) MSIL D) ADO.NET 14.在 VS.NET 中,在【 】中可以查看当前项目的类和类的层次信息。 A) 解决方案资源管理器 C) 对象浏览器窗口 15.在.NET Framewor 中,MSIL 是指【 】 B) 类视图窗口 D) 属性窗口 A) 接口限制 B)中间语言 C) 核心代码 D) 类库 16.【 】是独立于 CPU 的指令集,它可以被高效地转换为本机机器语言。 A) CLR B) CTS C) CLS D) MSIL 17.利用 C#开发应用程序通常有三种类型,不包括【 】。 A) 控制台应用程序 C) SQL 程序 B) Web 应用程序 D) Windows 应用程序 - 1 -
18.【 】包含在. NET Framework 的各语言之间兼容的数据类型。 A) JIT(Just-In-Time Compiler 即时编译器) B) CTS(通用类型系统) C) CLS(公共语言规范) D) MSIL(微软中间语言) 19.C#源代码经过【 】次编译,才能在本机上执行。 A) 1 B) 2 C) 3 D) 0 20.所有.NET 支持的编程语言编写的源代码经过一次编译后,被编译成【 】。 A) 机器代码 C) CLS 代码 21.在.NET 中,关于 CLR 和 MSIL 的叙述正确的是【 】。 B) MSIL 代码 D) C#源代码 A) 应用程序在 CLR 环境被编译成 MSIL,MSIL 将能够被任何计算机执行 B) 应用程序被编译两次,第一次生成 MSIL,MSIL 在运行时被 CLR 快速编译 C) 应用程序被编译两次,但第二次 CLR 编译比第一次慢 D) 借取 CLR,MISL 被编译成机器代码,该机器代码能够在不同计算机下执行 22.CLR 为.NET 提供如下方面的功能或者服务,除了【 】。 A) 无用存储单元收集 C) 代码访问安全 B) 代码验证和类型安全 D) 自动消除程序中的逻辑错误 23..NET Framework 是一种新的开发平台,它具有两个主要组件,分别是【 】和.NET 基础类 库。 A) 公共语言运行库 B) Web 服务 24.控制台应用程序使用【 】命名空间中的类处理输入和输出。 C) 命名空间 D) Main()函数 A) System C) System.Windows.Forms B) System.Web D) System.Data 25.【 】类型的应用程序适合于交互性操作较少的情况。 A) 控制台应用程序 C) Web 应用程序 B) Windows 应用程序 D) 以上都不是 26.以下对 Read() 和 ReadLine()方法的叙述中正确的是【 】。 A) Read()方法一次只能从输入流中读取一个字符,返回该字符的 ASCII 码值。 B) Read()方法一次可以从输入流中读取一个字符串 C) ReadLine()方法一次只能从输入流中读取一个字符 D) ReadLine()方法只有当用户按下 Enter 键时返回,而 Read()方法不是 27.以下对 Write() 和 WriteLine()方法的叙述中正确的是【 】。 A) Write()方法在输出字符串的后面添加换行符 B) 使用 Write()方法输出字符串时,光标将会位于字符串的后面 C) 使用 Write()方法和 WriteLine()方法输出数值变量时,必须要先将数值转换成字符串 D) 使用不带参数的 WriteLine()方法时,将不会产生任何输出 28.以下关于控制台应用程序和 Windows 应用程序的叙述中正确的是【 】。 A) 控制台应用程序中有一个 Main 静态方法,而 Windows 应用程序中没有 B) Windows 应用程序中有一个 Main 静态方法,而控制台应用程序中没有 C) 控制台应用程序和 Windows 应用程序中都没有 Main 静态方法 D) 控制台应用程序和 Windows 应用程序中都有一个 Main 静态方法 二.填空题 1..NET 框架包括【 公共语言运行库(CLR) 】和.NET 基础类库。 2.为便于管理多个项目,在 VS.NET 集成环境中引入【 解决方案资源管理器 】,用来对企业级 解决方案涉及的多个项目进行管理。 3.C#是作为【 C++ 】语言的替代品种出现的。 4.要使 lable 控件显示给定的文字“您好。”,应在设计状态下设置它的【 Text 】属性值。 - 2 -
5.C#要求程序中的每个元素都要属于一个【 类 】。 6.在 C#程序中,程序的执行总是从【 Main 】方法开始的。 7.在 C#中,进行注释有两种方法:使用“//”和使用“/* */”符号对,其中【 // 】只能进行单 行注释。 8.要在控制台程序运行时输出信息,可使用 Console 类的【 Write 或 WriteLine 】方法。 三.问答题 1.C#语言的特点是什么? 2.说明 Visual Studio.NET、.NET Framework 和 C#之间的联系。 3.Visual Studio 2008 包含哪几种开发语言? 4.控制台应用程序有哪些常用的输入输出方法? 5.简述命名空间的作用。 6.什么是解决方案?什么是项目?解决方案与项目有什么关系? - 3 -
第 3 章 C#程序设计基础 一.选择题 1.在 C#语言中,下列能够作为变量名的是【 】。 A) if B) 3ab 2.下列标识符中,非法的是【 】。 A) MyName B) c sharp 3.C#的数据类型分为【 】。 A) 值类型和调用类型 C) 引用类型和关系类型 4.C#中的值类型包括三种,它们是【 】。 C) a_3b C) abc2cd D) a-bc D) _123 B) 值类型和引用类型 D) 关系类型和调用类型 A) 整型、浮点型和基本类型 C) 简单类型、枚举类型、结构类型 5.下列选项中,【 】是引用类型。 B) struct 类型 A) enum 类型 6.以下类型中,不是值类型的是【 】。 A) 整数类型 B)布尔类型 C) string 类型 C) 类类型 B) 数值类型、字符类型和字符串类型 D) 数值类型、字符类型、枚举类型 D) int 类型 D) 字符类型 D)小数点 D) ulong 7.在 C#语言中,转义字符不可以表示【 】。 A) 任何字符 B)字符串 C)字母 8.下列数值类型的数据精度最高的是【 】。 A) int B) float C) decimal 9.要使用变量 score 来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定 义为【 】类型的变量。 A) int 10.在 C#中,每个 int 类型的变量占用【 】个字节的内存。 B) decimal C) float A) 1 B) 2 C) 4 11.以下 C#语句中,常量定义正确的是【 】。 D) double D) 8 A) const double PI 3.1415926; C) define double PI 3.1415926; B) const double PI= 3.1415926; D) define double PI=3.1415926; 12.在 C#中,定义 st 为一个字符串的变量应使用以下【 】语句定义。 A) str as String; B) String str; C) String *str; D) char *str; 13.在 C#中,新建一个字符串变量 str,并将字符串“Tom‟s Living Room”保存到串中,则下列正确 的语句是【 】。 A) String str="Tom\\'s Living Room"; C) String str="Tom''s Living Room"; B) String str="Tom's Living Room"; D) String *str="Tom's Living Room"; 14.在 C#语言中,下面的运算符中,优先级最高的是【 】。 A) % 15.表达式 5/2+5%2-1 的值是【 】。 B) ++ A) 4 B) 2 C) *= C) 2.5 D) > D) 3.5 16.能正确表示逻辑关系“a≥10 或 a≤0”的 C#语言表达式是【 】。 A) a>=10 or a<=0 18.已定义下列变量: B) a>=10 | a<=0 C) a>=10 && a<=0 D) a>=10 || a<=0 int n; float f; double df; df=10; n=2; - 4 -
下列语句正确的是【 】。 A) f=12.3; B) n=df; C) df=n=100; 19.下列表达式或语句中,有语法错误的是【 】。 A) n=12%3.0;(n 为 int 型) C) 12/3 B) 12/3.0 D) „a‟>‟b‟ D) f=df; 20.以下装箱、拆箱语句中,错误的有【 】。 A) object obj=100; int m=(int)obj; C) object obj=(int)100; int m=(int)obj; B) object obj=100; int m=obj; D) object obj=(object)100; int m=(int)obj; 21.下面有关变量和常量的说法,正确的是【 】。 A) 在程序运行过程中,变量的值是不能改变的,而常量是可以改变的 B) 常量定义必须使用关键字 const C) 在给常量赋值的表达式中不能出现变量 D) 常量在内存中的存储单元是固定的,变量则是变动的 22.代码 public static const int A=1;中的错误是【 】。 A) A 需要定义类型 C) const 不能用 static 修饰符 B) 格式错误 D) const 不能用 public 修饰符 23.以下对枚举类型的定义,正确的是【 】。 A) enum a={one,two,three}; B) enum a{a1,a2,a3}; C) enum a{'1', '2', '3'}; 25.枚举型常量的值不可以是【 】类型。 D) enum a{ "one","two","three" }; A) int B) long C) ushort 26.执行下列两条语句后,结果 s2 的值为【 】。 string s="abcdefgh"; string s2=s.Substring(2,3); A) "bc" B) "cd" C) "bcd" D) double D) "cde" 二.填空题 1.在 C#中,使用【 const 】关键字来声明符号常量。 2.在 C#中,表达式 Math.Pow(2,-2)的值是【 0.25 】。 3.为计算表达式 ex+y 的值,应使用的 C#语言的表达式是【 Math.Exp(x+y) 】。 4.C#语言规定,变量在使用之前必须先【 定义 】。 5.下列程序完成的功能是:从键盘上输入一个直角三角形的斜边长度和一个角的度数,计算出另两 条直角边的长度并输出。请填空。 class Program { public static void Main(string[] args) { double a, b, c, d, jd; c= Convert.ToSingle(Console.ReadLine()); jd=Convert.ToSingle(Console.ReadLine()); d=【jd *Math .PI /180 】; //输入斜边的长度 //输入角的度数 a=c*Math.Sin(d); b=【c*Math .Cos (d) 】; Console.WriteLine("a={0},b={1}",a,b); //输出两直角边的值 } } 6.设 x 为 int 型变量,请写出描述“x 是奇数”的 C#语言表达式【 x%2==1 】。 7.请写出描述“-10≤x≤10”的 C#语言表达式【 x>=-10 && x<=10 】。 - 5 -
8.在代码中明确表示将某种数据类型转换为另一种数据类型称为【 显式类型转换 】。 9.下面程序的运行结果是【 】。 class Program { public static void Main(string[] args) { string str1="星期一\\星期二\\星期三"; string str2=@"星期一\\星期二\\星期三"; Console.WriteLine("str1={0}",str1); Console.WriteLine("str2={0}",str2); } } str1=星期一\星期二\星期三 str2=星期一\\星期二\\星期三 10.C#中的字符串有两类:规则字符串和逐字字符串,定义逐字字符串时,应在其前面加上【 @ 】 号。 11.下列程序的执行结果是【 False 】。 class Program { public static void Main(string[] args) string str1,str2; str1="abdde"; str2="abcde"; Console.WriteLine("{0}",str1==str2); { } } 12.已知 str 的值为”abcdefgh”,则表达式 str.Substring(1,3)的值为【 bcd 】。 13.若要从字符串 str 的第 3 个字符开始取 5 个字符作为一个子串赋给 sstr,可以使用语句 【 sstr=str.Substring(2,5) 】实现。 14.以下程序的执行结果是【 123 】。 public static void Main(string[] args) { string str="1a2b3c"; int i; for(i=0;i='0'&& str[i]<='9') Console.Write(str[i]); } 15.将一个值类型隐式或显示地转换成一个 object 类型称为【 装箱 】。所谓拆箱就是将一个【 object 类型 】显式地转换成一个值类型。 16.下列程序段的输出结果是【 True 】。 int a=1,b=2,c=3; Console.WriteLine(a>b&&b==c||a
class Program { public static void Main(string[] args) int a=5,b=4,c=6,d; Console.WriteLine(“{0}”,d=a>b?(a>c?a:c):b); { } } 19.以下程序的输出结果是【 】。 class Program { public static void Main(string[] args) { int[] a = new int[3] { 1, 2, 3 }; for (int i = 0; i < 3; i++) Console.Write("{0} ", a[i]); Console.WriteLine(); int[] b = a; for (int i = 0; i < 3; i++) b[i] = 2 * b[i]; for (int i = 0; i < 3; i++) Console.Write("{0} ", a[i]); Console.WriteLine(); Console.Read(); } } 1 2 3 2 4 6 20.以下程序的输出结果是【 】。 class Program { public static void Main(string[] args) { int a=4,b=5,m,n; m=(a++)+(b++); n=a+b; Console.WriteLine("m={0} n={1}",m,n); m=(++a)+(++b); n=a+b; Console.WriteLine("m={0} n={1}",m,n); } } m=9 n=11 m=13 n=13 三.问答题 1.什么是字符类型和字符串类型?两者有何区别和联系? 2.是否可以定义这样的数组:它即包含 int 类型数据,也包含 float 类型数据?为什么? 3.变量与常量有何区别? 4.什么是数据类型转换?有哪几种方法? 5.数据类型的隐式转换和显式转换分别在什么场合使用?它们可以相互替换吗? 6.除(/)运算对整型数据和浮点型数据有何不同? 7.简述 C#中有哪些数据类型。 8.说明 C#值类型与引用类型数据的区别。 9.简述 C#中结构类型和枚举类型的声明方法。 10.简述 C#中常用类的静态方法和非静态方法的差异。 - 7 -
分享到:
收藏