C语言开发工程师测试题


Posted in 面试题 onDecember 20, 2016
一、选择题
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)public enum var1{ Mike = 100, Nike = 102, Jike }
b)public enum var1{ Mike = 100, Nike, Jike }
c)public enum var1{ Mike=-1.23 , Nike, Jike } 枚举型应为整型的
d)public enum var1{ Mike , Nike , Jike }

7. 下列代码执行结果是()(选择一项)
public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(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# is simple。(选择两项)
a) Console.PrintLine(“C# is simple”)
b) Console.WriteLine(“C# is simple”)
c) System.Console.WriteLine(“C# is simple”)

13) 阅读下列程序

在myClass的Main()函数中,有代码如下:method1( );代码执行后,
输出为()。(选择一项)
a) 3
b) 0
c) 非法的方法调用,没有输出

14) C#中,声明一个带参数的Main方法,代码为()。(选择一项)
a) public static void Main()
b) public static void Main(String[])
c) public static void Main(String[] args)
d) public static void Main(String * args)

15) 要将一个C#程序编译为扩展名为DLL的程序库应用程序,要打开的编译器选项为()。(选择两项)
a) /target:library
b) /t: library
c) /t: exe
d) /target: winexe

16) 在C#程序中,如果类B要继承A,类B正确的定义为()。(选择一项)
a) public class B inheritA
b) public class B:A
c) public classB::A
d) public class B form A

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 = new string [6];
b) string str[] = new string [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#代码,编译运行后的输出结果是( )。(选择一项)
public static void Main(string[] args)
{
int param = 2;
string position = “”;
switch (param)
{
case 1:
position = “兄长”;
break;
case 2:
position = “兄弟”;
break;
}
Console.WriteLine(position);
}
a) 兄长
b) 兄弟
c) 小妹
d) 兄长兄弟

2.现有如下一段C#代码,该代码的运行结果是( )。(选择一项)
public static void Main(){
for (int i=1;i switch(i){
case 1:
Console.Write(i.ToString());
break;
default:
Console.Write((i*3).ToString());
}
}
}
a) 169
b) 有编译错误 没有break!!!
c) 369
d) 123

3.看以下一段程序:
Console.Write("hello world !");
Console.WriteLine("friend.");
int i=0;
do
{
Console.Write("thank you !");
i++;
}while(i 程序的输出结果是( )(选择一项)
a) hello world ! friend thank you !thank you !
b) hello world ! friend
thank you !thank you! Writeline 代表能换行
c) hello world ! friend. thank you ! thank you !
d) hello world !
friend. thank you !

4. using System;
class Test{
static void Main(String [] args){
int a=10,b=20,c=30;
if(a>b||b>c)
Console.WriteLine(a);
else if(a
Console.WriteLine(b+c);
else
Console.WriteLine(c);
}
}
a) 10
b) 20
c) 50
d) 60

5. 以下C#程序:
static void Main(string[] args)
{
int val = 1;
for (int i=3;i {
Console.WriteLine(i);
}
}
运行时将输出( )。(选择一项)
a) 3
5
7
9
b) 5
7
9
c) 5
7
9
11
d) 9

6. 分析下面的代码片段,正确的输出结果是( )。(选择一项)
int i=0;
for(;i Console.Write(i+”,”);
}
Console.Write (i);
a) 0,2
b) 0,2,4
c) 0,2,4,6
d) 0,1,2,3

7. 给定如下C#代码片段,编译运行结果是( )。(选择一项)
int i = 0, j = -1;
switch (i){
case 0,1: j=1;
case 2: j=2;
}
Console.Write (“j=”+j);
a) 程序编译出错
b) 输出:j=1
c) 输出:j=2
d) 输出:j=0

8. 在C#中,下列代码的运行结果是( )。(选择一项)
using System;
class Test{
static void Main(string[] args){
int a=21,b=22,c=23;
if (a>b‖b>c)
Console.WriteLine(++b);
else
Console.WriteLine(a+b+c);
}
}
a) 22
b) 23
c) 66
d) 编译出错

9. 以下关于C#代码的说法正确的是( )。(选择一项)
for(int i=1;i {
switch(i)
{
case 1:
Console.Write(i.ToString();
case 2:
Console.Write((i*2).ToString();
case 3:
Console.Write((i*3).ToString()
}
}
a) 有编译错误,提示case标签不能贯穿到另一个标签,不能运行 没有写Break!!!!
b) 输出149
c) 输出123246369
d) 正确运行,但没有输出

