C#前3章练习试题参考答案解析.docx

上传人:b****5 文档编号:8787707 上传时间:2023-05-15 格式:DOCX 页数:13 大小:33.78KB
下载 相关 举报
C#前3章练习试题参考答案解析.docx_第1页
第1页 / 共13页
C#前3章练习试题参考答案解析.docx_第2页
第2页 / 共13页
C#前3章练习试题参考答案解析.docx_第3页
第3页 / 共13页
C#前3章练习试题参考答案解析.docx_第4页
第4页 / 共13页
C#前3章练习试题参考答案解析.docx_第5页
第5页 / 共13页
C#前3章练习试题参考答案解析.docx_第6页
第6页 / 共13页
C#前3章练习试题参考答案解析.docx_第7页
第7页 / 共13页
C#前3章练习试题参考答案解析.docx_第8页
第8页 / 共13页
C#前3章练习试题参考答案解析.docx_第9页
第9页 / 共13页
C#前3章练习试题参考答案解析.docx_第10页
第10页 / 共13页
C#前3章练习试题参考答案解析.docx_第11页
第11页 / 共13页
C#前3章练习试题参考答案解析.docx_第12页
第12页 / 共13页
C#前3章练习试题参考答案解析.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C#前3章练习试题参考答案解析.docx

《C#前3章练习试题参考答案解析.docx》由会员分享,可在线阅读,更多相关《C#前3章练习试题参考答案解析.docx(13页珍藏版)》请在冰点文库上搜索。

C#前3章练习试题参考答案解析.docx

C#前3章练习试题参考答案解析

第1章

一.选择题

1.关于C#程序的书写,下列不正确的说法是【D】。

A)区分大小写

B)一行可以写多条语句

C)一条语句可以写成多行

D)一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。

2.C#应用程序项目文件的扩展名是【A】。

A)csprojB)csC)slnD)suo

3.运行C#程序可以通过按【C】键实现。

A)Shift+F5B)Alt+F5C)Ctrl+F5D)Alt+Ctrl+F5

4.公共语言运行库可简写为(C)。

A)MSILB)JITC)CLRD)MSDN

5.下面对Write()和WriteLine()方法的描述,不正确的是(C)。

A.WriteLine()方法在输出字符串的后面添加换行符

B.使用Write()输出字符串时,光标将会位于字符串的后面

C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串

D.使用不带参数的WriteLine()方法时,将会产生一个空行

6.以下哪句话是正确的?

   ( D )

  A.命名空间应该包含在类中

  B.每个类都是为了完成一个独立的功能

  C.一个资源解决方案只能包含一个项目

  D.C#源程序的扩展名是.cs

7.要看到程序运行的结果,必须按下列哪个组合键(A)。

A.Ctrl+F5B.Ctrl+F9C.Alt+F5D.Alt+F

二.填空题

1.在C#中,进行注释有两种方法:

使用“//”和使用“/**/”符号对,其中【//】只能进行单行注释。

2.在C#程序中,程序的执行总是从【Main()】方法开始的。

第2章

一.选择题

1.在C#语言中,下列能够作为变量名的是【C】。

A)ifB)3abC)a_3bD)a-bc

2.表达式5/2+5%2-1的值是【B】。

A)4B)2C)2.5D)3.5

3.下列数值类型的数据精度最高的是【C】。

A)intB)floatC)decimalD)ulong

4.在C#语言中,下面的运算符中,优先级最高的是【B】。

A)%B)++C)*=D)>

5.能正确表示逻辑关系“a≥10或a≤0”的C#语言表达式是【D】。

A)a>=10ora<=0B)a>=10anda<=0

C)a>=10&&a<=0D)a>=10||a<=0

6.以下程序的输出结果是【C】。

usingSystem;

classProgram

{publicstaticvoidMain(string[]args)

{inta=5,b=4,c=6,d;

Console.WriteLine(“{0}”,d=a>b?

(a>c?

a:

c):

b);

}

}

