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

面试题 相关文章推荐
10条PHP编程习惯
May 26 面试题
PHP面试题大全
Oct 16 面试题
康拓普公司Java笔面试
Sep 23 面试题
运行时异常与一般异常有何异同?
Jan 05 面试题
serialVersionUID具有什么样的特征
Feb 20 面试题
Android面试宝典
Aug 06 面试题
一套SQL笔试题
Aug 14 面试题
什么是跨站脚本攻击
Dec 11 面试题
params有什么用
Mar 01 面试题
Linux管理员面试题 Linux admin interview questions
Nov 01 面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
Jul 30 面试题
汇科协同Java笔试题
Mar 31 面试题
分解成质因数(如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中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
如何让搜索引擎抓取AJAX内容解决方案
2014/08/25 PHP
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
JS的replace方法介绍
2012/10/20 Javascript
基于Bootstrap实现tab标签切换效果
2020/04/15 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
js cavans实现静态滚动弹幕
2020/05/21 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python中shutil模块的常用文件操作函数用法示例
2016/07/05 Python
python3利用Dlib19.7实现人脸68个特征点标定
2018/02/26 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
技校生自我鉴定范文
2013/09/26 职场文书
公司前台接待岗位职责
2013/12/03 职场文书
门卫班长岗位职责
2013/12/15 职场文书
元宵晚会主持词
2014/03/25 职场文书
改进作风怎么办发言材料
2014/08/17 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
python基础之while循环语句的使用
2021/04/20 Python
MySQL数字类型自增的坑
2021/05/07 MySQL
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
Elasticsearch Recovery 详细介绍
2022/04/19 Java/Android
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技