10. 针对以下的C#代码:
using System;
class A
{
static void Main()
{
int[] B = new int[10];
for(int I=1;I {
//空白处
}
foreach (int C in B)
{
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#中,下列代码的运行结果是( )(选择一项)
int a=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的值为多少?( )(选择一项)
string str = @”"”Ahoy”",cried the caption. “;
string str2 = “\”Ahoy\”,cried the caption. “;
int I = 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) SqlConnection conn = new SqlConnection();
SqlCommand comm = new SqlCommand();
comm.ExecuteNonQuery();
b) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();
conn.Close()
c) SqlConnection conn = new SqlConnection(“server=.,uid=sa,pwd=sa,database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”);
comm.ExecuteNonQuery();
conn.Close();
d) SqlConnection conn = new SqlConnection(“server=.;uid=sa;pwd=sa;database=db1”);
conn.Open();
SqlCommand comm = new SqlCommand(“delete * from table1”, conn);
comm.ExecuteNonQuery();

16.运行下面一段代码:
class Class1
{
public static int count = 0;
static Class1()
{
count++;
}
public Class1()
{
count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,o1.count的值是多少?( )(选择一项)
a) 1
b) 2
c) 3
d) 4

17.在C#中,下列代码的运行结果是( )。(选择一项)
class A{
public void printStr(string str){
Console.WriteLine(str);
}
}
class B:A{
new public void printStr(string str){
str=str+”(override)”;
Console.WriteLine(str);
}
public static void Mail(string[] args){
A a=new A();
B b=new B();
a.printStr(“test”);
b.printStr(“test”);
}
}
a) test
test(override)
b) test(override)
c) test
d) test(override)
test(override)
18.分析以下C#代码,根据面向对象的多态性,代码的运行结果是( )。(选择一项)
class A{
public void F(){
Console.Write(“A”);
}
方法重载
public void F(string chr){
Console.Write(chr);
}
}
class B:A{
public void F(){
Console.Write(“B”);
}
}
public class Test{
public static void Main(string[] args){
A a = new B();
a.F();
}
}
a) B
b) A
c) AB
d) BA

二、判断题:
( 错)在C#中,索引器是专门用来访问对象中的数组信息的。
( 对)在C#中,接口可以被多重继承而类不能。
( 对)异常类对象均为System.Exception类的对象。
(对)声明委托实际上是声明了一个方法。
(对)任何事物都是对象。
三、问答
1、this关键字有什么作用,请描述
2、请叙述const与readonly修饰得类成员的区别。
一个是常量,一个是变量
3、根据事件(event)的知识,请写出完整的运用事件,并触发事件的程序。
P74

Tags in this post...

面试题 相关文章推荐
List, Set, Map是否继承自Collection接口?
May 16 面试题
请用用Java代码写一个堆栈
Jan 26 面试题
编写类String 的构造函数、析构函数和赋值函数
Sep 09 面试题
存储过程的优点有哪些
Sep 27 面试题
关于Assembly命名空间的三个面试题
Jul 23 面试题
优纳科技软件测试面试题
May 15 面试题
为什么需要版本控制?
Aug 08 面试题
什么是规则表达式
May 03 面试题
大唐面试试题(CPU,UNIX等等)
Jan 11 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 面试题
WSDL的操作类型主要有几种
Jul 19 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
Apr 10 面试题
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
Jul 16 #面试题
C语言编程练习
Apr 02 #面试题
c/c++某大公司的两道笔试题
Feb 02 #面试题
在C语言中"指针和数组等价"到底是什么意思?
Mar 24 #面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 #面试题
C语言面试题
May 19 #面试题
C有"按引用传递"吗
Sep 06 #面试题
You might like
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
php apache开启跨域模式过程详解
2019/07/08 PHP
document.designMode的功能与使用方法介绍
2007/11/22 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
JavaScript极简入门教程(一):基础篇
2014/10/25 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
2015/11/18 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
JQ中$(window).load和$(document).ready区别与执行顺序
2017/03/01 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
Python中的is和id用法分析
2015/01/26 Python
使用Django Form解决表单数据无法动态刷新的两种方法
2017/07/14 Python
python爬取m3u8连接的视频
2018/02/28 Python
python网络应用开发知识点浅析
2019/05/28 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
python下载的库包存放路径
2020/07/27 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
BCBG官网:BCBGMAXAZRIA
2017/12/29 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
运动会广播稿60字
2014/01/15 职场文书
网络营销计划
2015/01/17 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
关于CSS浮动与取消浮动的问题
2021/06/28 HTML / CSS
MongoDB支持的数据类型
2022/04/11 MongoDB