A)5B)4C)6D)不确定

7.要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【C】类型的变量。

A)intB)decimalC)floatD)long

8.已定义下列变量:

intn;floatf;doubledf;

df=10;n=2;

下列语句正确的是【C】。

A)f=12.3;B)n=df;C)df=n=100;D)f=df;

9.下列表达式或语句中,有语法错误的是【A】。

A)n=12%3.0;(n为int型)B)12/3.0

C)12/3D)‘a’>’b’

10.下面有关变量和常量的说法,正确的是【B】。

A)在程序运行过程中,变量的值是不能改变的,而常量是可以改变的

B)常量定义必须使用关键字const

C)在给常量赋值的表达式中不能出现变量

D)常量在内存中的存储单元是固定的,变量则是变动的

11.下列类型转换中正确的是【A】

(A)inti=’A’(B)longL=1.1f(C)inti=(float)1.1(D)inti=1.1

12.以下选项中,合法的赋值语句是(B)

(A)inta==1(B)inti=1;intj=i++;

(C)inta=a+1=2;(D)inti=int(j);

13.下列运算符中属于关系运算符的是(A)

(A)==(B)=(C)+=(D)-=

14.阅读下面的程序,程序的运行结果为(C)

inta=10,b=4,c=20,d=6;

label1.Text=a++*b+c*--d;

(A)144(B)160(C)140(D)164

15.阅读下面的程序,程序的运行结果为(B)

intx=3,y=4,z=5;

Strings="xyz";

label1.Text=s+x+y+z;

(A)xyz12(B)xyz345(C)xyzxyz(D)12xyz

16.阅读下面的程序,程序的运行结果为(B)

inti=10,j=3;

floatm=213.5f,n=4.0f;

label1.Text=i%j+””;

label2.Text=m%n+””;

(A)1.0和1.5(B)1和1.5(C)1.0和2.5(D)1和2.5

17.C#中每个int类型的变量占用(C)个字节的内存。

A.1B.2C.4D.8

18.在C#中,表示一个字符串的变量应使用以下哪条语句定义?

(B)

A.CStringstr;B.stringstr;C.DimstrasstringD.char*str;

19.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?

(B)

A.stringstr="Tom\'sLivingRoom";B.stringstr="Tom'sLivingRoom";

C.stringstr("Tom'sLivingRoom");D.stringstr("Tom"sLivingRoom");

20.设”inta=3,b=4,c=5;”表达式”(a+b)>c&&b==c”的值是(B)

A.trueB.falseC.3D.7

21.设“inta=12;”则执行完语句“a++;a=a+3”后,a的值是(D)

A.12B.15C.13D.16

22.以下数据中,属于int类型的是(A)

A.8B.’8’C.”8”D.8.8

23.在C#以下哪个变量名是正确的  ( C  )

 A.$34      B.45b    C.a_3     D.int

24.以下哪句话是正确的?

 (  B )

  A.C#是一种面向对象的开发语言,而JAVA不是。

  B.C#项目编译后的可执行文件扩展名为.exe

  C.C#中Main()方法中的M首字母不一定要大写

  D.基本数据类型的变量,其内容为引用,即地址。

25.下列选项中,(c)是引用类型。

a)enum类型b)struct类型c)string类型d)int类型

26.C#的数据类型有(b)

a)值类型和调用类型;b)值类型和引用类型;

c)引用类型和关系类型;d)关系类型和调用类型;

27.在C#中,下列代码运行后,变量max的值是(C)

inta=5,b=10,c=15,max=0;

      max=a>b?

a:

b;      max=c

c:

max;

A.0B.5C.10D.15

28.在C#中,下列常量定义正确的是(B)。

A.constdoublePI3.1415926;B.constdoublePi=2.7

C.definedoublePI3.1415926D.definedoublee=2.7

29.设a=6,b=4,则表达式b*a+3的值为(C)

A.3B.18C.27D.36

