Visual C#.Net(A) 第1 页 共18页 命题教师:陈长喜
一、 填空题(每小题1分,10小题,共10分)
二、 选择题(分为多选题与单选题,共20分)
(一) 多选题(每小题1.5分,10小题,共15分) (二)单选题(每小题1分,5小题,共5分) 三、 判断题(每小题0.5分,20小题,共10分) 四、 问答题(每小题3分,5小题,共15分)
1. 请图示说明Microsoft. NET Framework 的体系结构
2. 请简述.NET Framework 类库
3. 请图示描述.NET程序的编译过程。
4. 请用图式简述C#程数据类型。
装订线右侧答题区内不得留有姓名、学号等个人信息,否则本卷作废。
表的方序中的
Visual C#.Net(A) 第2 页 共18页 命题教师:陈长喜
5. 简述C#运算符的优先级及其结合性 优先级(1 最高) 说明 1 2 3 括号 自加/自减运算符 乘法运算符 除法运算符 取模运算符 4 5 加法运算符 减法运算符 小于 小于等于 大于 大于等于 6 7 8 9 等于 不等于 逻辑与 逻辑或 赋值运算符和快捷运算符 运算符 ( ) ++/-- * / % + - < <= > >= = != && || = += *= /= %= -= 从左到右 从左到右 从左到右 从左到右 从右到左 从左到右 从左到右 从左到右 结合性 从左到右 从右到左
五、 挑错改错题(每题3分,共3小题,共9分)
1.
class Program {
int x; static int y;
装订线右侧答题区内不得留有姓名、学号等个人信息,否则本卷作废。
Visual C#.Net(A) 第3 页 共18页 命题教师:陈长喜
void F()
{
x = 1; (1)//正确 y = 1; (2)//正确 }
static void G()
{
x = 1; (3)//错误,静态函数不能访问实例成员,应将int x变成//static int
x才可; y = 1; (4)//正确 }
static void Main(string[] args)
{
Program t = new Program(); t.x = 1; (5)//正确
t.y = 1; (6)//错误,实例对象不能访问静态成员,应Programer.y Program.x = 1; (7)//错误,不能通过类名访问实例成员 ,应t.x=1; Program.y = 1; (8)//正确 } }
2. 当显性地声明、初始化一个数组表达式时: int i = 3; (1) //正确 int[] x = new int[3] { 1, 2, 3 }; int[] y = new int[i] { 1, 2, 3 }; int[] z = new int[3] { 1, 2, 3, 4 };
3.
class Mammal {
... }
class Horse : Mammal {
... Trot(); }
class Whale : Mammal { ... }
Horse myHorse = new Horse(\
Whale myWhale = myHorse; // 错误,不同对象赋给不同引用,把Whale改为Horse
(2)//正确
(3)//错误,i变为一个常量,如int[3]
(4)//错误,初始值与数组长度不一致,改为int[4]
装订线右侧答题区内不得留有姓名、学号等个人信息,否则本卷作废。
Visual C#.Net(A) 第4 页 共18页 命题教师:陈长喜
Horse myHorse = new Horse(\ Mammal myMammal = myHorse; // 正确
Mammal myMammal = ewMammal(\
Horse myHorse = myMammal; // 父类对象不能赋给子类引用,改为Mammal //myMammal = myHorse;
Horse myHorse = new Horse(\
Mammal myMammal = myHorse;
myMammal.Breathe(); // 正确
myMammal.Trot(); // 错误,Trot非Mammal方法,改为myHorse.Trot()
六、 根据程序运行结果补充程序或写出程序运行结果
(每题4分,共3小题,共12分)
七、 编程题(每小题8分, 3小题,共24分)
1. 请写一程序控制台程序来模拟堆栈操作。要求栈用一个类实现并编译生成dll文件
(文件名:p5_1_2_1.cs),用控制台测试程序(文件名:stackCall.cs)调用dll文件以实现堆栈操作;还要写出在Command窗口下的编译过程。
namespace p5_1_2_1 {
public class Stack {
Entry top;
public void Push(object data) { top = new Entry(top, data); }
public object Pop() {
if (top == null) throw new InvalidOperationException(); object result = top.data; top = top.next; return result; }
class Entry {
public Entry next; public object data;
public Entry(Entry next, object data) { this.next = next; this.data = data; } } } }
csc/t:library p5_1_2_1.cs
装订线右侧答题区内不得留有姓名、学号等个人信息,否则本卷作废。

