C#所有的自测题.docx

上传人:b****8 文档编号:8989109 上传时间:2023-02-02 格式:DOCX 页数:25 大小:40.02KB
下载 相关 举报
C#所有的自测题.docx_第1页
第1页 / 共25页
C#所有的自测题.docx_第2页
第2页 / 共25页
C#所有的自测题.docx_第3页
第3页 / 共25页
C#所有的自测题.docx_第4页
第4页 / 共25页
C#所有的自测题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

C#所有的自测题.docx

《C#所有的自测题.docx》由会员分享,可在线阅读,更多相关《C#所有的自测题.docx(25页珍藏版)》请在冰豆网上搜索。

C#所有的自测题.docx

C#所有的自测题

第一章

1.1填空题

1.计算机只能直接理解仅有1和0组成的机器语言。

2.计算机处理数据时,使用的是被称为计算机程序的指令集。

3.本章讨论的计算机编程语言的三种类型是:

机器语言、汇编语言和高级语言。

4.将高级语言程序翻译成机器语言的程序,称为编译器。

5.VisualStudio是一个集成开发环境,C#程序在这个环境下开发。

6.C#是一种面向对象、事件驱动的语言。

7.C#编程语言是Microsoft专门为.NET平台而创建的。

8.超文本标记语言(HTML)是用来在万维网衫通过“超链”的文本文档而工程共享信息的一种语言。

9.公共语言运行时(CLR)执行.NET程序。

10.对象具有属性,可执行动作(也称为方法或行为)。

11.面向对象设计(OOD)以与人们描述现实世界类似的方法来建模软件。

1.2判断下列语句是否正确。

1.UML主要用于实现面向对象的系统。

2.C#是一种面向对象的语言。

3.C#是编写.NET应用程序的唯一可用语言。

4.计算机能够直接理解高级语言。

5.不管原始的.NET语言尺,MSIL都是所有.NET程序编译时的共同中间格式。

6..NET框架可移植到非Windows平台。

第二章

2.1填空题

1.可视化编程技术使程序员能够不必编写任何代码即可创建GUI。

2.方案是一个或多个工程的组合,这些工程共同构成了一个VisualC#程序。

3.当把鼠标指针移到窗口区域以外时,窗口会再次隐藏起来,这一特性被称为自动隐藏。

4.当鼠标指针悬停在图标上时,会出现工具提示。

5.可以在SolutionExplore窗口中浏览方案文件。

6.Properties窗口中的属性可以按字母顺序或类别顺序排序。

7.窗体的Text属性设置窗体标题栏中的文本。

8.工具箱使程序员能够以可视化的方式向窗体添加控件。

9.上下文相互帮助会根据当前的上下文内容显示相关的帮助文件。

10.TextAlign属性指定卷标仲如何对齐文本。

2.2判断下列语句是否正确。

1.IDE的标题栏显示的是IDE的模式。

2.

会触发“自动隐藏”的特性。

3.工具栏图标代表各种菜单命令。

4.工具栏包含程序员能够拖入窗体的控件的图标。

5.窗体和卷标都有标题栏。

6.只有在编写代码时才能够修改控件的属性。

7.图形框控件通常显示图像。

8.C#文件的扩展名为.csharp。

9.窗体的背景色是用BackColor属性设置的。

第三章

3.1填空题

1.每个方法体以左大括号({)开始,以右大括号(})结束。

2.大多数语句都以分号(;)结束。

3.if语句用来作出判断。

4.单行注释以//开始。

5.空行、空白字符和制表符被称为可能空白字符。

换行符也被认为是空白字符。

6.关键字是C#保留使用的。

7.C#程序从Main方法开始执行。

8.Console.writeLine和Console.write会在控制台窗口显示信息。

3.2判断下列语句是否正确。

1.当执行程序时,程序中的注释会使计算机在屏幕上显示//之后的文本。

2.C#会认为变量number和NuMbEr是相同的。

3.求余运算符(%)只能用于整形操作数。

4.算数运算符*,/,%,+,—都具有相同的优先级。

