C语言开发工程师测试题doc.docx

上传人:b****4 文档编号:27073307 上传时间:2023-06-26 格式:DOCX 页数:19 大小:19.76KB
下载 相关 举报
C语言开发工程师测试题doc.docx_第1页
第1页 / 共19页
C语言开发工程师测试题doc.docx_第2页
第2页 / 共19页
C语言开发工程师测试题doc.docx_第3页
第3页 / 共19页
C语言开发工程师测试题doc.docx_第4页
第4页 / 共19页
C语言开发工程师测试题doc.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

C语言开发工程师测试题doc.docx

《C语言开发工程师测试题doc.docx》由会员分享,可在线阅读,更多相关《C语言开发工程师测试题doc.docx(19页珍藏版)》请在冰豆网上搜索。

C语言开发工程师测试题doc.docx

C语言开发工程师测试题doc

C语言开发工程师测试题

一、选择题

1.下列选项中,()是引用类型(选择一项)

a)enum类型

b)struct类型

c)string类型

d)int类型

 

2.以下描述错误的是()(选择一项)

a)在C++中支持抽象类而在C#中不支持抽象类。

b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

c)在C#中可使用new修饰符显式隐藏从基类继承的成员。

d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

 

3.C#的数据类型有()(选择一项)

a)值类型和调用类型;

b)值类型和引用类型;

c)引用类型和关系类型;

d)关系类型和调用类型;

 

4.下列有关.NET类的描述错误的是()(选择三项)

a)类不可以多层继承而接口可以;

b)抽象类自身可以定义成员而接口不可以;

c)抽象类和接口都不能被实例化;

d)一个类可以有多个基类和多个基接口;

 

5.下列关于.NET构造函数的描述正确的是()(选择一项)

a)构造函数可以声明返回类型。

b)构造函数不可以用private修饰

c)构造函数必须与类名相同

d)构造函数不能带参数

 

6.以下是一些C#中的枚举型的定义,其中错误的用法有()(选择一项)

 

a)publicenumvar1{Mike=100,Nike=102,Jike}

b)publicenumvar1{Mike=100,Nike,Jike}

c)publicenumvar1{Mike=-1.23,Nike,Jike}枚举型应为整型的

d)publicenumvar1{Mike,Nike,Jike}

 

7.下列代码执行结果是()(选择一项)

publicstaticvoidMain(string[]args)

{

inti=2000;

objecto=i;

i=2001;

intj=(int)o;

Console.WriteLine(“i={0},o={1},j={2}”,i,o,j);

}

a)i=2001,o=2000,j=2000

b)i=2001,o=2001,,j=2001

c)i=2000,o=2001,,j=2000

d)i=2001,o=2000,j=2001

8.下列关于C#中索引器理解正确的是()(选择一项)

a)索引器的参数必须是两个或两个以上

b)索引器的参数类型必须是整数型

c)索引器没有名字

d)以上皆非

 

9.要对多线程进行操作则必须包含()(选择一项)

a)System.ComponentModel命名空间;

b)System.Collections命名空间;

c)System.Threading命名空间;

d)Microsoft.Win32命名空间;

 

10.

以下说法正确的是()(选择一项)

①执行该程序发生异常

②catch块执行

③finally块执行

④catch块不执行

a)①③④

b)①③

c)①②③

d)③④

 

11)在C#中,允许多接口继承,从多个接口继承时,使用“:

”后跟被继承的接口的名字,多个接口名称之间使用()符号进行分割。

(选择一项)

a)“.”

b)“,”

c)“-〉”

d)“:

 

12)有C#代码如下:

 

在横线处填入语句(),输出为:

C#issimple。

(选择两项)

a)Console.PrintLine(“C#issimple”)

b)Console.WriteLine(“C#issimple”)

c)System.Console.WriteLine(“C#issimple”)

 

13)阅读下列程序

 

在myClass的Main()函数中,有代码如下:

method1();代码执行后,

输出为()。

(选择一项)

a)3

b)0

c)非法的方法调用,没有输出

 

14)C#中,声明一个带参数的Main方法,代码为()。

(选择一项)

a)publicstaticvoidMain()

b)publicstaticvoidMain(String[])

c)publicstaticvoidMain(String[]args)

d)publicstaticvoidMain(String*args)

 

15)要将一个C#程序编译为扩展名为DLL的程序库应用程序,要打开的编译器选项为()。

(选择两项)

a)/target:

library

b)/t:

library

c)/t:

exe

d)/target:

winexe

 

16)在C#程序中,如果类B要继承A,类B正确的定义为()。

(选择一项)

a)publicclassBinheritA

b)publicclassB:

A

c)publicclassB:

:

A

d)publicclassBformA

 

17)下列说法正确的是()(选择一项)

①c#是面向对象的编程语言