30.标识符的名字不能使用c#语言中的关键字,如果要使用,则应使用(C)字符作为前缀:

A.’B.任意字符C.@D./

31.在C#中,下列代码的运行结果是(A)。

floatf=123.56F;

objecto=f;

f=789.123F;

Console.WriteLine("f={0}",f);

Console.WriteLine("o={0}",o);

a)f=789.123

o=123.56

b)f=123.56

o=789.123

c)f=789.123

o=789.123

d)f=123.56

o=123.56

32.在C#中,下列代码的输出结果是(C)。

usingSystem;

classTest

{

publicenumWeekDays

{

Mon,Tue,Wed,Thur,Fri,Sta,Sun

}

staticvoidMain()

{

WeekDaysweek=(WeekDays)2;

Console.WriteLine(week);

}

}

a)2b)Tuec)Wedd)编译错误

33.以下代码段体现了C#中的(C)概念,该概念使得对象模型变得简单易懂。

intval=10;

Objectobj=val;

a)继承b)重载c)装箱d)委托

34.下面关于C#中值类型和引用类型的描述正确的是(D)。

a)结构属于引用类型

b)字符串属于值类型

c)所有内置的数据类型都是值类型,所有用户定义的数据类型都是引用类型

d)值类型变量直接存放真正的数据,引用类型变量存放的是指向真正的数据的存放地址

二.填空题

1.8/3的结果是:

【2】。

2.C#中,所有类型(包括所有的值类型和所有的引用类型)的基类是【object类】。

3.当整数b赋值给一个object对象时,这个过程称为【装箱】。

4.设x为int型变量,请写出描述“x是奇数”的C#语言表达式【x%2!

=0】。

5.设x为int型变量,请写出描述“-10<=x<=10”的C#语言表达式【-10<=x&&x<=10】。

6.在C#中,bool类型只有两种值,分别是【true】和【false】。

第3章

一.选择题

1.在C#语言中,if语句后面的表达式,不能是【B】。

A)逻辑表达式B)算术表达式

C)关系表达式D)布尔类型的表达式

2.在C#语言中,switch语句用【A】来处理不匹配case语句的值。

A)defaultB)anyelse

C)breakD)goto

3.下列程序的输出结果是【C】。

usingSystem;

classProgram

{publicstaticvoidMain(string[]args)

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;break;

case1:

a++;break;

case2:

a++;b++;break;

}

Console.WriteLine(“a={0},b={1}”,a,b);

}

}

A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2

4.以下叙述正确的是【D】。

A)do……while语句构成的循环不能用其他语句构成的循环来代替

B)do……while语句构成的循环只能用break语句结束循环

C)用do……while语句构成的循环,在while后的表达式为true时结束循环

D)用do……while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式

5.以下关于for循环的说法不正确的是【A】。

A)for循环只能用于循环次数已经确定的情况

B)for循环是先判定表达式,后执行循环体

C)在for循环中,可以用break语句跳出循环体

D)for循环体语句中,可以包含多条语句,但要用花括号括起来

6.C#提供的4种跳转语句中,不推荐使用的是【D】。

A)returnB)breakC)continueD)goto

7.执行下列语句序列后,i和j的值分别是【C】

inti=3,j=5;

if(i-1>j)i--;elsej--;

A)2,4B)2,5C)3,4D)3,5

8.下列语句序列执行后,j的值是【B】

intj=5,i=6;

while(i-->3)--j;

A)1B)2C)3D)4

9.以下for循环的执行次数是【B】

for(inti=1;(i==1)&(i>2);i++)

A)无限次B)一次也不执行C)执行1次D)执行2次

10.以下由do-while语句构成的循环执行次数是【C】

intm=1;

do

{

++m;

}while(m<1);

A)有语法错误,不能执行B)一次也不执行C)执行1次D)执行2次

