北航软院2013级C#期末考试部分考题解答
博主注:本渣渣水平有限,文中若有不对的地方敬请指出,谢谢。
本文中大部分图片来自老师的PPT,感谢邵老师,想要的可以点击右边QQ联系我:)
一、选择题
2.Wrong statement?
A.double a = 2E15; B. long b = 0x10Cl; C. string c = @””””; D.int d = 2014;
解答:本来一眼看过去是没什么问题的(事实也确实没有问题),如果说我把C选项复制到VS里显示的是中文引号也算错误的话,也只能是这个错误了(开玩笑的。大雾)
这道题唯一的看点,那就是C选项中的字符串c是什么呢?答案是一个<">。@可以不管转义,符特殊情况,两个<">代表一个<">。
C#中@的作用:
1.用@可以不用写转义字符。如文件路径,可以不用写两个反斜杠,即忽略转义
2.可以让字符串跨行。
3.c#中是不允许用关键字作为标识符的,但是在关键字前加上@,就打破了这个界限。@int是可以存在,当做变量的。
3.有这样一个类List,class List : IList, 以下正确的是:
1)IList a=new IList() 2) List b= new List()
A 1) B 1)2) C 2) D neither 1) nor 2)
解答:这里的IList我们默认是接口(接口的命名是这样的),接口是不能实例化的,所以1)是错的,2)当然对啦~~~
还有一种操作,那就是IList ex=new List();
邵老师告诉我们:
4.right answer
A Structs cannot have a parameterless constructor.
B Structs can have a destructor.
C
解答:A看起来怪怪的,不论什么时候,编译器都会给结构体一个默认无参构造器,也会拒绝你给它的无参构造器,所以这里说结构体无参构造器没有不太好,意思懂了就行。类就不一样了,你不给它它就自己造一个无参构造器,你给它一个构造器(不论有参无参),它就不管了,不给你默认无参构造器了。
5. right answer
One file could have multiple namespaces.(说法正确)
File name ,directory,的关系
解答:这里讲一下有关于namespace方面的小知识点吧。
- 程序如果不指定namespace,它是有默认的namespace的。
- namespace可以嵌套名字空间、结构体、接口、代理、类、枚举。
- namespace是可以在多个文件中定义的,编译时会合为一体。
- namespace允许别名操作:using F = System.Windows.Forms;F.Button b;
- 在一个namespace里面可以using其他名字空间
6. In C#, which of the types is value types?
A Enums B delegates C interfaces D class
解答:最后一次复习值类型:Primitive Types(bool、int等)、Enums、Structs。
7.Which of the statements is correct to declare a two-dimensional array in C#?
A int[,] myArray B int myArray[][]
C int[2] myArray DSystem.Array[2] myArray
解答:
- //一维
- int[] a = new int[];
- int[] b = new int[] { , , };
- int[] c = { , , };
- //非矩阵二维数组
- //int wrong1[1][2];//错误
- int[][] aa = new int[][];// array of references to other arrays
- aa[] = new int[] { , , };// cannot be initialized directly
- aa[] = new int[] { , , };
- //矩阵二维数组
- int[,] aaa = new int[, ];// block matrix
- int[,] bbb = { { , , }, { , , } };// can be initialized directly
- int[,,] ccc = new int[, , ];
10. The statement f = delegate(int x){return x + 1;}; is equivalent to which of the following statements?
A.f(x) =>x + 1;
B.f(x) = x + 1;
C.f => x + 1;
D.f = x => x + 1;(见上一篇博客原题)
11. 11级的12题 关于线程 Resume
12. 11级的13题 泛型
13. In C#,__is a set of types that are compiled together and it is the smallest unit for deployment and dynamic loading.
A assembly B class C namespace D package
解答:个人认为程序集是一个挺难懂的问题,至今没弄会。只知道.exe和.dll是程序集。
14.把declarationPPT的最后一页弄明白就会了(PPT75~83,重点看77以及其他每页的最后一句话。)
15. right answer
A overflow can be detected by default.
B sizeof can be applied to reference types
解答:A是错的,两个大int相加他是不会出现什么意外的。B是错的,sizeof只能用于值类型。
二、判断题
1. Constants can be declared static
解答:(F),系统报错,在C#中const与static不能同时修饰变量;
你问我为什么?邵老师表示C#有的事情就是这么没有理由:)
2. All types are compatible with object.
解答:(T),
3.Enumerations cannot be assigned to int.
解答:(T)
4.In C#, converting a value type to a reference type is called unboxing and converting a reference type to a value type is called boxing.
解答:(F)反了gg
5 nested types can be interfaces and delegates
解答:(T)
7 operand types can only be numeric or char
解答:(F)
8 Identifier can be Chinese characters
解答:(T),只要是Unicode就可以了~C#很棒吧!
三、填空
4. An interface member is _implemented __or _inherited__from a base class
解答:接口的成员要么自己定义要么继承自父类。
接口不能包含常量、字段、操作符、构造函数、析构函数、任何静态成员、方法的实现;
5 The visibility of an interface member is __public____.
6.In C#, all exception classes are derived from _System.Exception___class.
7. 题目见代码,应该是问输出什么。
- using System;
- class A
- {
- public int x;
- public void F()
- {
- Console.WriteLine("AFx"+x);
- }
- public virtual void G()
- {
- Console.WriteLine("AGx"+x);
- }
- }
- class B : A
- {
- public new int x;
- public new void F()
- {
- Console.WriteLine("BFx"+x);
- }
- public new void G()
- {
- Console.WriteLine("BGx"+x);
- }
- }
- class Test
- {
- public static void Main()
- {
- B b = new B();
- b.x = ; // accesses B.x
- b.F();
- b.G();
- ((A)b).x = ;
- ((A)b).F();
- ((A)b).G();
- Console.ReadKey();
- }
- }
解答:考查的是new的用法,new就是重新开始,打断继承。
运行结果:
四、解答题
1.why are properties often a good idea? Explain the reason why we use properties(属性)
解答:使用属性的好处:允许只读或者只写字段;可以在访问时验证字段;接口和实现的数据可以不同;替换接口中的数据。
2.What is the difference between value type and reference type?
解答:值类型直接存储其值,而引用类型存储对其值的引用。
值类型部署在栈上,引用类型部署在托管堆上。
具体详解:http://blog.csdn.net/qiaoquan3/article/details/51202926
3.What is the difference between private assembly and public assembly?
解答:咱用中文回答应该没问题:)
private assembly只能被一个应用程序使用、保存在应用程序目录中、不要求强命名、无法签名;
public assembly可以被所用应用程序使用、保存在全局程序集中、必须有一个强命名、可以签名
另外强命名包括四个部分:Assembly的命名、Assembly的版本号、Assembly的文化属性、Assembly的公钥。
4.What is the difference between class and struct?
解答:个人又总结了一遍。
1.结构体实值类型的,而类是引用类型的。
2.结构体的实例部署在栈上,而类的实例部署在堆上。
3.结构体和类都有构造器,但是不能为结构体声明无参数的构造器,而类可以。
4.如果声明有参数构造器,对于结构体来说编译器仍然会生成默认无参构造器,而类不会。
5.如果构造器中不初始化字段,对于结构体,编译器不会自动初始化,而类会。
6.结构体声明字段时不可以初始化,而类可以。
7.结构体不可以从另一个结构体或类继承而来,也不可以被继承;而类可以从另一个类继承而来,也可以被继承(除非为sealed类)。
8.结构体和类都可以继承多个接口。
9.结构体没有析构函数,而类可以有(一般不用)。
最后,大家加油呀,祝明天考试顺利~
作者: AlvinZH
出处: http://www.cnblogs.com/AlvinZH/
本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
北航软院2013级C#期末考试部分考题解答的更多相关文章
- 北航软院2014级C#期末考试部分考题解答
博主注:本渣渣水平有限,文中若有不对的地方敬请指出,谢谢. 本文中大部分图片来自老师的PPT,感谢邵老师,想要的可以点击右边QQ联系我:) 一.选择 6.Which of the following ...
- 北航软院2012级C#期末考试部分考题解答
博主注:本渣渣水平有限,文中若有不对的地方敬请指出,谢谢. 本文中大部分图片来自老师的PPT,感谢邵老师,想要的可以点击右边QQ联系我:) 一.选择题(2*15=30) 1.In C# what is ...
- 北航软院2015级C#期末考试部分考题讲解
洗洗睡了吧,我怎么知道明天的考试题目! 或者 你明年补考可以过来看看:) 晚安.
- 复旦大学2014--2015学年第二学期(14级)高等代数II期末考试第八大题解答
八.(本题10分) 设 $A,B$ 为 $n$ 阶半正定实对称阵, 求证: $AB$ 可对角化. 分析 证明分成两个步骤: 第一步, 将 $A,B$ 中的某一个简化为合同标准形来考虑问题, 这是矩 ...
- 复旦大学2016--2017学年第一学期高等代数I期末考试情况分析
一.期末考试成绩班级前十名 宁盛臻(100).朱民哲(92).徐钰伦(86).范凌虎(85).沈伊南(84).何陶然(84).丁知愚(83).焦思邈(83).董瀚泽(82).钱信(81) 二.总成绩计 ...
- 2012 B 中国近现代史纲要》课程期末考试试卷
湖南人文科技学院2013年3月公共课 2011级<中国近现代史纲要>课程期末考试试卷B 考核方式:(开卷) 考试时量: ...
- 2012 A 《中国近现代史纲要》课程期末考试试卷
湖南人文科技学院2012—2013学年第1学期公共课 2011级<中国近现代史纲要>课程期末考试试卷 考核方式:(开卷) ...
- 复旦大学2017--2018学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前十名 张菲诺(95).刘宇其(95).魏一鸣(93).郭宇城(92).程梓兼(91).葛珈玮(90).汪子怡(90).余张伟(90).张昰昊(89).朱柏青(89) 二.总成绩计 ...
- 复旦大学2016--2017学年第二学期高等代数II期末考试情况分析
一.期末考试成绩班级前十五名 林晨(93).朱民哲(92).何陶然(91).徐钰伦(91).吴嘉诚(91).于鸿宝(91).宁盛臻(90).杨锦文(89).占文韬(88).章俊鑫(87).颜匡萱(87 ...
随机推荐
- 监控web接口和添加触发器
1: 以监控百度接口为例子: www.baidu.com1: 打开 2: 过滤ss0.bdstatic.com 3: 选择两个url进行监控 https://ss0.bdstatic.com/5aV1 ...
- 2-R型聚类
将相似的属性聚合在一起 clc, clear; % a = load('E:\a-建模\<数学建模算法与应用>课件资源\数学建模算法与应用\程序及数据\10第10章\gj.txt'); a ...
- vs2017编译并配置libcurl入门教程
libcurl可以用来发送http请求,是c/c++发送http请求常用的库 下载libcurl源码包: libcurl下载地址:https://curl.haxx.se/download.html ...
- tree.J48
Weka为一个Java基础上的机器学习工具.上手简单,并提供图形化界面.提供如分类.聚类.频繁项挖掘等工具.本篇文章主要写一下分类器算法中的J48算法及事实上现. 一.算法 J48是基于C4.5实现的 ...
- data-参数说明(模态弹出窗的使用)
除了通过data-toggle和data-target来控制模态弹出窗之外,Bootstrap框架针对模态弹出框还提供了其他自定义data-属性,来控制模态弹出窗.比如说:是否有灰色背景modal-b ...
- smarty内置函数、自定义函数
1.把字符串里的d字母替换成h格式:{'d'|str_replace:'h':$str}; d要查找的字符 h要替换的字符 $str字符串 2.function test($param){$p1=$p ...
- 001 KNN分类 最邻近算法
1.文件5.0,3.5,1.6,0.6,apple5.1,3.8,1.9,0.4,apple4.8,3.0,1.4,0.3,apple5.1,3.8,1.6,0.2,apple4.6,3.2,1.4, ...
- 一个java多线程面试题
线程a 打印 数字 0--12: 线程b 打印 字母 a--z; 打印结果:0ab1cd2ef3gh4ij5kl6mn7op8qr9st10uv11wx12yz 要求用到 线程间传值: 分析:线程a打 ...
- Spring框架总结(九)
三.AOP编程 关注点代码:除了业务代码以外的代码.比如开启事务,关闭事务,异常处理核心业务代码:保存用户这一句才是重点.例子如下:// 保存一个用户public void add(User user ...
- 基于Xcode5的本地化
一.程序名国际化 1.首先添加应用对多语言支持的国际化文件 点击工程根目录,然后选择PROJECT下的项目,然后选择Info选项卡,在底部可以看到Localizations,点击“+”号,可以 ...