C#复习资料

发布时间 : 星期六 文章C#复习资料更新完毕开始阅读

一、选择题

1. CLR是一种()

A. 程序设计语言 B.运行环境 C.开发环境 D. API编程接口 2. C#语言源代码文件的后缀名为()

A. .c# B .cc C. .csp D. .cs

3. 构建桌面应用程序需要.NET提供的类库是()

A. ADO.NET B.Windows Form C.XML D.ASP.NET 4. 与C++等语言相比,C#的简单性主要体现在()

A. 没有鼓励的全局函数 B.没有指针

C.不能使用未初始化的变量 D.解决了“DLL地狱” 5. C#中导入某一命名空间的关键字是()

A. using B.use C.import D.include 6. C#中程序的入口方法名是()

A. Main B.main C.Begin D.using

二、简答题

1. C#语言的主要优势有哪些?

2. 如何看待C#、CLR和.NET之间的关系?

3. VS2010平台如何有效地实现各类应用程序的管理?

4. 最常见的C#项目有哪几类?简述创建他们的基本操作步骤? 第二章 C#语言基础 一、选择题

1.C#中的值类型包括三种,它们是()

A.整型、浮点型、基本类型 B.数值类型、字符类型、字符串类型 C.简单类型、枚举类型、结构类型 D.数值类型、字符类型、枚举类型、

2.C#的引用类型包括类、接口、数组、委托、object和string。其中object()根类

A.只是引用类型的 B.只是值类型的 C.只是string类型的 D.是所有值类型和引用类型的 3.浮点常量有三种格式,下面()组的浮点常量都属于double类型。

A. 0.618034, 0.618034D, 6.18034E-1 B.0.618034, 0.618034F, 0.0618034E1 C.0.618034, 0.618034f, 0.618034M D.0.618034F, 0.618034D, 0.618034M 4.下面字符常量表示有错误的一组是()

A.’\\\\’ , ’\'’ , ’\\x0027’ B. ‘\\n’ , ’\\t’ , ’\\037’ C.’a’ , ’\a’ , (char)97 D.’\\x0030’ , ’\\0’ , ‘0’ 5.下列标识符命名正确的是()

A. _int,Int,@int B.using,_using,@using C.NO1,NO_1,NO.1 D. A3,_A3,@A3 6.当表达式中混合了几种不同的数据类型时,C#会基于运算的顺序将他们自动转换成同一类型。但下面()类型和decimal类型混合在一个表达式中,不能自动提升为decimal. A. float B. int C.uint D. byte

7.设有说明语句 int x=8;则下列表达式中,值为2的是() A.X+=x-=x; B.x%=x-2; C.x>8?x=0:x++; D.x/x=x+x; 8.C#数组主要有三种形式,它们是()

A.一维数组、二维数组、三维数组 B.整型数组、浮点型数组、字符型数组 C.一维数组、多维数组、不规则数组 D.一维数组、二维数组、多维数组 9.设有说明语句 double[,,]tab=new double [2,3,4];那么下面叙述正确的是() A. tab是一个三维数组,它的元素一共有24个

B. tab是一个有三个元素的一维数组,它的元素初始值分别是2,3,4

C. tab是一个维数不确定的数组,使用时可以任意调整 D. tab是一个不规则数组,数组元素的个数可以变化 10.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对()进行初始化。

A.静态成员 B.非静态成员 C.静态成员或非静态成员 D. 静态成员和非静态成员 11.C#实现了完全意义上的面向对象,所以它没有(),任何数据域和方法都必须封装在类体中。 A.全局变量 B.全局常数 C.全局方法 D.全局变量、全局常量和全局方法 12.方法中的值参数是()的参数。

A.按值传递 B.按引用传递 C.按地址传递 D.不传递任何值 13.下面对方法中的ref和out参数说明错误的是()

A.ref和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指 向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值

B.ref是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用处接收实参数据 C.ref和out参数传递的是实参的地址,所以要求实参和形参的数据类型必须一致

D.ref和out参数要求实参和形参的数据类型或者一致,或者实参能被隐式地转化为形参的类型 14.下列叙述中,正确的是()

