一、考试目的与要求
C#是一种使用简单、功能强大、完全面向对象的程序设计语言,它结合了C++强大灵活和Java语言简洁至上的特性,吸收了Visual Basic所具有的易用性,是Microsoft面向下一代互联网软件和服务战略的重要组成部份,在Microsoft .NET框架中扮演着十分重要的角色,为桌面应用、Web应用和移动应用的开发提供了一种通用、高效的语言工具。
《C#程序设计》的考试目标是测试考生掌握程序设计语言的基本知识、面向对象的基本概念;掌握程序设计的基本方法与思路,其中包括数据类型、基本语句、模块化程序设计、面向对象程序设计、多线程程序设计、可视化程序设计及文件与数据库访问等;并能综合运用这些语言知识、结合自身专业领域特点进行基于.Net的程序设计以解决实际问题的能力。
其考试基本要求如下:
1.熟练使用Visual C#.NET集成开发环境。
2.熟练掌握C#的数据类型、基本语句、条件和循环语句、常用函数和常用算法。
3.掌握C#中面向对象的程序设计方法,如类的定义(属性、方法和事件的定义),对象及其成员的访问和事件驱动程序的基本特性。
4.掌握C#.NET的可视化编程,能够设计窗体,使用常用控件,以及设置控件的属性,并对这些控件的事件进行编程。
5. 掌握C#多线程程序设计的方式、方法。
6. 掌握.NET常用公共类库的使用。
7.掌握C#.NET的文件的访问方法,掌握数据库的连接与访问方法。
8.能够编写和调试简单的Visual C#.NET程序,并能综合应用C#.NET进行程序设计以解决实际问题。
二、考试内容
(一) C#语言基础
【考试要求】
要求考生掌握程序设计语言的基本知识、其中包括数据类型、基本语句、模块化程序设计、常用算法、条件和循环等程序设计基本技能。
【主要考点】
1.数据类型
1)值类型:整数类型、实数类型、字符类型、布尔类型、枚举类型和结构类型;
2)引用类型:类、接口、委托、数组;
3)数据类型转换:隐式转换、显式转换;
2.变量与常量
3.运算符
1)运算符:运算符种类、功能、目数、优先级、结合性理解;
2)算术运算:算术运算规则、自增自减运算;
3)位运算:位运算规则和简单位运算;
4)赋值运算中类型转换规则;
5)复合赋值;
6)条件运算;
4.表达式
1)表达式组成规则、各类表达式;
2)描述计算过程/条件判断的表达式;
3)各类型数据混合运算中求值顺序;
4)表达式运算中的隐式类型转换和强制类型转换;
5)基本运算执行顺序、表达式结果类型;
5.关系和逻辑运算
1)关系和逻辑运算规则;
2)逻辑运算的优化规则;
6.语句
1)顺序结构语句;
2)赋值语句;
3)输入和输出;
4)复合语句;
7.选择结构语句
1)if、switch语句;
2)选择语句嵌套;
8.循环结构语句
1)for 语句、while语句、do…while语句;
2)foreach循环语句;
3)循环语句嵌套;
4)退出和结束语句:continue、break语句;
9.数组、队列、栈和hash表
1)数组声明、初始化、引用;
2)数据对象的赋值与输出;
3)数组排序;
4)队列、栈和hash表;
(二) 面向对象的程序设计方法
【考试要求】
C#面向对象的程序设计方法主要要求掌握类和对象的创建方法,类的方法的定义、调用与重载,理解方法的参数传递的工作机制。理解构造函数的作用,掌握其使用方法。掌握类的成员、属性、字段以及静态成员和实例成员的概念及使用方法。重点掌握C#中类的封装性、继承性与多态性的概念及应用。掌握抽象类、接口的定义及使用方法。
【主要考点】
1.类和对象的创建方法
2.构造函数的编写语法
3.静态成员和实例成员
4.熟悉C#语言支持的5种访问修饰符的用法:
public、private、protected、internal、protected internal;
5.实现多态性的几种不同手段
1)通过方法重载实现多态性;
2)通过继承实现多态性 :
虚拟(virtual)、重写(override)和隐藏(hide);
3)通过抽象类实现多态性;
4)通过接口实现多态性;
6.多线程编程
1)创建线程;
2)线程状态;
3)线程结束;
4)线程同步;
(三)C#.NET环境下可视化编程
【考试要求】
可视化编程要求考生掌握使用常用控件,包括:文本控件(标签、文本框)、选择控件(单选控件、列表框、复选控件)、按钮控件(命令按钮)、图像框控件和计时器等标准控件,并能够设置这些控件的常用的属性,使用这些方法,对这些控制的事件进行编程。
【主要考点】
1.文本控件
1)标签;
2)文本框;
2.图像控件
3.命令按钮控件
4.选择控件
1)复选控件和单选控件;
2)列表控件和日期时间选择控件;
5.菜单设计
1)下拉菜单;
2)弹出菜单;
6.时钟
7.窗体和对话框
1)窗体主要属性、方法和事件;
2)MDI窗体使用;
3)窗体间数据传递;
4)消息框MessageBox;
5)打开、另存为、颜色、字体对话框;
8. 焦点和Tab顺序
9. .NET常用公共类库
1)基本类型(System)
2)输入/输出(System.IO)
3)数据访问(System.Data)
(四)ADO.NET数据库访问接口
【考试要求】
测试考生通过FileStream对文本文件和二进制文件进行读写。对文件或文件夹进行查找、删除、复制和更名。
掌握利用ADO.NET对数据库进行查询、删除、更新和修改,并在用户界上面显示数据。
掌握C#.NET数据库常用控件。
【主要考点】
1. 通过System.IO.FileStream对文件的读写
1)FileStream对象;
2)StreamWriter对象;
3)StreamReader对象;
2. 通过System.IO.Directory和System.IO.File对文件操作
1)文件或文件夹的查找、删除、复制、更名;
3.通过DataReader访问数据库
1)Connection对象;
2)Command对象;
3)DataReader类;
3. 通过DataSet访问数据库
1)DataAdapter对象;
2)DataSet对象;
3)DataTable、DataRow对象;
4. SQL语言基础
1)选取查询语句Select;
2)条件子句Where;
3)模糊条件子句Like;
5. 数据绑定技术
1)添加数据源;
2)使用DataSet、DataGridView、BindingSource、BindingNavigator等控件;
三、考试方式
机试。考试时间为105分钟,满分100分。
四、考试题目类型
考试分2种题型:单项选择题(20题,20分)和编程题(4题,80分)。其中编程题包括基本操作题(1题,15分)、简单应用题(2题,40分)及综合应用题(1题,25分)
五、考试环境和版本
Visual Studio.NET 2005或以上版本;
六、考试样题
(一)理论题(20分,每小题1分)
1、引用类型主要有4种:类类型、数组类型、接口类型和__________。
A) 对象类型
B) 字符串类型
C) 委托类型
D) 整数类型
2、在类作用域中能够通过直接使用该类的__________成员名进行访问。
A) 私有
B) 公用
C) 保护
D) 任何
3、在类的成员中,用于存储属性值的是__________。
A) 属性
B) 方法
C) 事件
D) 成员变量
4、类的以下特性中,可以用于方便地重用已有的代码和数据的是__________。
A) 多态
B) 封装
C) 继承
D) 抽象
5、将变量从字符串类型转换为数值类型可以使用的类型转换方法是__________。
A) Str()
B) Cchar
C) CStr()
D) int.Parse()
6、假定一个10行20列的二维整型数组,下列哪个定义语句是正确的__________。
A) int.Parse(int[]arr = new int[10,20]
B) int[]arr = int new[10,20]
C) int[,]arr = new int[10,20]
D) int[,]arr = new int[20;10]
7、在C#中,可以标识不同的对象的属性是__________。
A) Text
B) Name
C) Title
D) Index
8、属于C#语言的关键字__________。
A) abstract
B) camel
C) Salary
D) Employ
9、C#语言中,值类型包括:基本值类型、结构类型和__________。
A) 小数类型
B) 整数类型
C) 类类型
D) 枚举类型
10、以下说法正确的是__________。
A) 接口可以实例化
B) 类只能实现一个接口
C) 接口的成员都必须是未实现的
D) 接口的成员前面可以加访问修饰符
11、下列关于抽象类的说法错误的是__________。
A) 抽象类可以实例化
B) 抽象类可以包含抽象方法
C) 抽象类可以包含抽象属性
D) 抽象类可以引用派生类的实例
12、下列关于构造函数的描述中,错误的是__________。
A) 构造函数可以设置默认参数
B) 构造函数在定义类对象时自动执行
C) 构造函数可以是内联函数
D) 构造函数不可以重载
13、下列关于重载的说法,错误的是__________。
A) 方法可以通过指定不同的参数个数重载
B) 方法可以通过指定不同的参数类型重载
C) 方法可以通过指定不同的参数传递方式重载
D) 方法可以通过指定不同的返回值类型重载
14、关于虚方法实现多态,下列说法错误的是__________。
A) 定义虚方法使用关键字virtual
B) 关键字virtual可以与override一起使用
C) 虚方法是实现多态的一种应用形式
D) 派生类是实现多态的一种应用形式
15、以下关于继承的说法错误的是__________。
A) .NET框架类库中,object类是所有类的基类
B) 派生类不能直接访问基类的私有成员
C) protected修饰符既有公有成员的特点,又有私有成员的特点
D) 基类对象不能引用派生类对象
16、继承具有__________,即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。
A) 规律性
B) 传递性
C) 重复性
D) 多样性
17、下列说法中,正确的是__________。
A) 派生类对象可以强制转换为基类对象
B) 在任何情况下,基类对象都不能转换为派生类对象
C) 接口不可以实例化,也不可以引用实现该接口的类的对象
D) 基类对象可以访问派生类的成员
18、在C#.Net中,用来创建主菜单的对象是__________。
A) Menu
B) MenuItem
C) MenuStrip
D) Item
19、在Array类中,可以对一维数组中的元素查找的方法是__________。
A) Sort()
B) BinarySearch()
C) Convert()
D) Index()
20、C#.NET中编写对象的成员方法代码时,表示"本对象"的关键字为_________。
A) Me
B) My
C) This
D) Super
(二)操作题
1、基本操作题
在考试操作试题文件夹里,打开201411-1文件夹,启动里面的Visual C#项目方案(201411-1.sln),按下面的要求完成控件的编辑操作:
(1) 将名为Form1的窗体标题修改为“基本信息”,并将窗体的字体大小属性设为12磅,窗体大小根据下面所添加的控件来决定,大小为260 X200;
(2) 在Form1窗体里添加两个标签,标签显示的内容分别是“姓名”和“性别”,两标签上下排列在窗体左侧,“姓名”在上,“性别”在下;
(3) 在“姓名”标签的右侧添加一个文本框,将文本框的名称改为“txbName”,宽度能输入8个汉字,Text属性为“在这里输入姓名”,字体颜色设为浅灰色;
(4) 在“性别”标签的右侧添加两个单项按钮(水平方向排列),名称分别是rdbMale和rdbFemale,相应的Text属性分别是“男”和“女”,并将rdbMale设为被选中状态。
(5) 在两个单项按钮之下添加一个命令按钮,名称设为btnOK,Text属性为“确认”,大小为70X26;
(6) 运行测试后,退出该解决方案。
2、简单应用题
1.在考试操作试题文件夹里,打开201411-2文件夹,启动里面的Visual C#项目方案(201411-2.sln)。本解决方案在编程中涉及到的控件的名称如下:
月份下拉框:cmbMonth;
日子下拉框:cmbDay;
显示翻译结果的标签:lblEnglish;
命令按钮:ctnQuit。
请按下面的要求完成程序的编辑:
(1) 在两个自定义过程的标有下划线“________”的地方写入正确的语句或表达式(不能另外添加语句);
(2) 创建控件cmbMonth的合适的事件处理过程,在过程里调用ChangeDay子过程,使得当该下拉框的月份选择改变时,cmbDay下拉框里供选择的日子天数符合该月份的天数;
(3) 创建控件cmbDay的合适的事件处理过程,在过程里调用Translate子过程,使得当该控件的文本不是空的时候,在lblEnglsih控件里显示对应日期的英文表达;若该控件的文本为空,清除lblEnglish控件的文本;
(4) 创建控件btnQuit的合适的事件处理过程,使得当该控件被单击时,窗体关闭从而程序结束运行;
(5) 完成编辑后,不改变原文件名,存盘结束。
2.在考试操作试题文件夹里,打开201411-3文件夹,启动里面的Visual C#项目方案(201411-3.sln)。本程序的功能是计算正方形面积:当在“边长”文本框里输入了正方形的边长,单击“面积”按钮,就显示正方形的面积;若输入负数,弹出消息框提示“负数无效”;如输入非数字的字符,则出现异常,由异常处理语句显示相应的异常信息。
请在所定义的类以及窗体的“面积”按钮的单击事件处理过程里的标有下划线“______”的地方写入正确的表达式、语句或关键词。完成编辑后用原有文件名保存。
3、综合应用题
在考试操作试题文件夹里,打开201411-4文件夹,启动里面的Visual C#项目方案(201411-4.sln)。 编写一个windows应用程序,能将窗体背景颜色1秒钟变换一次。请按照注释的要求在程序的“_______”部分填入适当的内容并去掉程序中的“_____”,使程序能正确运行,保存文件。运行效果如下图:
.png)
关注官方微信