②装箱是从值类型到引用类型的转换

③cla(公共语言规范)是cts的子集,确保了跨语言互操作

④.NET平台使用统一的API

a)以上都正确

b)④正确

c)①③④正确

d)①②③正确

 

18)下列说法正确的是()(选择两项)

a)在c#中使用关键字static定义静态成员

b)静态成员不与任何特定对象相关联

c)变量名命名为@关键字是不合法的

 

19)下列说法正确的是()(选择一项)

a)c#支持for、foreach、while和do-while循环语句

b)c#只支持for、while和do-while循环语句

c)c#支持foreach、while和do-while循环语句

d)c#支持for、foreach、和while循环语句

 

20)可用于在控制台显示文本的方法是()(选择两项)

a)System.Console.Read方法

b)System.Console.ReadLine方法

c)System.Console.Write方法

d)System.Console.WriteLine方法

 

21)下列说法错误的是()(选择两项)

a).NET提供多语言支持

b).NET应用程序不需要CLR的管理即可执行

c).NET应用程序要经过两次编译方可执行

d)IL是机器码

 

22)在c#中密封类()(选择两项)

a)用final指定

b)用对指定

c)可以被继承

d)不可以被继承

 

23)下列有关事件的说法正确的是()(选择一项)

①定义事件时首先定义委托

②可以让多个对象预订事件

③引发事件时,将调用所有预订了该事件的对象的委托

a)①②③

b)①

c)②③

 

24)()关键字用于创建抽象类(选择一项)

a)interface

b)internal

c)using

d)abstract

 

25)在.NET中,以下关于命名空间的描述,正确的是()。

(选择一项)

a)命名空间不可以进行嵌套

b)在一个.cs文件中,只能存在一个命名空间

c)用using导入命名空间

 

26)在.NET中,程序中的错误可以划分为以下三类,除了()。

(选择一项)

a)逻辑错误

b)语义错误

c)语法错误

d)规格错误

 

27)下列说法中正确的是()(选择一项)

①使用.NET基类库可以读取文本文件

②使用.NET基类库可以从内存中读取数据和将数据写入内存中

③System.IO命名空间包含用于在数据流和文件中读取和写入数据的类

④使用.NET基类库可以读取二进制文件

a)①②③

b)①②③④

c)③④

d)①②

 

28)只读属性通过()关键字来设置(选择一项)

a)Get得到

b)readonly

c)set设置

d)this

 

29)下列说法正确的是()(选择两项)

a)c#操作符重载不使用任何关键字即可完成

b)namespace表示命名空间

c)使用internal修饰的成员仅可以从声明它的程序集内部访问

d)命名空间不可以嵌套

 

30)c#的数组属于引用类型,其正确使用方法是()(选择两项)

a)string[]str=newstring[6];

b)stringstr[]=newstring[6];

c)int[]array={1,2,3,4,5};括号在变量之前

 

31)下列有关命名空间和程序集的说法正确的是()(选择一项)

①一个命名空间可以分布在多个程序集中

②一个程序集中可以包含多个命名空间

③程序集的类型包含私有程序集和共享程序集

④.NET使用程序集的模式共享和重用代码

a)②③

b)①②③

c)①②

d)①②③④

 

32)下列说法是否全部正确()(选择一项)

①多态可以通过虚方法、抽象基类和接口的技术来实现

②多态是指同一操作用于不同的类的实例,不同的类将进行不同的解释,最后产生不同的执行结果

③虚方法在基类中用virtual来修饰,在派生类中使用override来修饰方法重写基类的虚方法

④一个接口可以从其他接口继承

a)是

b)否

 

33)c#的构造函数,描述错误的是()(选择一项)

a)支持实例构造和静态构造

b)可以重载

c)和类同名

d)静态构造可以带有参数

 

34)有关结构的说法,错误的是()(选择一项)

a)使用struct关键字

b)可以包含数据成员和函数成员

c)支持继承结构不能继承

d)是值类型并且不需要堆分配

 

1.分析如下所示C#代码,编译运行后的输出结果是()。

(选择一项)

publicstaticvoidMain(string[]args)

{

intparam=2;

stringposition=“”;

switch(param)

{

case1:

position=“兄长”;

break;

case2:

position=“兄弟”;

break;

}

Console.WriteLine(position);

}

a)兄长

b)兄弟

c)小妹

d)兄长兄弟

 

2.现有如下一段C#代码,该代码的运行结果是()。

(选择一项)

publicstaticvoidMain(){

for(inti=1;ib||b>c)

Console.WriteLine(a);

elseif(a

Console.WriteLine(b+c);

else

Console.WriteLine(c);

}

}

a)10

b)20

c)50

d)60

 

5.以下C#程序:

staticvoidMain(string[]args)