A.接口中科院有虚方法 B.一个类科院实现多个接口 C.接口能被实例化 D.接口中科院包含已实现的方法 二、简答题

1.判断下列标识符的合法性。

X.25 4foots exam-1 using main Who_an_I Large&Small _Years val(7) 2xy

2.下列常量是否合法?弱不合法,指出原因;若合法,指出它的数据类型。

32767 35u 1.25e3.4 3L 0.0086e-32 ‘\\87’ true “a” ‘a’ ‘\\96\\45’ .5 5UL

3.指出下列哪些表示字符?哪些表示字符串?哪些既不表示字符也不表示字符串?

‘0x66’ China “中国” “8.42” ‘\\0x33’ 56.34 “\\n\\tox34” ‘\\r’ ‘\\\\’ ‘8.34’ “\\0x33” ‘\\0’ “Computer System!\\n” “\\\\\\\\doc\\\\share\\\\my1.doc” @”\\\\doc\\share\\my1.doc” @”Joe said””Hello””to me” “Joe said\\”Hello\\”to me” 4.将下列代数式写成C#的表达式。 (1)ax2+bx+c (2)(x+y)3 (3)(a+b)/(a-b) 5.计算下列表达式的值。

(1)x+y%4*(int)(x+z)%3/2 其中,x=3.5,y=13,z=2.5

(2)(int)x%(int)y+(float)(z*w) 其中,x=2.5,y=3.5,z=3,w=4 6.写出下列表达式运算后a的值,设原来的a都是10。 (1)a+=a; (2)a%=(7%2); (3) a*=3+4; (4)a/=a+a; (5)a-=a; (6)a+=a-=a*=a; 三、填空题

1.C#中可以把任何类型的值赋给object类型变量,当值类型赋给object类型变量时,系统要进行( )操作;而将object类型变量赋给一个值类型变量,系统要进行( )操作,并且必须加上( )类型转换。

2.C#特有的不规则数组是数组的数组,也就是说它的数组元素是( ),并且它的内部每个数组的长度( )。

3.数组在创建时可以根据需要进行初始化,需要注意的是,初始化时,不论数组的维数是多

少,都必须显式地初始化数组的( )元素。 四、程序分析

1.程序运行结果:______________ class Exe1 {

Static void Main(string[] args) {

int x,y,z; bool s; x=y=z=0;

s=x++!=0||++y!=0&&++y!=0;

Console.WriteLine(“x={0},y={1},z={2},s={3}”,x,y,z,s); Console.Read(); } }

2.程序运行结果:_________________ class Exe2 {

Static void Main(string[] args) {

int a,b; a=b=1; b+=a/b++;

Console.Write(“a={0},b={1},”,a,b); b+=--a+(++b);

Console.WriteLine(“a={0},b={1}”,a,b); Console.Read();

} }

3.程序运行结果:________________ class Exe3 {

Static void Main(string[] args) {

int Hb,Lb,x; x=ox1af034;

Hb=(x>>16)&0xFFFF; Lb=x&0x00ff;

Console.Write(“Hb is {0}\\t”,Hb); Console.WriteLine(“Lb is {0}”,Lb); Console.Read(); } }

4.程序运行结果:_________ class Exe4 {

Static void Main(string[] args) {

int a=2,b=7,c=5; switch(a>0) {

case true: switch(b<10) {

case true: Console.Write(“^”);break; case false: Console.Write(“!”);break; }

break; case false:

switch(c==5) {

case false: Console.Write(“*”);break; case true: Console.Write(“#”);break; }

break; }

Console.WriteLine(); Console.Read();

} }

5.程序运行结果:___________ class Exe5 {

Static void Main(string[] args) {

int[] x;

x=new int[10];

int[] y={1,2,3,4,5,6,7,8,9,10}; const int SIZE=10; int[] z;

z=new int[SIZE];

for (int i=0; i

z[i]=i*2+1;

Console.Write(“{0,4}”,z[i]); }

Console.Read();

联系合同范文客服:xxxxx#qq.com(#替换为@)