C#习题集.docx
- 文档编号:27700175
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:117
- 大小:89.36KB
C#习题集.docx
《C#习题集.docx》由会员分享,可在线阅读,更多相关《C#习题集.docx(117页珍藏版)》请在冰豆网上搜索。
C#习题集
第2章简单的C#程序设计
一.选择题
1.C#中程序的入口方法是【B】方法。
A)mainB)MainC)beginD)Program
2.假设变量x的值为25,要输出x的值,下列正确的语句是【C】。
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)CRLB)CLRC)CRRD)CLS
6..NET平台是一个新的开发框架,【】是.NET的核心部分。
A)C#B).NETFrameworkC)VB.NETD)公共语言运行库
7.C#应用程序项目文件的扩展名是【】。
A)csprojB)csC)slnD)suo
8.C#应用程序解决方案文件的扩展名是【】。
A)csprojB)csC)slnD)suo
9.运行C#程序可以通过按【】键实现。
A)F5B)Alt+F5C)Ctrl+F5D)Alt+Ctrl+F5
10.C#语言中类模块代码文件的扩展名是【】。
A)csprojB)csC)slnD)suo
11.构建桌面应用程序需要.NET提供的类库是【】。
A)ADO.NETB)WindowsFormC)XMLD)ASP.NET
12.C#中导入某一命名空间的关键字是【】。
A)useB)usingC)importD)include
13..NETFramework将【】定义为一组规则,所有.NET语言都应遵守这个规则,才能创建可以与其他语言互操作的应用程序。
A)JITB)CLRC)MSILD)ADO.NET
14.在VS.NET中,在【】中可以查看当前项目的类和类的层次信息。
A)解决方案资源管理器B)类视图窗口
C)对象浏览器窗口D)属性窗口
15.在.NETFramewor中,MSIL是指【】
A)接口限制B)中间语言C)核心代码D)类库
16.【】是独立于CPU的指令集,它可以被高效地转换为本机机器语言。
A)CLRB)CTSC)CLSD)MSIL
17.利用C#开发应用程序通常有三种类型,不包括【】。
A)控制台应用程序B)Web应用程序
C)SQL程序D)Windows应用程序
18.【】包含在.NETFramework的各语言之间兼容的数据类型。
A)JIT(Just-In-TimeCompiler即时编译器)B)CTS(通用类型系统)
C)CLS(公共语言规范)D)MSIL(微软中间语言)
19.C#源代码经过【】次编译,才能在本机上执行。
A)1B)2C)3D)0
20.所有.NET支持的编程语言编写的源代码经过一次编译后,被编译成【】。
A)机器代码B)MSIL代码C)CLS代码D)C#源代码
21.在.NET中,关于CLR和MSIL的叙述正确的是【】。
A)应用程序在CLR环境被编译成MSIL,MSIL将能够被任何计算机执行
B)应用程序被编译两次,第一次生成MSIL,MSIL在运行时被CLR快速编译
C)应用程序被编译两次,但第二次CLR编译比第一次慢
D)借取CLR,MISL被编译成机器代码,该机器代码能够在不同计算机下执行
22.CLR为.NET提供如下方面的功能或者服务,除了【】。
A)无用存储单元收集B)代码验证和类型安全
C)代码访问安全D)自动消除程序中的逻辑错误
23..NETFramework是一种新的开发平台,它具有两个主要组件,分别是【】和.NET基础类库。
A)公共语言运行库B)Web服务C)命名空间D)Main()函数
24.控制台应用程序使用【】命名空间中的类处理输入和输出。
A)SystemB)System.Web
C)System.Windows.FormsD)System.Data
25.【】类型的应用程序适合于交互性操作较少的情况。
A)控制台应用程序B)Windows应用程序
C)Web应用程序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】属性值。
5.C#要求程序中的每个元素都要属于一个【类】。
6.在C#程序中,程序的执行总是从【Main】方法开始的。
7.在C#中,进行注释有两种方法:
使用“//”和使用“/**/”符号对,其中【//】只能进行单行注释。
8.要在控制台程序运行时输出信息,可使用Console类的【Write或WriteLine】方法。
三.问答题
1.C#语言的特点是什么?
2.说明VisualStudio.NET、.NETFramework和C#之间的联系。
3.VisualStudio2008包含哪几种开发语言?
4.控制台应用程序有哪些常用的输入输出方法?
5.简述命名空间的作用。
6.什么是解决方案?
什么是项目?
解决方案与项目有什么关系?
第3章C#程序设计基础
一.选择题
1.在C#语言中,下列能够作为变量名的是【】。
A)ifB)3abC)a_3bD)a-bc
2.下列标识符中,非法的是【】。
A)MyNameB)csharpC)abc2cdD)_123
3.C#的数据类型分为【】。
A)值类型和调用类型B)值类型和引用类型
C)引用类型和关系类型D)关系类型和调用类型
4.C#中的值类型包括三种,它们是【】。
A)整型、浮点型和基本类型B)数值类型、字符类型和字符串类型
C)简单类型、枚举类型、结构类型D)数值类型、字符类型、枚举类型
5.下列选项中,【】是引用类型。
A)enum类型B)struct类型C)string类型D)int类型
6.以下类型中,不是值类型的是【】。
A)整数类型B)布尔类型C)类类型D)字符类型
7.在C#语言中,转义字符不可以表示【】。
A)任何字符B)字符串C)字母D)小数点
8.下列数值类型的数据精度最高的是【】。
A)intB)floatC)decimalD)ulong
9.要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【】类型的变量。
A)intB)decimalC)floatD)double
10.在C#中,每个int类型的变量占用【】个字节的内存。
A)1B)2C)4D)8
11.以下C#语句中,常量定义正确的是【】。
A)constdoublePI3.1415926;B)constdoublePI=3.1415926;
C)definedoublePI3.1415926;D)definedoublePI=3.1415926;
12.在C#中,表示一个字符串的变量应使用以下【】语句定义。
A)strasString;B)Stringstr;C)String*str;D)char*str;
13.在C#中,新建一个字符串变量str,并将字符串“Tom’sLivingRoom”保存到串中,则下列正确的语句是【】。
A)Stringstr="Tom\\'sLivingRoom";B)Stringstr="Tom'sLivingRoom";
C)Stringstr="Tom''sLivingRoom";D)String*str="Tom'sLivingRoom";
14.在C#语言中,下面的运算符中,优先级最高的是【】。
A)%B)++C)*=D)>
15.表达式5/2+5%2-1的值是【】。
A)4B)2C)2.5D)3.5
16.能正确表示逻辑关系“a≥10或a≤0”的C#语言表达式是【】。
A)a>=10ora<=0B)a>=10|a<=0C)a>=10&&a<=0D)a>=10||a<=0
18.已定义下列变量:
intn;floatf;doubledf;
df=10;n=2;
下列语句正确的是【】。
A)f=12.3;B)n=df;C)df=n=100;D)f=df;
19.下列表达式或语句中,有语法错误的是【】。
A)n=12%3.0;(n为int型)B)12/3.0
C)12/3D)‘a’>’b’
20.以下装箱、拆箱语句中,错误的有【】。
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;
21.下面有关变量和常量的说法,正确的是【】。
A)在程序运行过程中,变量的值是不能改变的,而常量是可以改变的
B)常量定义必须使用关键字const
C)在给常量赋值的表达式中不能出现变量
D)常量在内存中的存储单元是固定的,变量则是变动的
22.代码publicstaticconstintA=1;中的错误是【】。
A)A需要定义类型B)格式错误
C)const不能用static修饰符D)const不能用public修饰符
23.以下对枚举类型的定义,正确的是【】。
A)enuma={one,two,three};B)enuma{a1,a2,a3};
C)enuma{'1','2','3'};D)enuma{"one","two","three"};
25.枚举型常量的值不可以是【】类型。
A)intB)longC)ushortD)double
26.执行下列两条语句后,结果s2的值为【】。
strings="abcdefgh";
strings2=s.Substring(2,3);
A)"bc"B)"cd"C)"bcd"D)"cde"
二.填空题
1.在C#中,使用【const】关键字来声明符号常量。
2.在C#中,表达式Math.Pow(2,-2)的值是【0.25】。
3.为计算表达式ex+y的值,应使用的C#语言的表达式是【Math.Exp(x+y)】。
4.C#语言规定,变量在使用之前必须先【定义】。
5.下列程序完成的功能是:
从键盘上输入一个直角三角形的斜边长度和一个角的度数,计算出另两条直角边的长度并输出。
请填空。
classProgram
{publicstaticvoidMain(string[]args)
{doublea,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】。
8.在代码中明确表示将某种数据类型转换为另一种数据类型称为【显式类型转换】。
9.下面程序的运行结果是【】。
classProgram
{publicstaticvoidMain(string[]args)
{stringstr1="星期一\\星期二\\星期三";
stringstr2=@"星期一\\星期二\\星期三";
Console.WriteLine("str1={0}",str1);
Console.WriteLine("str2={0}",str2);
}
}
str1=星期一\星期二\星期三
str2=星期一\\星期二\\星期三
10.C#中的字符串有两类:
规则字符串和逐字字符串,定义逐字字符串时,应在其前面加上【@】号。
11.下列程序的执行结果是【False】。
classProgram
{publicstaticvoidMain(string[]args)
{stringstr1,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】。
publicstaticvoidMain(string[]args)
{stringstr="1a2b3c";
inti;
for(i=0;i if(str[i]>='0'&&str[i]<='9')Console.Write(str[i]); } 15.将一个值类型隐式或显示地转换成一个object类型称为【装箱】。 所谓拆箱就是将一个【object类型】显式地转换成一个值类型。 16.下列程序段的输出结果是【True】。 inta=1,b=2,c=3; Console.WriteLine(a>b&&b==c||a 17.下列程序的执行结果是【my,your,5,15】。 classProgram {enumteam{my,your=4,his,her=his+10}; publicstaticvoidMain(string[]args) {Console.WriteLine("{0},{1},{2},{3}",team.my,team.your, (int)team.his,(int)team.her); } } 18.以下程序的输出结果是【6】。 classProgram {publicstaticvoidMain(string[]args) {inta=5,b=4,c=6,d; Console.WriteLine(“{0}”,d=a>b? (a>c? a: c): b); } } 19.以下程序的输出结果是【】。 classProgram {publicstaticvoidMain(string[]args) {int[]a=newint[3]{1,2,3}; for(inti=0;i<3;i++)Console.Write("{0}",a[i]); Console.WriteLine(); int[]b=a; for(inti=0;i<3;i++)b[i]=2*b[i]; for(inti=0;i<3;i++)Console.Write("{0}",a[i]); Console.WriteLine(); Console.Read(); } } 123 246 20.以下程序的输出结果是【】。 classProgram {publicstaticvoidMain(string[]args) {inta=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=9n=11 m=13n=13 三.问答题 1.什么是字符类型和字符串类型? 两者有何区别和联系? 2.是否可以定义这样的数组: 它即包含int类型数据,也包含float类型数据? 为什么? 3.变量与常量有何区别? 4.什么是数据类型转换? 有哪几种方法? 5.数据类型的隐式转换和显式转换分别在什么场合使用? 它们可以相互替换吗? 6.除(/)运算对整型数据和浮点型数据有何不同? 7.简述C#中有哪些数据类型。 8.说明C#值类型与引用类型数据的区别。 9.简述C#中结构类型和枚举类型的声明方法。 10.简述C#中常用类的静态方法和非静态方法的差异。 第4章C#控制语句 一.选择题 1.在C#语言中,if语句后面的表达式应该是【】。 A)逻辑表达式B)条件表达式C)关系表达式D)布尔类型的表达式 2.在C#语言中,if语句后面的表达式,不能是【】。 A)逻辑表达式B)算数表达式C)关系表达式D)布尔类型的表达式 3.在C#语言中,switch语句用【】来处理不匹配case语句的值。 A)defaultB)anyelseC)breakD)goto 4.下列程序的输出结果是【】。 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=2 5.以下叙述正确的是【】。 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语
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 习题集
![提示](https://static.bdocx.com/images/bang_tan.gif)