C#总复习题.docx
- 文档编号:4586316
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:29
- 大小:108.80KB
C#总复习题.docx
《C#总复习题.docx》由会员分享,可在线阅读,更多相关《C#总复习题.docx(29页珍藏版)》请在冰豆网上搜索。
C#总复习题
C#总复习题
一、单项选择题
1.能作为C#程序的基本单位是(B)。
A.字符B.语句C.函数D.源程序文件
2.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种(B)。
(A)面向过程程序设计语言(B)面向对象程序设计语言
(C)跨平台程序设计语言(D)机器语言
3.C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为(C)。
(A)class(B)main(C)Main(D)MainWay
4.C#中的注释方法有三种,下列注释方法中错误的是(D)。
(A)单行注释“在控制台应用程序中,如果在程序开头使用usingSystem; 语句引入了System命名空间,则下列对Read()和ReadLine()方法调用错误的是(D)。
(A)(B)();
(C)();(D)Read();
6.在C#的Windows应用程序中,不论任何控件,共同具有的是(B)属性。
(A)Text(B)Name(C)ForeColor(D)Caption
7.要使文本框控件能够显示多行而且能够自动换行,应设置它的___(B)______属性。
和Multline和WordWrap
和Multline和WordWrap
8.窗体中有一个年龄文本框txtAge,下面(D)代码可以获得文本框中的年龄值。
age=txtAge;B.intage=;
C.intage=(txtAge);D.intage=;
9.下面(C)代码能向组合框cboYears添加一项。
year=1997;
intyear=1997;
(year);
C.intyear=1997;
intyear=1997;
());
10.当ListView的视图为Details时,以下(A)属性可以设置显示的各个列。
B.GroupsC.Items
11.以下标识符中,正确的是____。(A)
#
12.C#语言中,基本整型数据类型(int)所占用的存储空间为(C)个字节。
(A)1(B)2(C)4(D)8
13.C#语言中,双精度实型数据类型(double)所占用的存储空间为(D)个字节。
(A)1(B)2(C)4(D)8
14.下面的运算符中,优先级别最低的是(D)。
(A)new(B)!
=(C):
(D)=
15.设有整型变量x,则表达式x=5/8运算后,变量x的值为(A)。
(A)0(B)(C)(D)
16.C#语言中,字符串常量@"123\n456"的长度(有效字符个数)是(C)。
(A)6(B)7(C)8(D)9
17.为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句(A)
Num=(str);
Num=(int);
Num=(int)str;
Num=(str,在程序中如果要使用系统保留字(关键字)作为自定义标识符,必须使用字符(A)作为引导符。
(A)@(B)$(C)#(D)~
19.关于C#程序的书写,下列不正确的说法是____。(D)
A.区分大小写
B.一行可以写多条语句
C.一条语句可写成多行
D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法
20.下面的C#表达式中,描述了数学关系x≥y≥z的是(B)。
(A)(x>=y)AND(y>=z)(B)(x>=y)&&(y>=z)
(C)(x>=y>=z)(D)(x>=y)&(y>=z)
21.执行C#语句序列:
inti;for(i=0;i++<4;);后,变量i的值是(A)。
(A)5(B)4(C)1(D)0
22.以下程序的输出结果是__(C)__。
Usingsystem;
ClassExample1
{
PublicStaticvoidmain(){
inta=5,b=4,c=6,d;
("{0}",d=a>b(a>ca:
c):
b);
}
}
.4CD.不确定
23.写出以下程序的运行结果。
usingSystem;
classTest
{
publicstaticvoidMain()
{
intx=5;
inty=x++;
(y);
y=++x;
(y);
}
}
答案:
5
7
24已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为____。(C)
if(c
elseif(a+b elseN=a+b; B.-3C.9 25下面对i值的输出结果说法正确的是_____.(A) namespaceAnswer { classProgram { staticvoidMain(string[]args) { intido{i++; }while(i<5) (“i值的为: {0}”,i)}}} 的值为: 5的值为: 6 的值为: 7的值为: 8 26)以下程序段的输出结果是A A1B30C1-2D死循环 intx=3; do {("{0}",x-=2);} while(! (--x>=0)); 27)以下程序段的输出结果是C A12B15C20D25 inti,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4)m++; ("m={0}",m); (); 28)以下程序段的输出结果是B A10B9C10D9 9898 8787 6 intn=10; while(n>7) {n--;("m={0}",n); } 29.下面所列选项中,能够正确定义具有10个数据元素一维整型数组a的是(A)。 (A)int[]a=newint[10];(B)inta[10]; (C)int[]a=int[10];(D)int[]a=int(10); 30.下面所列选项中,不能正确定义并初始化一维数组b的是(D)。 (A)double[]b=newdouble[5]{1,2,3,4,5}; (B)double[]b=newdouble[]{1,2,3,4,5}; (C)double[]b={1,2,3,4,5}; (D)double[]b=new{1,2,3,4,5}; 31.始化一维数组的语句,指出其中正确的是____。(D) arr1[]={6,5,1,2,3}; []arr1=newint[]; []arr1=newint[]{6,5,1,2,3}; []arr1;arr1={6,5,1,2,3}; 32.下面所列选项中,能够正确定义2行3列二维整型数组a的是(B)。 (A)int[][]a=newint[2][3];(B)int[,]a=newint[2,3]; (C)int[2][3];(D)int[,]a=int[2,3]; 33.有定义语句: int[,]a=newint[5,6];则下列正确的数组元素的引用是____。(C) (3,4)(3)(4)[3][4][3,4] 34.在C#语言中,表示数组长度属性的关键字是(D)。 (A)Len(B)Size(C)Long(D)Length 35.以下程序的输出结果是: (C)ClassExample1 { PublicStaticvoidmain() { inti; int[]a=newint[10]; for(i=9;i>=0;i--)a[i]=10-i; ("{0},{1},{2}",a[2],a[5],a[8]); }} 5,8,4,1 5,2,6,9 36.下列的数组定义语句,正确的是____。(D) a[]=newint[5]{1,2,3,4,5} [,]a=newinta[3][4] [][]a=newint[3][]; []a={1,2,3,4}; 37.以下所列的个方法头部中,正确的是___。_(C) play(vara: Integer,varb: integer) play(inta,b) play(inta,intb) play(aasinteger,basinteger) 38.函数调用不可以(D)。 A.出现在一个表达式中 B.出现在执行语句中 C.作为一个函数的实参 D.作为一个函数的形参 39.以下正确的描述是(B)。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 40.若用数组名作为函数调用的实参,传递给形参的是(A)。 A.数组的首地址B.数组中第一个元素的值 C.数组全部元素的值D.数组元素的个数 41.以下错误的描述是(D)。 A.被调用函数中可以不用return语句 B.被调用函数中可以用多个return语句 C.被调用函数中,如果有返回值,就一定要有return语句 D.被调用函数中,一个return语句可返回多个值给调用函数 42.在面向对象程序设计的概念中,对类(class)的描述,错误的是(D)。 (A)类(class)是一组具有相同数据结构和相同操作的对象的集合 (B)类(class)用来定义对象可执行的操作 (C)类(class)是创建对象实例的模板,对象是类的一个实例 (D)当应用程序通过类(class)创建一个对象时,该对象就是一个窗口 43.在默认的情况下,省略的类访问修饰符是(A) (A)private(B)public(C)protected(D)internal 44.在下面的类声明中,属于私有字段的是(D) classPerson { publicstringname; publicstringsex; privateintage; doubleweight; } (A)namesex(B)age(C)weight(D)ageweight 45.类的属性中,能够修改字段值的代码块是(B) (A)get代码块(B)set代码块(C)find代码块(D)modification代码块 46.下列类定义代码,当用来声明对象car,并用Carcar=newCar();实例化后,可以通过car对象直接赋值的字段是(D)。 publicclassCar { publicstringtype; stringNo; privateintheavy; doublespeed; protectedstringowner; publicstringprice; privatestringcolor; } (A)typeNo(B)heavyowner(C)typeownerprice(D)typeprice 47.类的以下特性中,可以用于方便地重用已有的代码和数据的是(). A.多态B.封装C.继承D.抽象 答案: C 48.在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成____。(C) 方法方法方法方法 60.假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。 A.x(a)B.x[a]C.x->aD. 49.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。 A.B.()C.x->GetValue()D.() 50.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为(A)。 A.aB.AA: : aC.a()D.AA: : a() 51.Label控件的边框样式由(B)属性决定。 (A)FlatStyle(B)BorderStyle(C)BackColor(D)AutoSize 52 (A)List(B)ListIndex(C)ListCount(D)ItemData 53.使用(D)方法,可以把一个字符串数组的内容全部添加到ListBox控件中。 (A)Add()(B)Remove()(C)Clear()(D)AddRange() 54.访问组合框的(A)属性,可以获得用户在组合框中输入或选择的数据。 (A)Text(B)ItemData(C)SelectedIndex(D)SelectedValue 二、填空题 #语言是一种B面向对象的、全新的程序设计语言,是微软.NET公共语言运行环境中内置的核心程序设计语言。 2..在定义C#语言的标识符构成时,G需要区分字母符的大小写形式。 备选项: 3..C++源程序文件的默认扩展名为(cpp)。 4.由C++源程序文件编译而成的目标文件的默认扩展名为(obj)。 5..C++程序从上机到得到结果的几个操作步骤依次是(_编辑、_编译、_连接__、运行)。 6.C++语言是在___C______语言的基础上发展起来的。 7.行尾使用注释的开始标记符为___使控件是否可以对用户交互作出响应的属性是_____Enabled_____。 9.控制控件是否显示的属性是_______Visible___。 10若要在文本框中输入密码,常指定______PasswordChar____属性。 11.若某复选框某时刻CheckState属性的值为Indeterminate,则其属性Checked的值为Unchecked。 12.用于控制ListView控件中的各项显示方式的属性是__View____。 13.一个完整程序中必须有一个名为__Main______的函数。 14一个函数的函数体就是一条____复合_____语句。 15.在C#程序中,程序的执行总是从____Main______方法开始的。 16、在C#中,bool类型只有两种值,分别是___true_______和___false_______。 17、在C#中,使用____const______关键字声明符号常量。 18.设x为int型变量,请写出描述“-10<=x<=10”的C#语言表达式_-10<=x&&x<=10__。 19.若k为int整型变量且赋值15.请写出k++后表达式的值A)__15______和变量值B)___16___. 20."10 21.C#语言中的关系运算符按优先级分别是____<<=>>=___,__! ===_. 22.将下列数学式改写成C#语言的关系表达式或逻辑表达式A)_a==b||a<_x<-4||x<4___. Aa=b或a #语言中,数组属于引用数据类型,即数组内容所占用的存储单元是一组连续的内存区域C,数组变量的值是这组存储单元的起始地址。 24.无论是一维数组、多维数组、还是不规则数组,在C#语言中对数组的定义都分为两个步骤: 定义数组变量;H数组变量初始化。 25.数组在定义时可以进行初始化,即在定义数组时为其指定初始值。 C#语言中规定,初始化值序列中的数据个数F必须与数组的长度完全一致。 26.数组元素在程序中使用下标变量的形式表示。 作为变量个体而言,下标变量与它同类型的普通变量(简单变量)是等价的,即数组的下标变量和普通变量的A用法相同。 27.面向对象的程序设计允许用I实体或对象的思想方法来分析和设计应用程序,从而使软件开发过程更接近人类的思维过程。 28.当应用程序通过类创建一个对象时,用户只要使用对象的B属性(property)和方法进行相应的操作,而不必关心其内部是如何实现的,这样就有助于实现程序结构的模块化和代码重用。 29.如果访问修饰符使用Apublic,则将类的访问类型指定为公共的,被声明的类可以在其它的项目中使用。 30.类的属性通常属性包括Dget代码块和set代码块访问或修改字段的值。 31.类的成员包括J数据成员和方法成员,使用属性可以实现对数据成员的良好封装。 32、面向对象的语言具有___封装性、_____继承_____性、____多态______性。 33.在C#中,在实例化类对象时,系统自动调用该类的__构造函数____进行初始化。 8.在C#中,当一个对象离开它的作用域或不再被使用时,系统将会自动调用类的___析构函数___。 34、在C#中,类的静态成员属于___类______所有,非静态成员属于类的实例所有。 35一般将类的构造方法声明为__public或公有_____访问权限。 如果声明为private,就不能创建该类的对象。 36.如果声明属性时没有明确指定其可访问性,则会拥有默认值private。 在继承的情形中,对象同时是派生类和该派生类的所有基类的实体。 37..多态是指两个或多个属性不同类的对象,对同一个消息做出不同响应的能力。 38..一个类可同时扩展单个基类,和实现一个或多个接口。 39.在使用继承时,原始的类被称作基类,新类被称作派生类。 40..C#定义了五种访问修饰关键字: public、private、protected、internal、protectedinternal。 三.简答题: 1.简述private、protected、public修饰符的访问权限。 private: 私有成员,在类的内部才可以访问。 protected: 保护成员,该类内部和继承类中可以访问。 public: 公共成员,完全公开,没有访问限制。 2.C#中的接口和类有什么异同。 抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个接口。 3.面向对象的思想主要包括什么 封装: 用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。 继承: 子类拥有父类的所有数据和操作。 多态: 一个程序中同名的不同方法共存的情况。 4.什么是对象 所谓对象,是一种将状态和行为合成到一起的软件构造,用来描述真是世界的一个对象。 5.什么是多态 多态是指两个或多个属于不同类的对象,对同一个消息(方法调用)做出不同响应的能力。 6.override与重载的区别 override与重载的区别。 重载是方法的名称相同。 参数或参数类型不同,进行多次重载以适应不同的需要 Override是进行基类中函数的重写。 为了适应需要。 7如何区别重载方法 不同的参数类型,不同的参数个数,不同的参数顺序 8.什么是抽象类 答案: 抽象类是含有一个或多个抽象方法的类,抽象类不能实例化。 9.一个C#控制台应用程序主要由哪几个部分构成 答案: (1)导入其他系统预定义元素部分; (2)命名空间; (3)类; (4)方法(主方法、事件响应处理过程) 10.C#程序中可以使用哪些书写注释的方法它们分别适合用于什么场合 答案: C#中的注释方法有三种: (1)单行注释在一个语句行上,用双斜杠“判断题 1、c#面向对象的程序语言有继承性和多态性还有封装性答案对 2、接口不能通过方法来实现答案对 3、c#面向对象的程序语言特点: 代码好维护,安全,隐藏信息答案对 4、通过提供对抽象类申明的所有抽象方法的非抽象实现,就能从抽象类派生出新类答案对 5、继承是一种强大的机制,他通过指出新旧类之间的不同之处,在旧类的基础上定义一个新类 答案对 6、C#支持多重继承。 (no) 7、一切类的基类是object类,并且可以直接继承它。 (yes) 8、抽象类里的方法一定不能含有实现。 (no) 9、C#中一个类可以实现多个接口。 (yes) 10、接口中可以定义方法,还可以定义属性。 (yes) 11、静态方法访问类的attribute时,可以访问类的所有属性。 (no) 12、静态方法不能被派生类覆载。 (yes) 13、静态方法不能被声明为抽象方法。 (yes) 14、在C#中,类的构造函数和析构函数都不能被继承。 (√) 15、在C#中,定义一个类时,声明了一个构造函数,则编译器不会再提供默认的构造函数。 (√) 16、在C#中,在类的属性声明中,只有get访问器表明属性只能读出而不能写入。 (√) 17、C#不支持运算符重载。 (×) 18、C#不支持私有继承和保护继承。 (√) 19、在C#中,定义一个类时,用户不可以声明一个析构函数,因为析构函数是由编译器自动生成的。 (×) 20、C#中抽象方法是隐式的虚方法,实现抽象方法用关键字override。 (√) 五.阅读程序,写结果: 1.运行以下程序段,结果是(150) doublek,t; t=0; for(intn=1;n<=10;n++) { for(k=1;k<=5;k++) t=t+k; } (t); 2.运行以下程序段,结果是(25) usingSystem; classSumw { staticvoidMain() { inti=1,sum=0; while(i<=10) { sum+=i; i+=2; } =“总和为: ”+(); } } 3.下面代码的输出结果是(57)。 intx=5; inty=x++; (y); y=++x; (y); 4如果x=35,y=80,下面代码的输出结果是(报警) if(x<-10||x>30) { i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 复习题