3.3编写语句,完成下列任务。

1.将变量c,thisIsAVariable,q76354和number声明成int类型。

Intc,thisIsAVariable,q76354,number;

或者

Intc;

IntthisIsAVariable;

Intq76354;

Intnumber;

2.提示用户输入一个整数。

Console.Write(“Enteraninterger:

”);

3.输入一个整数并将它赋予一个int型变量value。

Value=ConvertToInt32(Console.ReadLine());

5.如果变量number不等于7,显示“Thevariablenumberisnotequalto7”。

Ifnumber(!

=7)

Console.WriteLine(“Thevariablenumberisnotequalto7”);

6.在控制台窗口的一行中显示“thisisaC#application”

Console.WriteLine(“ThisisaC#application”);

7.在控制台窗口的两行中显示“thisisaC#application”,第一行应以“C#”结尾,使用Console.WriteLine方法。

Console.WriteLine(“ThisisaC#\napplication”);

8.在控制台窗口的两行中显示“thisisaC#application”,第一行应以“C#”结尾,使用Console.WriteLine方法和两个格式项。

Console.WriteLine(“{0}/n{1}”,“ThisisaC#”,“application”);

3.4找出并改正以下语句中的错误。

1.if(c<7);

Console.WriteLine(“Cislessthan7”);

错误:

if语句中条件(c<7)的有圆括号之后的分号错误。

改正:

将这个分号删除。

[注:

如果不删除分号,则不管if中的条件是否为真,输出语句都会执行。

]

2.if(C=>7)

Console.WriteLine(“Cisequaltoorgreaterthan7”);

错误:

关系运算符=>不正确。

改正:

将=>改为>=。

3.5编写声明、语句或注释,完成下列任务。

1.表明程序将计算三个整数的乘积。

//Calculatingtheproductofthreeintegers

2.将变量x,y,z和result声明成int型。

Intx,y,z,result;

或者

Intx;

Inty;

Intz;

Intresult;

3.提示用户输入第一个整数。

Console.Write(“Enterfirstinterger:

”);

4.读取用户输入的第一个整数,并将它保存在变量x中。

X=ConvertToInt32(Console.ReadLine());

5.提示用户输入第二个整数。

Console.Write(“Entersecondinterger:

”);

6.读取用户输入的第二个整数,并将它保存在变量y中。

y=ConvertToInt32(Console.ReadLine());

7.提示用户输入第三个整数。

Console.Write(“Enterthirdinterger:

”);

8读取用户输入的第三个整数,并将它保存在变量z中。

z=ConvertToInt32(Console.ReadLine());

9.计算包含在变量x,y和z中的三个整数的乘积,并将结果赋值给变量result。

Result=x*y*z;

10.显示消息“Productis”,后接变量result的值。

Console.WriteLine(“Productis{0}”,result);

 

3.6利用在练习3.5中编写的语句,写一个完整的程序,它计算并显示三个整数的乘积。

Usingsystem;

Publicclassproduct

{

Publicstaticvoidmain(string[]args)

{

Intx;

Inty;

Intz;

Intresult;

Console.Write(“Enterfirstinterger:

”);

X=ConvertToInt32(Console.ReadLine());

Console.Write(“Entersecondinterger:

”);

y=ConvertToInt32(Console.ReadLine());

Console.Write(“Enterthirdinterger:

”);

z=ConvertToInt32(Console.ReadLine());

Result=x*y*z;

Console.WriteLine(“Productis{0}”,result);

}

}

Enterfirstinteger:

10Entersecondinteger:

20

Enterthirdinteger:

30Productis6000

第四章

4.1填空题

1.蓝图对于房子而言,就如同对象对于类一样。

2.每个类声明都包含关键字class,后面紧跟着类的名称。

3.操作符new会创建在它的右边指定的类的对象。

4.每个参数都必须指定类型和名称。

5.默认情况下,没有在名字空间中显示声明的类,会被隐式的放入全局名字空间中。

6.当类的每个对象维护它自己的属性副本时,表示该属性的字段也被称为实例变量。

7.C#为存储实数提供了三种简单类型:

float,double和decimal。

8.double类型的变量表示双精度浮点数。

9.Convert方法ToDecimal返回一个decimal值。

10.关键字public是一个访问修饰符。

11.返回类型void表明当方法完成任务后,它不会返回任何信息。

12.Console方法ReadLine读取字符,知道遇到换行符,然后返回一个字符串,包含除换行符之外的全部字符。

13.如果总是用完全限定类名引用类,则不要求有using指令。

14.float类型的变量表示单精度浮点数。

15.格式指定符C用于以货币格式显示值。

16.类型是值类型或者引用类型。

17.对于自实现属性,编译器会自动产生一个私有实例变量以及set和get访问方法。

4.2判断下列语句是否正确。

1.按照约定,方法名的第一个字母小写,而后续所有单词的首字母都大写。

2.属性的get访问方法使客户能够修改与该属性相关变量的实例变量的值。

3.当名称空间中的某个类使用同一个名字空间中的另一个类时,不要求有using指令。

4.如果方法声明中的方法名后面是空圆括号,则表明这个方法执行任务时不需要任何参数。

5.定义属性后,可以像使用方法一样使用它,但它带的是空圆括号,因为没有实参会传递给属性。

6.用private访问修饰符声明的变量或方法,只能由声明它们的类的属性和方法访问。

7.在特定方法体中声明的变量,称为实例变量,它们只能用在这个类的属性和方法访问。

8.属性声明必须同时包含get访问方法和set访问方法。

9.方法体或属性体都用左右两个大括号隔离出来。

10.默认情况下局部变量会被初始化。

11.引用类型实例变量默认被初始化为null值对

12.包含publicstaticvoidmain(string[]args)声明的任何类,都可以用来执行程序。

13.方法调用中的实参个数,必须与被调用的方法声明参数表中的参数个数形同。

14.默认情况下,出现在源代码中的实数被称为浮点字面文字,都是float类型的。

4.3局部变量与实例变量有什么不同?

局部变量在方法体内声明,只能用于声明它的方法内。

实例变量是在类中声明的,而不是在类的任何方法体内声明。

类的每个对象(实例)都有该实例变量的一个单独副本。

而且,类的所有方法都可以访问实例变量。

4.4解释方法参数的作用。

参数与实参有什么不同?

参数代表额外的信息,方法要求这些信息才能执行任务。

方法要求的每个参数,在方法的声明中指定。

实参是当调用方法时传递给方法参数的实际值。

第五章

5.1填空题

1.所有的程序都能够以三种控制结构类型编写,这三种结构是顺序、选择和循环。

2.当条件为真时执行一个动作,为假时执行另一个动作的语句是if`···else语句。

3.重复执行一组指令特定次数的循环,称为计算器控制循环。

4.当无法预先知道一组语句将重复执行多少次的时,应使用标记值、信号值、标志值或哑值来终止这个循环。

5.C#中内置的语句执行结构是顺序结构,即默认情况下语句会按照它们出现的顺序来执行。

6.int类型实例变量默认值为0。

7.C#是一种强类型化语言,它要求所有的变量都具有类型。

8.如果对变量使用前置递增运算符,则变量的值会首先加1,然后将它的新值用在表达式上。

5.2判断下列语句是否正确。

1.算法是关于要执行的动作以及执行它们的顺序的问题求解过程。

2.包含在一对圆括号内的一组语句,称为语句块。

3.选择语句指定当某个条件为真时要重复执行的某一条语句。

4.嵌套控制语句出现在另一个控制语句的语句体中。

5.C#提供了几个算数复合赋值运算符用来简化赋值表达式,这些运算符包括+=,—=,*=,/=和%=。

6.指定在程序中执行语句(动作)的顺序,被称为程序控制。

7.一元强制转换运算符“(double)”会创建它的操作数的一个临时整数型副本。

8.bool类型实例变量的默认值为true。

9.伪代码是用来帮助程序员在用编程语言编写程序之前“思考”的。

5.3编写4条不同的C#语句,它们都将int变量x加1。

x=x+1;x+=1;++x;x++;

5.4编写C#语句,完成下列任务。

1.将x和y的和赋值给z,并在计算之后将x的值加1.只使用一条语句。

Z=x+++y;

2.测试变量count的值是否大于10。

如果是,显示“countisgreaterthan10”。

If(count>10)

Console.WriteLine(“Countisgreaterthan10”);

3.将变量x的值减1,然后用变量total与它相减。

只是用一条语句。

Total-=--x;

4.计算q除以divisor之后的余数,并将结果赋予q。

以两种方式编写这条语句。

q%=divisor;q=q%divisor;

5.5编写C#语句,完成下列任务。

1.将变量sum声明为int类型。

Intsum;

2.将变量x声明为int类型。

Intx;

3.将变量x赋值1。

X=1;

4.为变量sum赋值0。

Sum=0;

5.计算变量x和sum的和,并将结果赋予变量sum。

Sum+=x;或者sum=sum+x;

6.显示“Thesumis”,后接变量sum的值。

Console.WriteLine(“Thesumis{0}”,sum);

5.6将练习5.5中的语句组合成C#程序。

计算并显示整数1~10的和。

使用while语句循环计算语句和递增语句。

循环应当在X的值变为11时终止。

Usingsystem;

PublicclassCalculate

{

PublicstaticvoidMain(string[]args)

{

Intsum;

Intx;

X=1;

Sum=0;

While(x<=10)

{

Sum+=x;

++x;

}

Console.WriteLine(“Thesumis{0}”,sum);

}

}

Thesumis55

5.7执行下列语句后,确定变量的值,假设开始执行语句时,所有变量的类型都为int,且都有值5。

Product*=x++;

Product=25,x=6

5.8找出并更正如下代码段中的错误。

1.while(c<=5)

{

Product*=c;

++c;

错误:

忘记了while语句的闭右括号。

改正:

在语句“++c;”之后添加一个闭右括号。

2.if(gender==1)

Console.WriteLine(“Woman”);

else;

Console.WrieLine(“Man”);

错误:

else之后的分号会导致逻辑错误。

第二条输出语句会总是执行。

改正:

将这个分号删除。

5.9下面的while语句中有什么错误?

While(z>=0)

Sum+=z;

While语句中变量z的值永远不会改变。

因此,如果初始时循环继续条件(z>=0)为真,则会出现无限循环。

为了防止出现无限循环,必须递减Z的值,以使它最终变为小于0。

第六章

6.1填空题

1.一般而言,for语句用于计算器控制循环,而while语句用于标记控制循环。

2.do···while语句在执行循环体之后测试循环继续条件,因此循环体总是至少会执行一次。

3.根据整形变量或表达式可能的值,switch语句会在多个动作中间进行选择。

4.当在循环语句中执行时,continue语句会跳过循环体中的剩余语句,继续进行循环的下一次迭代。

5.&&(条件与)或&(布尔逻辑与)运算符在选择某个执行路径之前,可用来确保两个条件都为真。

6.如果在for首部中的循环继续条件最初为假,则不会执行for语句体。

7.执行通用任务、不需要在对象上调用的方法,被称为静态方法。

6.2判断下列语句是否正确。

1.在switch选择语句中,要求有默认分支。

2.在switch语句的每一个分支中,都要求有break语句。

3.如果(x>y)为真,或者(ay)&&(a

4.如果包含||运算符的表达式的两个操作数有一个为真或者两个都为真,则这个表达式就为真。

5.格式项(例如{0.4})中逗号后面的整数表示要显示的字符串的字段宽度。

6.为了测试switch语句中的值得范围,需在分支标签的起始值和结尾值之间使用连字符(—)。

7.连续地列出多个分支,让它们之间没有语句,可使这些分支执行同一组语句。

6.3编写一条或一组C#语句,完成下列任务。

1.使用一条for语句,求1~99de奇数和。

假设已经声明了整形变量sum和count。

Sum=0;

For(count=1;count<=99;count+=2)

sum+=count;

2.用Pow方法计算2.5的三次幂。

doubleresult=Math.Pow(2.5,3);

3.使用while循环和计算器变量i,显示1~20的整数。

假设已经声明了变量i,但没有初始化它,每行显示五个整数。

[提示:

利用i%5。

当它的结果为0时,显示一个换行符,否则显示一个制表符。

使用Console.WriteLine()方法输出换行符,而使用console。

Write(‘\t’)方法输出制表符。

]

i=1;

while(i<=20)

{

Console.write(i)

if(i%5==0)

Console.writeline();

else

Console.Write(‘\t’);

++i;

}

4.用for语句解第3题部分同样的问题。

for(i=1;i<=20;i++)

{

Console.Write(i);

if(i%5==0)

Console.writeline();

else

Console.Write(‘\t’);

}

6.4找出如下代码中的错误并改正。

1.i=1;

While(i<=10);

++i;

}

错误:

while首部后面的分号会导致无限循环,且while语句体中缺失左大括号。

改正:

删除分号并在循环体之前添加一个左大括号。

2.for(k=0.1;k!

=1.0;k+=0.1)

Console.WriteLine(k);

错误:

使用浮点数来控制for语句可能会出现错误,因此在大多数计算机中,浮点数是近似表示的。

改正:

使用整数,且为了获得所期望的值需执行正确的计算,如下所示。

for(k=1,k<10;k++)

Console.WriteLine((double)k/10);

3.switch(n)

{

case1:

Console.WriteLine(“Thenumberis1”);

case2:

Console.WriteLine(“Thenumberis2”);

break;

default:

Console.WriteLine(“Thenumberisnot1or2”);

break;

}

错误:

分支1不能落入分支2中。

改正:

应以某种方式终止分支,比如在第一个分支的语句末尾添加一条break语句。

5.下面的代码应显示值1~10。

n=1;

while(n<10)

Console.WriteLine(n++);

错误。

在while循环继续条件中使用了错误的关系运算符。

改正:

将<替换成<=,或者将10改成11。

第七章

7.1填空题。

a)在程序中使用方法是通过方法调用实现的。

b)只在声明它的方法中可知的变量,称为局部变量。

c)被调方法中return语句可用来将表达式的值回传给调用方法。

d)关键字void表示方法不返回值。

e)数据只能从栈的顶添加或删除。

f)栈被称为后入先出(LIFO)的数据结构——压入栈(插入)的最后一项,是从栈中弹出(移走)的第一项。

g)有三种途径可将控制从被调方法返回到调用方法,它们是return、returnexpression和遇到方法的闭右括号时。

h)Random类的对象处理伪随机数。

i)在程序执行期间,程序执行栈里包含每次调用方法时用到的局部变量的内存。

这一数据作为程序执行栈的一部分被保存,它被称为方法调用的活动记录或栈帧。

j)如果方法调用的个数超过了程序执行栈的容量,就会发生称为栈溢出的错误。

k)声明的作用域是程序中可以用非限定名引用所声明实体的部分。

l)多个方法可以具有相同的名称,它们对不同类型或数量的实参进行操作。

这一特性被称为方法重载。

m)程序执行栈也被称为方法调用栈。

n)直接或间接调用自己的方法,是递归方法。

o)递归方法通常具有两个部分:

提供通过测试基本情况终止递归的部分,和将问题表述成一个递归调用,比原始调用稍微简单一些的部分。

7.2对于图7.8中的Craps类,给出如下每个实体的作用域。

a)randomNumbers变量。

类体

b)diel变量。

定义RollDice方法体的语句块。

c)RollDice方法

类体。

d)Main方法。

类体。

e)sumOfDice变量。

定义Main方法体的语句体。

7.3编写一个程序,它测试图7.2中给出的Math类方法调用的例子是否真的会产生所给出的结果。

1//Exersise7.3Solution:

MathTest.cs

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1