11.循环语句“for(inti=0;i

A.1B.n-1C.nD.n+1

12.在下面循环语句中循环体执行的次数为(B)

for(inti=0;i

{if(i>n/2)break;}

A.n/2B.n/2+1C.n/2-1D.n-1

13.下面有关for语句的描述有错误的是(A)。

A.使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式

B.在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号

C.在for语句表达式中,可以直接定义循环变量,以简化代码

D.for语句的表达式可以全部省略

14.以下哪段代码,最合理地实现了以下结构图描述的流程(B)

A.if(x>=0)B.if(x>=0)

y=-x;y=x;

elseelse

y=x;y=-x;

C.while(x>=0)D.while(x>=0)

{{

casetrue:

y=x;casetrue:

y=-x;

break;break;

casefalse:

y=-x;casefalse:

y=x;

break;break;

}}

15.以下关于C#代码的说法正确的是(A)。

usingSystem;

classTest

{

staticvoidMain()

{

for(inti=1;i<=3;i++)

{

switch(i)

{

case1:

Console.Write(i.ToString());

case2:

Console.Write((i*2).ToString());

case3:

Console.Write((i*3).ToString());

}

}

}

}

A)程序将报告编译错误,提示case标签不能贯穿到另一个标签,不能运行

B)运行是输出149

C)运行时输出123246369

D)运行时在屏幕上没有输出

16.已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为(C)

if(c

elseif(a+b

elsen=a+b;

A.3B.-3C.9D.15

17.while语句循环结构和do…while语句循环结构的区别在于(D)

A.while语句的执行效率较高

B.do…while语句编写程序较复杂

C.无论条件是否成立,while语句都要执行一次循环体

D.do…while循环是先执行循环体,后判断条件表达式是否成立,而while语句是先判断条件表达式,再决定是否执行循环体.

18.下列代码输出正确的是(D)

namespaceAnswer

{

classProgram

{

staticvoidMain(string[]args)

{

inti,j;

for(i=1;i>=0;i--)

for(j=0;j<=i;j++)

Console.WriteLine(“i*j={0}”,i*j);

}

}

}

A.i*j=0i*j=0i*j=0B.i*j=1i*j=0i*j=1

C.i*j=1i*j=1i*j=0D.i*j=0i*j=1i*j=0

19.下面对i值的输出结果说法正确的是(A)

namespaceAnswer

{

classProgram

{

staticvoidMain(string[]args)

{

inti=0;

do

{i++;

}while(i<5);

Console.WriteLine(“i值的为:

{0}”,i);}}}

A.i的值为:

5B.i的值为:

6

C.i的值为:

7D.i的值为:

8

20.下面代码运行后,s的值是(B)。

ints=0;

for(inti=1;i<100;i++)

{

if(s>10)

{

break;

}

if(i%2==0)

{

s+=i;

}

}

A.20B.12C.10D.6

二、程序分析题

1.运行以下程序段,结果是(150)

doublek,t;

t=0;

for(intn=1;n<=10;n++)

{

for(k=1;k<=5;k++)

t=t+k;

}

Console.WriteLine(t);

运行以下程序段,结果是(总和为:

25)

usingSystem;

classSumw

{

staticvoidMain()

{

inti=1,sum=0;

while(i<=10)

{

sum+=i;

i+=2;

}

strings1="总和为:

"+sum.ToString();

Console.WriteLine(s1);

}

}

2.以下程序运行后,变量a的值为(10)

inta=100;

for(intj=10;j>0;j-=2)

a-=j*3;

3.以下程序运行后,控件textBox1显示内容为(1112131416171819)

inti;

strings1="";

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

{

if(i%5==0)

{

continue;

}

s1+=i.ToString()+"";

}

Console.WriteLine(s1);

4.给出下列程序的运行结果:

(1+2+3+…+100=5050)

usingSystem

ClassDome

{

StaticvoidMain()

{intn=1,sum=0;

while(n<101)

{

sum+=n;

n++;

}

Console.WriteLine("1+2+3+…+100="+sum);

}

}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2