{

intval=1;

for(inti=3;ib‖b>c)

Console.WriteLine(++b);

else

Console.WriteLine(a+b+c);

}

}

a)22

b)23

c)66

d)编译出错

 

9.以下关于C#代码的说法正确的是()。

(选择一项)

for(inti=1;i<=3;i++)

{

switch(i)

{

case1:

Console.Write(i.ToString();

case2:

Console.Write((i*2).ToString();

case3:

Console.Write((i*3).ToString()

}

}

a)有编译错误,提示case标签不能贯穿到另一个标签,不能运行没有写Break!

!

!

!

b)输出149

c)输出123246369

d)正确运行,但没有输出

 

10.针对以下的C#代码:

usingSystem;

classA

{

staticvoidMain()

{

int[]B=newint[10];

for(intI=1;I<=10;I++)

{

//空白处

}

foreach(intCinB)

{

Console.WriteLine(C);

}

}

}

要在控制台输出1到10的数字,空白处应填写的正确的代码为()。

(选择一项)

a)B[I]=I+1;

b)B[I]=I;

c)B[I-1]=I;

d)B[I+1]=I;

 

11.在C#中,下列代码的运行结果是()(选择一项)

inta=30,b=20;

b=a;

a=10;

Conlose.WriteLine(a);

Conlose.WriteLine(b);

a)10

10

b)10

30

c)30

20

d)10

20

 

12.下列语句执行后,变量i的值为多少?

()(选择一项)

stringstr=@”“”Ahoy”“,criedthecaption.“;

stringstr2=“\”Ahoy\”,criedthecaption.“;

intI=string.Compare(str,str2);

a)false

b)-1

c)1

d)0

13.在VS.Net开发环境中,为程序代码增加断点,快捷键为()。

(选择一项)

a)F2

b)F5

c)F8

d)F9

14.在ADO.NET中,()对象的结构类似于关系数据库的结构,并在与数据库断开的情况下,在缓存中存储数据。

(选择一项)

a)DataAdapter加载数据源

b)DataSet重载

c)DataTable

d)DataReader读取机制

 

15.下面关于数据库操作的代码,错误的是()(选择两项)

a)SqlConnectionconn=newSqlConnection();

SqlCommandcomm=newSqlCommand();

comm.ExecuteNonQuery();

b)SqlConnectionconn=newSqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);

conn.Open();

SqlCommandcomm=newSqlCommand(“delete*fromtable1”,conn);

comm.ExecuteNonQuery();

conn.Close()

c)SqlConnectionconn=newSqlConnection(“server=.,uid=sa,pwd=sa,database=db1”);

conn.Open();

SqlCommandcomm=newSqlCommand(“delete*fromtable1”);

comm.ExecuteNonQuery();

conn.Close();

d)SqlConnectionconn=newSqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);

conn.Open();

SqlCommandcomm=newSqlCommand(“delete*fromtable1”,conn);

comm.ExecuteNonQuery();

 

16.运行下面一段代码:

classClass1

{

publicstaticintcount=0;

staticClass1()

{

count++;

}

publicClass1()

{

count++;

}

}

Class1o1=newClass1();

Class1o2=newClass1();

请问,o1.count的值是多少?

()(选择一项)

a)1

b)2

c)3

d)4

 

17.在C#中,下列代码的运行结果是()。

(选择一项)

classA{

publicvoidprintStr(stringstr){

Console.WriteLine(str);

}

}

classB:

A{

newpublicvoidprintStr(stringstr){

str=str+”(override)”;

Console.WriteLine(str);

}

publicstaticvoidMail(string[]args){

Aa=newA();

Bb=newB();

a.printStr(“test”);

b.printStr(“test”);

}

}

a)test

test(override)

b)test(override)

c)test

d)test(override)

test(override)

18.分析以下C#代码,根据面向对象的多态性,代码的运行结果是()。

(选择一项)

classA{

publicvoidF(){

Console.Write(“A”);

}

方法重载

publicvoidF(stringchr){

Console.Write(chr);

}

}

classB:

A{

publicvoidF(){

Console.Write(“B”);

}

}

publicclassTest{

publicstaticvoidMain(string[]args){

Aa=newB();

a.F();

}

}

a)B

b)A

c)AB

d)BA

 

二、判断题:

(错)在C#中,索引器是专门用来访问对象中的数组信息的。

(对)在C#中,接口可以被多重继承而类不能。

(对)异常类对象均为System.Exception类的对象。

(对)声明委托实际上是声明了一个方法。

(对)任何事物都是对象。

三、问答

1、this关键字有什么作用,请描述

2、请叙述const与readonly修饰得类成员的区别。

一个是常量,一个是变量

3、根据事件(event)的知识,请写出完整的运用事件,并触发事件的程序。

P74

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

当前位置:首页 > 自然科学 > 化学

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

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