C语言开发工程师测试题doc.docx
- 文档编号:14708084
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:19
- 大小:19.76KB
C语言开发工程师测试题doc.docx
《C语言开发工程师测试题doc.docx》由会员分享,可在线阅读,更多相关《C语言开发工程师测试题doc.docx(19页珍藏版)》请在冰点文库上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 开发 工程师 测试 doc