C#程序设计练习题

更新时间:2023-12-03 17:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C#程序设计》练习题

一、选择题

1、float f=-123.567F; int i=(int)f; i的值现在是( ) A.-123

B.-124

C.-122

D.以上都有可能

D.int类型

2、下列选项中,( )是引用类型。 A.enum类型

B.struct类型

C.string类型

3、 C#的数据类型有( ) A.值类型和调用类型 C.引用类型和关系类型

B.值类型和引用类型 D.关系类型和调用类型

4、下列描述错误的是( ) A.类不可以多重继承而接口可以 B.抽象类自身可以实现成员而接口不可以 C.抽象类和接口都不能被实例化 D.一个类可以有多个基类和多个基接口

5、如果将窗体的FormBoderStyle设置为None,则( )。 A.窗体没有边框并不能调整大小 B.窗体没有边框但能调整大小 C.窗体有边框但不能调整大小 D.窗体是透明的

6、如果要将窗体设置为透明的,则( ) A.要将FormBoderStyle属性设置为None B.要将Opacity属性设置为小于100%得值 C.要将locked 属性设置为True D.要将 Enabled属性设置为True 7、装箱、拆箱操作发生在: ( ) A.类与对象之间

B.对象与对象之间

D.引用类型与引用类型之间

C.引用类型与值类型之间

8、“访问范围限定于此程序或那些由它所属的类派生的类型”是对以下哪个成员可访问性含义的正确描述?( ) A.public

B.protected

C.internal D.protected internal

9、C#中,新建一字符串变量str,并将字符串\保存到串中,则应该使用下列哪条语句? A.string str = \B.string str = \C.string str(\D.string str(\

10、小数类型(decimal)和浮点类型都可以表示小数,正确说法:( ) A.两者没有任何区别

B.小数类型比浮点类型取值范围大

C.小数类型比浮点类型精度高 D.小数类型比浮点类型精度低 11、加载窗体是触发的事件是( ) A.Click A.Text

B.Load B.Name

C.LostFocus

C.Title

D.DoubleClick D.Index

12、改变窗体的标题,需修改的窗体属性是( ) 13、在C#中,下列常量定义正确的是( )。

A.Const double PI 3.1415926; B.Const double e=2.7; C.define double PI 3.1415926; 种,除了( )。 A.只读属性 C.读写属性

B.只写属性

D.不可读不可写的属性

B.可以实现多个接口 D.只能实现一个接口

D.define double e=2.7;

14、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三

15、在C#中,一个类( ). A.可以继承多个类

C.在一个程序中只能有一个子类

16、在C#中定义一个数组,正确的代码为( )。

A.int arraya = new int[5]; B.int[] arraya = new int[5]; C.int arraya = new int[]; D.int[5] arraya = new int; 17、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用( )关键字。

A.override B.new C.static D.virtual

18、在C#中,下列代码的运行结果是( ) int[] num = new int[] { 1, 3, 5 }; ArrayList arr = new ArrayList(); for (int i = 0; i < num.Length; i++) {

arr.Add(num[i]); }

arr.Insert(1, 4);

Console.Write(arr[2]); A.1 B.3 C.4 D.5

19、在C#中,接口与抽象基类的区别在于( )。

A.抽象基类可以包含非抽象方法,而接口只能包含抽象方法 B.抽象基类可以被实例化,而接口不能被实例化 C.抽象基类不能被实例化,而接口可以被实例化 D.抽象基类能够被继承,而接口不能被继承 20、在C#中,下列代码的运行结果是( )。 int []num = new int[5]{1,3,2,0,0} Array,Reverse(num); foreach(int i in num)

{

Console.Write(i); } A.00123

B.12300 C.00132 D.00231

21、在C#中,( )访问修饰符修饰的变量只能由当前程序集访问。 A.public B.protected C.internal D.private 22、在C#中,下列代码运行后,变量Max的值是( )

Int a=5,b=10,c=15,Max=0; Max = a>b?a:b; Max = c

A.0 B.5 C.10 D.15

23、int[][] myArray3 = new int[3][] { new int[3] { 5, 6, 2 }, new int[5] { 6, 9,

7, 8, 3 }, new int[2] { 3, 2 } }; myArray3[2][2]的值是( ) A.9

B.2

C.6

D.越界

24、在C#中,关于continue和break,以下说法正确的是( ) A.break是中断本次循环

B.continue是中断本次循环,进入一下次的循环 C.break是中断本次循环,进入一下次的循环 D.continue是中断整个循环

25、在C#中,关于while和do…while,以下说法正确的是( )A.while先执行然后判断条件是否成立 B.while最少的循环次数是1次

C.do…while先执行然后判断条件是否成立 D.do…while最少的循环次数是0次

26、在.NET中,程序员在代码中漏写了一个大括号,这属于( A.逻辑错误 B.运行时错误 C.语法错误 D.自定义错误 27、在C#中,下列变量定义与赋值正确的是( ) A.int a=同学 ;

B.float a=老师; C.string a=’教室’;

D char a=’学’; 28、下列不属于值类型的有( )

A.class

B.enum

C.struct

D.int

29、以下说法正确的是( ) A.构造函数名不必和类名相同 B.一个类可以声明多个构造函数 C.构造函数可以有返回值

D.编译器可以提供一个默认的带一个参数的构造函数 30、以下说法不正确...的是( ) A.一个类可以实现多个接口 B.一个派生类可以继承多个基类

C.在C#中实现多态,派生类中重写基类的虚函数必须在前面加override

) D.子类能添加新方法

31、下面几个函数,()是重载函数

?void f1(int) ?int f1(int) ?int f1(int,int) ?float k(int) A.四个全是

B.?和?

C.?和?

D.?和?

32、异常是在什么时候发生的? A.编写程序时 C.运行时

B.编译时

D.最终用户发出请求时 B.类定义时

D.使用对象的属性时 B.可以出现在非抽象类中 D.抽象类中的方法都是抽象方法

33、构造函数何时被调用? A.创建对象时 34、抽象方法 A.可以有方法体

C.是没有方法体的方法 C.使用对象的方法时

35、关于继承的说法正确的是: A.子类将继承父类所有的成员 B.子类将继承父类的非私有成员 C.子类只继承父类public成员

D.子类只继承父类的方法,而不继承属性 36、关于构造函数的说法哪个正确? A.一个类只能有一个构造函数 B.一个类可以有多个不同名的构造函数 C.构造函数与类同名 D.构造函数不能被重载 37、abstract class BaseClass { }

class Class1: BaseClass { }

public override void MethodA() { Console.WriteLine(\ public virtual void MethodA() { Console.WriteLine(\

}

产生的输出结果是什么? X=___________,Y=____________

6、在switch语句中,每个语句标号所含关键字case后面的表达式必须是 。

7、在while循环语句中,一定要有修改循环条件的语句,否则,可能造成 。

8、传入某个属性的SET方法的隐含参数的名称是 。 9、在方法定义中,virtual含义:被virtual修饰的方法可以被 覆写。

10、C#数组元素的下标从 开始。

11、元素类型为double的2行5列的二维数组共占用 字节的存储空间。

12、对于方法,参数传递分为值传递和 两种。 13、以下C#代码输出结果是: class A {

public A() {

Console.WriteLine(“A”); } } class B:A {

public B() {

Console.WriteLine(“B”); } }

Class Program {

public static void Main(string[] args) {

B b=new B();

Console.ReadKey(true); } }

函数A为: ; 函数B为: ;

类B与类A的关系: ; 程序运行输出结果: 。 14、根据如下的流程图写出程序代码:

15、指出下列代码中标有号码的语句哪些是错误的,并说明原因: using System; class myClass {

public int a; static public int b;

void Fun1() //定义一个非静态方法 {

a=10; ………………………………………………(1) b=20;……………………………………………….(2) }

Static void Fun2() //定义一个静态成员方法 {

a=10;……………………………………………(3) b=20;……………………………………………(4) } } class Test {

static void Main() {

myClass A=new myClass();

A.a=10;…………………………………………..(5) A.b=10;…………………………………………..(6) myClass.a=20;…………………………………(7) myClass.b=20;………………….…………….(8) } }

本文来源:https://www.bwwdw.com/article/szot.html

Top