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

面试题 相关文章推荐
普通PHP程序员笔试题
Jan 01 面试题
Yahoo-PHP面试题3
Jan 14 面试题
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
Jul 17 面试题
指针和引用有什么区别
Jan 13 面试题
如何在存储过程中使用Loop
Jan 05 面试题
数据库的约束含义
Sep 09 面试题
Linux面试经常问的文件系统操作命令
Nov 05 面试题
飞利信loadrunner和软件测试笔试题
Sep 22 面试题
性能测试工程师的面试题
Feb 20 面试题
MVC的各个部分都有那些技术来实现?如何实现?
Apr 21 面试题
什么是封装
Mar 26 面试题
Unix如何在一行中运行多个命令
May 29 面试题
分解成质因数(如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实现批量生成App各种尺寸Logo
2015/03/19 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
2016/08/01 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
解决layer弹出层中表单不起作用的问题
2019/09/09 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
python分析nignx访问日志脚本分享
2015/02/26 Python
Python最基本的输入输出详解
2015/04/25 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
浅析python中numpy包中的argsort函数的使用
2018/08/30 Python
python解析多层json操作示例
2019/12/30 Python
深入了解如何基于Python读写Kafka
2019/12/31 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
2021/01/06 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
初始化了一个没有run()方法的线程类,是否会出错?
2014/03/27 面试题
技术学校毕业生求职信分享
2013/12/02 职场文书
人事专员职责
2014/02/22 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书
小组口号霸气押韵
2015/12/24 职场文书