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...

面试题 相关文章推荐
C语言50道问题
Oct 23 面试题
实现向右循环移位
Jul 31 面试题
.NET初级开发工程师面试题
Apr 18 面试题
如何保障Web服务器安全
May 05 面试题
C#如何判断当前用户是否输入某个域
Dec 07 面试题
如何进行Linux分区优化
Sep 13 面试题
系统管理员的职责包括那些?管理的对象是什么?
Jan 18 面试题
性能测试工程师的面试题
Feb 20 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
如果有两个类A,B,怎么样才能使A在发生一个事件的时候通知B
Mar 12 面试题
JVM是一个编译程序还是解释程序
Sep 11 面试题
Java语言程序设计测试题判断题部分
Jan 06 面试题
分解成质因数(如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 str_pad 函数用法简介
2009/07/11 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
Javascript中apply、call、bind的巧妙使用
2016/08/18 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
js实现鼠标左右移动,图片也跟着移动效果
2017/01/25 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
解读Django框架中的低层次缓存API
2015/07/24 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
pandas数值计算与排序方法
2018/04/12 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
tensorflow常用函数API介绍
2020/04/19 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
Django视图类型总结
2021/02/17 Python
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
市场营销专业个人求职信范文
2013/12/14 职场文书
社区端午节活动方案
2014/01/28 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
保险公司开门红口号
2014/06/21 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
在校学生证明格式
2015/06/24 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers