C前3章练习题集参考答案解析.docx
- 文档编号:9915948
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:12
- 大小:49.05KB
C前3章练习题集参考答案解析.docx
《C前3章练习题集参考答案解析.docx》由会员分享,可在线阅读,更多相关《C前3章练习题集参考答案解析.docx(12页珍藏版)》请在冰豆网上搜索。
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); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题集 参考答案 解析