C#习题集.docx

上传人:b****6 文档编号:5740665 上传时间:2022-12-31 格式:DOCX 页数:63 大小:103.33KB
下载 相关 举报
C#习题集.docx_第1页
第1页 / 共63页
C#习题集.docx_第2页
第2页 / 共63页
C#习题集.docx_第3页
第3页 / 共63页
C#习题集.docx_第4页
第4页 / 共63页
C#习题集.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

C#习题集.docx

《C#习题集.docx》由会员分享,可在线阅读,更多相关《C#习题集.docx(63页珍藏版)》请在冰豆网上搜索。

C#习题集.docx

C#习题集

C#程序设计

习题集

辛晓辉

 

2016年4月

中国地质大学(北京)信息工程学院

第2章简单的C#程序设计

一.选择题

1.C#中程序的入口方法是【】方法。

A)mainB)MainC)beginD)Program

2.假设变量x的值为25,要输出x的值,下列正确的语句是【】。

A)B)

C)D)要退出应用程序的执行,应执行下列的【】语句。

A)();B);

C)();D);

4.关于C#程序的书写,下列不正确的说法是【】。

A)区分大小写

B)一行可以写多条语句

C)一条语句可以写成多行

D)一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。

5.公共语言运行库即【】。

A)CRLB)CLRC)CRRD)CLS

6..NET平台是一个新的开发框架,【】是.NET的核心部分。

A)C#B).NETFrameworkC)D)公共语言运行库

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)B)WindowsFormC)XMLD)

12.C#中导入某一命名空间的关键字是【】。

A)useB)usingC)importD)include

13..NETFramework将【】定义为一组规则,所有.NET语言都应遵守这个规则,才能创建可以与其他语言互操作的应用程序。

A)JITB)CLRC)MSILD)

14.在中,在【】中可以查看当前项目的类和类的层次信息。

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)

C)D)

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.为便于管理多个项目,在集成环境中引入【解决方案资源管理器】,用来对企业级解决方案涉及的多个项目进行管理。

3.C#是作为【C++】语言的替代品种出现的。

4.要使lable控件显示给定的文字“您好。

”,应在设计状态下设置它的【Text】属性值。

5.C#要求程序中的每个元素都要属于一个【类】。

6.在C#程序中,程序的执行总是从【Main】方法开始的。

7.在C#中,进行注释有两种方法:

使用“ETFramework和C#之间的联系。

3.VisualStudio2008包含哪几种开发语言

4.控制台应用程序有哪些常用的输入输出方法

Readwrite

5.简述命名空间的作用。

命名空间是.NET基础类库中类的一种组织形式,类似于目录和文件的划分形式。

导入命名空间之后,就可以自由地使用其中的元素了。

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)constdoublePI;B)constdoublePI=;

C)definedoublePI;D)definedoublePI=;

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)D)

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=;B)n=df;C)df=n=100;D)f=df;

19.下列表达式或语句中,有语法错误的是【】。

A)n=12%;(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=(2,3);

A)"bc"B)"cd"C)"bcd"D)"cde"

二.填空题

1.在C#中,使用【const】关键字来声明符号常量。

2.在C#中,表达式(2,-2)的值是【】。

3.为计算表达式ex+y的值,应使用的C#语言的表达式是【(x+y)】。

4.C#语言规定,变量在使用之前必须先【定义】。

5.下列程序完成的功能是:

从键盘上输入一个直角三角形的斜边长度和一个角的度数,计算出另两条直角边的长度并输出。

请填空。

classProgram

{publicstaticvoidMain(string[]args)

{doublea,b,c,d,jd;

c=());I/180】;

a=c*(d);

b=【c*Math.Cos(d)】;

("a={0},b={1}",a,b);10”MainMainMain1a3cMainMainMainMain

.

[字段访问修饰符]数据类型字段n;

}

enum枚举类型名{枚举常量1,枚举常量2,…};

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;

}

(“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语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。

8.以下关于for循环的说法,不正确的是【】。

A)for语句中的3个表达式都可以省略

