C#考试复习题.docx
- 文档编号:9493887
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:126
- 大小:288.06KB
C#考试复习题.docx
《C#考试复习题.docx》由会员分享,可在线阅读,更多相关《C#考试复习题.docx(126页珍藏版)》请在冰点文库上搜索。
C#考试复习题
第1章绪论
复习题
什么是程序设计?
答:
计算机程序设计又称为编程(programming),是一门设计和编写计算机程序的科学和艺术。
程序是程序设计中最基本的概念,也是软件中最基本的概念。
程序是计算任务的处理对象和处理规则的描述。
所谓计算任务是指所有通过计算来解决实际问题的任务。
处理对象是数据,如数字、文字和图像等。
处理规则一般指处理动作和步骤。
在低级语言中,程序是一组指令和相关的数据。
在高级语言中,程序一般是一组说明和语句,它包括了算法和数据结构。
程序设计就是为计算机设计和编写程序,使其按照人所规定的算法对数据进行处理。
通常程序设计包括了问题建模、算法设计、编写代码和编译调试等过程。
当今的计算机是基于什么模型?
答:
现代计算机都是基于冯·诺伊曼模型的。
此模型着眼于计算机的内部结构,定义了处理机的运行过程。
该模型把计算机分为四个子系统:
存储器、算术/逻辑单元、控制单元和输入/输出单元。
为什么不称计算机为数据处理器?
答:
数据处理器。
可以认为是一个接受输入数据,处理数据,产生输出数据的黑盒。
尽管这个模型能够体现现代计算机的功能,但是它的定义还是太狭窄。
这个模型并没有说明它处理的类型以及是否可以处理一种以上的类型。
换句话说,它并没有清楚的说明一个基于这个模型的机器能够完成操作的类型和数量。
它是专用机器还是通用机器呢?
这种模型可以表示为一种设计用来完成特定任务的专用计算机(或者处理器),比如用来控制建筑物温度或汽车油料使用。
但计算机作为一个当今使用的术语,是一种通用的机器。
它可以完成各种不同的工作。
你所知道的程序设计语言有哪些?
你知道它们有什么不同特点吗?
(答案略)
位模式是如何表示一个构成文本的语言符号的?
答
所谓位(bit,binarydigit的缩写)是存储在计算机中的最小单位;它是0或1。
位代表设备的某一状态,这些设备只能处于两种状态中的某一种状态。
计算机存储器并不知道所存储的位模式是表示哪种类型的数据。
实际上计算机存储器仅仅将数据以位模式存储。
至于解释位模式是数字类型、文本类型、或其它的数据类型,则是由输入/输出设备或程序的完成。
换句话说,当数据输入计算机时,它们被编码,当呈现给用户时,它们被解码。
位模式可以表示任何一个构成文本的语言符号。
在一种语言中,位模式到底需要多少位来表示一个文本符号主要取决于该语言集中到底有多少不同的文本符号。
例如,如果要创建的某个虚构的语言仅仅使用大写的英文字母,则只需要26个符号。
相应的这种语言的位模式则至少需要表示26个符号。
对另一种语言,如中文,可能需要更多的符号。
在一种语言中,表示某一符号的位模式的长度取决于该语言中所使用的符号的数量。
更多的符号意味着更长的位模式。
计算机程序设计语言是如何分类的?
答:
程序设计语言可划分为低级语言、中级语言和高级语言。
低级语言或称机器语言,是程序设计语言中最基础的类型,能被计算机直接理解。
机器语言的区别取决于制造商和计算机的型号。
高级语言是在计算机能够理解和处理之前必须首先翻译成机器语言的程序设计语言。
C、C++、Pascal和FORTRAN都是高级语言的例子。
汇编语言是中级语言,非常接近于机器语言,没有其他高级语言所表现出的语言复杂程度,运行时仍然得先翻译成机器语言。
C#是什么?
答:
C#(发音为:
Csharp)是Microsoft公司开发的一种新的语言,也是.NET公用语言运行环境的内置语言。
它完美的结合了C/C++的强大功能、Java的面向对象特征和VisualBasic的易用性,从而构成一种类型安全的、简单的面向对象的编程语言。
C#的集成开发环境包括那些组成部分?
答:
C#的集成开发环境主要由这几部分组成:
通用语言运行时CLR(CommonLanguageRuntime),它是整个开发框架的基础;由CLR所提供的一组基础类库;在开发技术方面,C#的集成开发环境提供了全新的数据库访问技术ADO.NET,以及网络应用开发技术ASP.NET和Windows编程技术WinForms。
简述程序设计的过程。
答:
程序的设计过程包括:
问题建模、算法设计、编写代码、编译调试。
程序将以数据处理的方式解决客观世界中的问题,因此在程序设计之初,首先应该将实际问题抽象成一个求解模型,然后为该模型设计和制定算法。
通过问题建模,可以清楚地描述各种概念、已知条件、所求结果,以及已知条件与所求结果之间的联系等各方面的信息。
模型和算法的结合将给出问题的解决方案。
具体的解决方案确定后,需要对所采用的算法进行描述,算法的初步描述可以采用自然语言方式,然后逐步将其转化为程序流程图或其他直观方式。
这些描述方式比较简单明确,能够比较明显地展示程序设计思想,是进行程序调试的重要参考。
使用计算机系统提供的某种程序设计语言,根据上述算法描述,将已设计好的算法表达出来,使得非形式化的算法转变为形式化的由程序设计语言表达的算法,这个过程称为程序编码。
程序设计者可以通过常用的开发工具(如Java、VisualBasic等)依据程序设计语言的语法规则编写程序,并将源代码编译成可执行程序。
由于很少能保证程序第一次就能够正确运行,所以程序设计时经常需要使用调试程序来帮助查找程序错误,解决程序运行中存在的问题。
调试程序能够在运行的程序中检测到一个事件,并向程序员指出该事件在程序由哪条代码的触发。
只有编译调试成功了,才完成了程序的设计过程。
测试题
以下关于计算机程序的描述不正确的是。
A、计算机程序是指按照时间顺序依次安排的计算机工作步骤。
B、简单地讲,计算机程序也可以表示成:
算法+数据结构。
C、计算机程序是对计算步骤的编排和优化。
D、计算机程序是计算任务的处理对象和处理规则的描述。
答案:
C
(提示:
计算机程序是对计算步骤的编排,但不一定优化)
现代的内部存储计算机程序的概念是由提出来的。
A、美籍匈牙利数学家约翰•冯•诺伊曼
B、英国数学家奥古斯塔•埃达•拜伦
C、法国发明家约瑟夫
D、英国数学家和发明家查尔斯•巴比
答案:
A
以下程序设计语言在历史上出现的正确顺序是。
A、FORTRAN、BASIC、C#、JAVA
B、FORTRAN、C、JAVA、C#
C、LISP、BASIC、C#、C++
D、COBOL、C#、Pascal、JAVA
答案:
B
以下的应用程序中,不能将源代码翻译成目标代码是。
A、编译器
B、解释器
C、汇编程序
D、虚拟机
答案:
D
计算机内存中存储体的基本单位是。
A、字节
B、字
C、位
D、字符
答案:
C
可用于表示来自世界上不同语言的符号。
A、ASCII码
B、扩展ASCII码
C、扩展ASCII码和Unicode码
D、Unicode码
答案:
D
以下有关计算机数据表示的说法不正确的是。
A、计算机中并没有采用文本的编码来表示数字。
B、计算机存储器仅仅将数据以位模式存储,它并不知道其存储的数据是哪种类型。
C、在一种语言中,位模式到底需要多少位来表示一个符号这主要取决于内存的大小。
D、一个字中包含多个位,字可以是8位、16位、32位,甚至是64位。
答案:
C
程序设计语言通常分为。
A、面向过程的、函数式的、面向对象的或逻辑的语言
B、机器语言、汇编语言、高级语言
C、数据库语言、通用语言、嵌入式语言
D、可视化语言、非可视化语言
答案:
B
C#从版本开始推出了C#for.NET集成开发环境。
A、C#7
B、C#5
C、C#8
D、C#2005
答案:
D
C#是出品的一种优秀的集成开发工具。
A、SUN公司
B、Borland公司
C、IBM公司
D、Microsoft公司
答案:
D
练习题
设计一个窗体,从组件面板中选择一些常见控件放置在其上。
运行该程序,观察运行结果,并察看C#自动生成了那些代码。
(答案略)
查阅资料,找出最近10年来新出现的程序设计语言,了解为什么人们要推出这些新的语言,并讨论程序设计与语言的关系。
(答案略)
一种计算机程序设计语言有10种不同的指令。
如果指令不重复,在这种语言能编出多少5条指令的程序?
又能编出多少7条指令的程序?
答:
5条指令的程序:
10×9×8×7×6(种)
7条指令的程序:
10×9×8×7×6×5×4(种)
讨论:
今天对一个最终用户来说,硬件、软件和数据哪一个更有价值?
第2章程序设计基础
复习题
1.简述C#程序的基本框架结构。
2.
答:
C#程序由一个或多个独立的类组成,每个类归属于某个命名空间。
C#的类可以由一个或多个方法组成,其中类中的静态Main方法可用作程序运行的入口。
代码质量评审的原则是什么?
撰写代码时如何使程序结构清晰,易于阅读?
答:
通过编程经验的总结和软件工程的研究,归纳出如下代码质量评审原则:
正确性指程序代码要实现软件设计所要求的功能;
可靠性指代码最后编译的程序要能够稳定、可靠、安全的运行;
规范化指代码书写的风格、命名规则等要符合规范;
可读性指代码要便于查看和理解;
在程序代码中适当使用空格、空行、缩进以及必要的注释和规范的命名,可以使程序结构清晰,易于阅读。
什么是数据类型?
以变量为例,阐述数据类型的意义。
答:
某种数据类型就好比是一套“用来解释存储于某内存位置上的值(好比变量的值)”的规则。
举个例子,如果变量是个整数,存储于其中的位(bits)就被解释为一个整数;如果变量的数据类型是字符串,存储于其中的位(bits)就被解释为一组字符。
当然,对编译器来说,数据类型的含义远不止于此。
编译器还必须能够理解以下规则:
"定义每一种数据类型能够接受的值"以及"对这些值来说哪些操作合法"。
通过这些知识,编译器便能够决定一个特定数据类型的值是否被正确地使用。
C#数据类型可分为几大类?
C#值类型包括哪些?
答:
C#中的数据类型可以分为值类型和引用类型两大类。
其中值类型包括:
简单类型、枚举类型和结构类型;引用类型包括:
数组类型、类类型、接口类型和代理类型。
测试题
以下声明常量的语句正确的是。
A、doublePI=3.14159;
B、constdoublePI=3.14159;
C、staticdoublePI=3.14159;
D、staticconstdoublePI=3.14159;
答案:
B
C#中简单数据类型包括。
A、整数类型,字符类型,枚举类型和结构类型
B、整数类型,字符类型,布尔类型和实数类型
C、整数类型,字符类型,结构类型和类类型
D、整数类型,字符类型,布尔类型,结构类型和类类型
答案:
B
以下类型在内存中所占大小从小到大排序,正确的是。
A、byteshortlong
B、bytelongshort
C、charbytefloat
D、doublefloatlong
答案:
A
每个C#语句以结束。
A、右大括号“}”
B、回车
C、点号“.”
D、分号“;”
答案:
D
下面可作为变量名的是。
A、try
B、continue
C、$500
D、24Hour
答案:
C
在C#中,以下程序注释正确的是。
A、
{注释行1
注释行2
注释行3}
B、
//注释行1
注释行2
注释行3//
C、
(*注释行1
注释行2
注释行3*)
D、
/*注释行1
注释行2
注释行3*/
答案:
D
关于以下两行代码,不正确的说法是。
floatf=3.2;
inti=f;
A、代码无法编译通过。
B、代码可以编译通过,i的值为3。
C、第2行应改为inti=(int)f;
D、第1行应改为floatf=3.2F;
答案:
B
以下代码无法编译通过,是因为。
classTest
{
staticintmyArg=1;
publicstaticvoidMain(String[]args)
{
intmyArg;
Console.WriteLine(myArg);
}
}
A、Main方法中的变量myArg没有初始化。
B、Main方法中的变量myArg与Test类的myArg字段同名。
C、Test类的myArg字段不能在定义时就同时赋值。
D、Console.WriteLine(myArg)语句不能使用整数类型的myArg,而应使用字符串类型的myArg。
答案:
A
以下的Main方法定义中,可用作公有类中程序运行入口的是。
A、publicstaticvoidMain()
B、publicstaticvoidMain(string[]string)
C、publicstaticvoidMain(stringargs)
D、staticpublicintMain(string[]args)
答案:
B
已知a、b、c、d都是int类型的变量,而且已有互不相同的值,顺序执行下列语句后,条件等式为true的是。
b=a;
a=c;
d=a;
d=b;
A、a==c
B、a==d
C、c==d
D、b==a
答案:
A
下列实数表示方法中不正确的是。
A、8.625e+5
B、5e-3F
C、2345.34
D、1000
答案:
D
以下语句中属于合法类型转换的是。
A、(int)"A"
B、(char)"A"
C、(bool)(2-2)
D、(char)(651/12)
答案:
D
下列字符比较的结果为真(true)的是。
A、'a'<'A'
B、'c'<='A'
C、'a'=='A'
D、'a'>'A'
答案:
D
练习题
指出下面表达式的类型:
a.4567b."true"c.'C'd.67.0
e.56Ff."T"g.'8'h.true
答:
a.intb.stringc.chard.double
e.floatf.stringg.charh.bool
定义一个表示学生性别的枚举类型。
答:
enumTSex{male,female,unknown}
定义一个表示图书信息的结构类型。
要求包含:
书名、作者、出版社、定价、页数、书号等字段。
试编写一个简单的控制台程序,使用ReadLine语句为一个图书信息的各个字段赋值,并用WriteLine语句在屏幕上显示这些值。
参考程序:
usingSystem;
structTBook
{
publicstringName;//书名
publicstringAuthor;//作者
publicstringPub;//出版社
publicdoublePrice;//定价
publicintPages;//页数
publicstringISBN;//书号
}
classClass1
{
publicstaticvoidMain(string[]args)
{
TBooktb=newTBook();
Console.WriteLine("请输入书名:
");
tb.Name=Console.ReadLine();
Console.WriteLine("请输入作者:
");
tb.Author=Console.ReadLine();
Console.WriteLine("请输入出版社:
");
tb.Pub=Console.ReadLine();
Console.WriteLine("请输入定价:
");
tb.Price=double.Parse(Console.ReadLine());
Console.WriteLine("请输入页数:
");
tb.Pages=int.Parse(Console.ReadLine());
Console.WriteLine("请输入书号:
");
tb.ISBN=Console.ReadLine();
Console.WriteLine("---------------------");
Console.WriteLine("《"+tb.Name+"》作者:
"+tb.Author+","+tb.Pub+"出版");
Console.WriteLine("定价:
"+tb.Price.ToString()+"元,共计"+tb.Pages.ToString()+"页,书号:
"+tb.ISBN);
}
}
界面如下:
阅读以下程序,分析运行结果。
publicstaticvoidMain(string[]args)
{
boolb1=true;
boolb2=false;
boolb3=(1>2);
b3=b2;
b3=(b2==b1);
System.Console.WriteLine("b3is{0}",b3);
}
答:
b3isfalse
第3章程序设计进阶
复习题
3.什么是表达式?
C#程序中复杂的表达式是如何建立的?
4.
答:
一个表达式就是一个能够返回值的简单结构。
最简单的表达式是变量和常量。
在C#中也可以通过使用运算符、方法调用以及类型转换等,建立复杂的表达式。
C#语言中主要有哪些运算符?
它们的优先级是怎样的?
C#语言中包括有赋值运算符、增减运算符、算术运算符、关系运算符、逻辑运算符、位运算符等。
C#语言中主要运算符及其优先级如下:
优先级
运算符类型
运算符
优先级最高
一元运算符
[].()(方法调用)
!
~++--+-new
()(强制类型转换)
优先级较高
算术运算符
位移运算符
*/%+-
<<>>
优先级较低
关系运算符
位移运算符
逻辑运算符
<<=>>==!
=
&^|
&&||
?
:
(三元判断运算符,例如:
A>B?
X:
Y)
优先级最低
赋值运算符
=
+=-=*=/=%=
在程序设计的流程控制中,有哪些基本结构?
这些结构在C#语言中是如何实现的?
答:
在程序设计的流程控制中,有如下三种基本控制结构:
顺序结构、选择结构、循环结构。
在C#语言中顺序结构由顺序执行的各条语句实现;选择结构由if语句、switch语句实现;循环结构由while语句、do-while语句、for语句实现。
在什么情况下循环过程会出现死循环?
在C#语言中使用哪条语句可以跳出循环体?
答:
当循环条件永远为真时,也就是说永远无法达到循环的边界时会出现死循环。
使用break关键字可以强行跳出循环体。
case语句有哪几种变形?
他们又如何使用?
答:
case语句的几种变形有:
简单的case语句、带缺省语句的case语句、带有多值分支的case语句、带有范围值分支的case语句。
(使用方法略)
什么是算法?
算法有哪些特征?
答:
算法是为了求解某一问题在有限步骤内、定义了具体操作序列的规则集合。
通俗点说,算法就是针对一类特定问题,使用计算机解题的过程。
一个算法应该具有以下五个重要的特征:
•确切性(Noambiguity)算法的每一步骤必须有确切的定义。
而不应该有二义性,例如,在算法中不能出现诸如“赋值为100或1000”。
•输入(Input)有0个或多个输入,用于初始化运算对象。
所谓0个输入是指无需输入条件,而算法本身定出了初始条件。
•输出(Output)没有输出的算法是毫无意义的。
一个算法应该有一个或多个输出,以反映对输入数据加工后的结果。
•可行性(Feasibility)算法原则上能够精确地运行,而且对于算法中的每种运算,在原理上人们应该能用笔和纸做有限次运算后完成。
•有穷性(Finite)算法必须保证执行有限步之后结束。
只具有前面四个特征的规则集合,称不上算法。
例如,尽管操作系统能完成很多任务,但是它的计算过程并不终止,而是无穷无尽的执行、等待执行,所以操作系统不是算法。
什么是排序算法?
排序算法有哪些?
答:
为了更有效地使用数组,通过对数组中的元素进行排序,使其按一定的顺序排列的算法都称为排序算法。
排序算法有很多,如:
冒泡排序、选择排序、插入排序、快速排序、合并排序、希尔(Shell)排序、堆排序等
什么是查找算法?
查找算法有哪些?
答:
查找就是从列表(list)或者数组中找出需要的数据项,确定目标所在位置的算法,也叫检索。
查找的算法很多,有顺序查找、折半查找、散列值查找、转移表查找等。
测试题
以下运算符按运算优先级从高到低排列顺序正确的是。
A、!
、*、<、=
B、!
、=、*、>=
C、!
、*、&&、>=
D、!
=、*、&&、>=
答案:
A
以下循环语句的执行次数是。
intx=37;
inty=3;
while(y<=x)
{
y*=y;
}
A、0
B、1
C、2
D、3
答案:
C
下列字符串比较的结果为真(True)的是。
A、'a'<'A'
B、'c'<='A'
C、'a'=='A'
D、'a'>'A'
答案:
D
设有以下声明,则合法的赋值语句是。
inti1,i2,i3;
boolb1,b2,b3;
A、i3=i1/i2;
B、b1=i1&&i2;
C、b2=i1 D、i1=i2/b2; 答案: D 以下关于算法不正确论述的是。 A、算法必须是一组定义完好且排列有序的指令集合。 B、一个算法可以产生一个结果也可以没有结果。 C、一个算法必须能够终结。 D、算法的每一步都必须有清晰明白的定义。 答案: B 算法的基本结构组成不包括。 A、顺序结构 B、选择结构 C、递归结构 D、循环结构 答案: C 下列循环结构中至少执行一次循环体的是。 A、while...do B、do...while C、for... D、for...do 答案: B 下面几个关于取模运算的说法正确的是。 A、-28%3等于-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 考试 复习题