B)for语句中的3个表达式中,若第2个表达式的值为true,则执行循环体中的语句,直到第3个表达式的返回值为false

C)for语句中的3个表达式中,第2个表达式必须是布尔类型的表达式,其他两个可以是任意类型的表达式。

D)for语句中的3个表达式中,第1个表达式执行且仅执行一次;每当循环体语句被执行后,第3个表达式都跟着被执行一次。

9.C#提供的4种跳转语句中,不推荐使用的是【】。

A)returnB)breakC)continueD)goto

二.填空题

1.在switch语句中,在每个分支的最后应有一条【break】语句。

2.在C#中,实现循环的语句主要有【while】、do……while和【for】语句。

3.在循环执行过程中,希望当某个条件满足时强行退出循环,应使用【break】语句。

4.下列程序完成的功能是求出所有的水仙花数。

(所谓水仙花数是指这样的数:

该数是三位数,其各位数字的立方和等于该数。

例如:

153=13+53+33,所以153是一个水仙花数。

)请填空。

classProgram

{publicstaticvoidMain(string[]args)

{inta,b,c,t;

for(i=100;i<=【999】;i++)

{t=i;

a=t%10;t=t/10;b=t%10;c=t/10;

if(【i==a*a*a+b*b*b+c*c*c】)("i={0}",i);

}

}

}

5.下列程序的功能是:

输出100以内能被3整除且个位数为6的所有整数。

请填空。

classProgram

{publicstaticvoidMain(string[]args)

{inti,j;

for(i=0;【i<10】;i++)

{j=i*10+6;

if(【j%3==0】)("{0}",j);

}

}

}

6.下列程序的功能是:

产生100个两位随机正整数,求这些数中所有能被3整除的数的和,以及所有不能被3整除的数的各位数字和。

请填空。

staticvoidMain(string[]args)

{floatsum1=0,sum2=0;

inti,num;

RandomrandObj1=newRandom();

for(i=1;i<=100;i++)

{num=【(10,100)】;

if(num%3==0)

{sum1=sum1+num;【continue;】}sum2=sum2+num%10;

sum2=sum2+num/10;

}

("能被3整除的数的和为:

{0}",sum1);

("不能被3整除的所有数的各位数字和为:

{0}",sum2);

();

}

三.读程序题

1.有以下程序代码,若执行时从键盘上输入9,则输出结果是【10】。

classProgram

{publicstaticvoidMain(string[]args)

{intn;

n=());

if(n++<10)("{0}",n);

else("{0}",n--);

();

}

}

2.下列程序的运行结果是【i=11,s=0】。

classProgram

{publicstaticvoidMain(string[]args)

{inti=0,s=1;

do

{s/=s+1;

i++;

}while(i<=10);

("i={0},s={1}",i,s);

}

}

3.下列程序的运行结果是【m=51,n=50】。

classProgram

{publicstaticvoidMain(string[]args)

{inti=0,m=0,n=0;

while(i<=100)

{if(i%2==0)m+=1;

elsen=n+1;

i++;

}

("m={0},n={1}",m,n);

}

}

4.下列程序的运行结果是【m=3】。

staticvoidMain(string[]args)

{inta=15,b=21,m=0;

switch(a%2)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{case0:

m++;break;

default:

m=m+2;break;

}

break;

}

("m={0}",m);

}

4.下列程序的运行结果是【s=10】。

staticvoidMain(string[]args)

{inti,j,s=0;

for(i=2;i<6;i=i+2)

{s=1;

for(j=i;j<6;j++)s+=j;

}

("s={0}",s);

}

5.下列程序的运行结果是【a=32】。

staticvoidMain(string[]args)

{inti=0,a=0;

while(i<20)

{for(;;)

{if(i%10==0)break;

elsei--;

}

i+=11;a+=i;

}

("a={0}",a);

}

四.编程题

1.设计一个控制台应用程序,将用户输入的正整数反向显示出来。

如输入12345,则输出54321。

staticvoidMain(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1