C期末考练习题.docx
- 文档编号:5511412
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:10
- 大小:19.02KB
C期末考练习题.docx
《C期末考练习题.docx》由会员分享,可在线阅读,更多相关《C期末考练习题.docx(10页珍藏版)》请在冰豆网上搜索。
C期末考练习题
《C#程序设计》练习题
一.选择题(25分)
1.C#中每个int类型的变量占用___A____个字节的内存。
A.1B.2C.4D.8
2.在C#中,表示一个字符串的变量应使用以下哪条语句定义?
B
A.CStringstr;B.Stringstr;C.DimstrasstringD.char*str;
3.数组的下标从(B)开始
A.–1B.0C.1D.2
4.C#中,新建一字符串变量str,并将字符串"Tom'sLivingRoom"保存到串中,则应该使用下列哪条语句?
A
A.stringstr="Tom\'sLivingRoom";B.stringstr=‘Tom'sLivingRoom’;
C.stringstr("Tom'sLivingRoom");D.stringstr("Tom"sLivingRoom");
5.下列语句创建了多少个string对象?
D
string[,]strArray=newstring[3][4];
A.0B.3C.4D.12
6.WindowsForm应用程序中,要求下压按钮控件Button1有以下特性:
正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。
那么,在程序中,属性Button1.FlatStyle的值应设定为:
B
A.System.Windows.Forms.FlatStyle.FlatB.System.Windows.Forms.FlatStyle.Popup
C.System.Windows.Forms.FlatStyle.StandardD.System.Windows.Forms.FlatStyle.System
7.关于C#程序的书写,下列不正确的说法是__D__。
A.区分大小写B.一行可以写多条语句C.一条语句可写成多行
D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法
8.在C#语言中,下列能够作为变量名的是_C___。
A.ifB.3abC.a_3bD.a-bc
9.在C#语言中,下面的运算符中,优先级最高的是__B__。
A.%B.++C./=D.>>
10.能正确表示逻辑关系“a>=10或a<=0”的C#语言表达式是_D___。
A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=0
11.以下程序的输出结果是__C__。
Usingsystem;
ClassExample1
{
PublicStaticvoidmain()
{
Inta=5,b=4,c=6,d;
d=a>b?
(a>c?
a:
c):
b;
Console.Writeline(d);
}
}
A.5B.4C.6D.不确定
12.要看到程序运行的结果,必须按下列哪个组合键(A)。
A.Ctrl+F5B.Ctrl+F9C.Alt+F5D.Alt+F
13...有如下程序
Usingsystem;
ClassExample1
{
PublicStaticvoidmain()
{
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);
}
}的输出结果是C
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
14.以下叙述正确的是__D。
A.do….while语句构成的循环不能用其他语句构成的循环来代替
B.do….while语句构成的循环只能用break语句退出
C.用do….while语句构成的循环,在while后的表达式为true时结束循环
D.用do….while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式
15.以下关于for循环的说法不正确的是___A_。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体语句
C.for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来。
16.若有定义:
int[]x=newint[10]{0,2,4,4,5,6,7,8,9,10};则数组x在内存中所占字节数是__C__。
A.6B.20C.40D.80
17.有定义语句:
int[,]a=newint[5,6];则下列正确的数组元素的引用是__C__。
A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]
18.下列的数组定义语句,不正确的是_C___。
A.int[]a=newint[5]{1,2,3,4,5}B.int[,]a=newint[3][4]
C.int[][]a=newint[3][];D.int[]a={1,2,3,4};
19.要使文本框控件能够显示多行而且能够自动换行,应设置它的______B___属性。
A.MaxLength和MultlineB.Multlineh和WordWrap
C.PassWordChar和MultlineD.MaxLength和WordWra
20.c#源程序文件的默认扩展名为___C__。
A.cppB.exeC.csD.lik
21.下面有关for语句的描述有错误的是___D_。
A.使用for语句时,可以省略其中的某个或多个表达式,但不能同时省略全部3个表达式
B.在省略for语句的某个表达式时,如果该表达式后面原来带有分号,则一定要保留它所带的分号
C.在for语句表达式中,可以直接定义循环变量,以简化代码
D.for语句的表达式可以全部省略
22.下面有关break,continue和goto语句描述正确的是__D__。
A.break语句和continue语句都是用于终止当前整个循环
B.使用break语句可以一次跳出多重循环
C.使用语句可以方便地跳出多重循环,因而编程时应尽可能多使用goto语句
D.goto语句必须和标识符配合使用,break和continue语句则不然
23.下面是几条动态初始化一维数组的语句,指出其中正确的是__B__。
A.int[]arr2=newint[];没有设置长度B.int[]arr2=newint[4];
C.int[]arr2=newint[i]{6,5,1,2,3};【】不能是变量D.int[]arr2=newint[4]{6,5,1,2,3};
24.下面对Write()和WriteLine()方法的描述,哪些是正确的__A__。
A.WriteLine()方法在输出字符串的后面添加换行符
B.使用Write()输出字符串时,光标将会位于字符串的后面
C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串
D.使用不带参数的WriteLine()方法时,将不会产生任何输出
25.设a=6,b=4,则表达式b*a+3的值为(C)
A.3B.18
C.27D.36
26.标识符的名字不能使用c#语言中的关键字,如果要使用,则应使用(C)字符作为前缀:
A.’B.任意字符C.@D./
二、填空题(20分)
1.结构化的程序设计的3种基本结构是(顺序),(循环),(选择)。
2.在C#程序中,程序的执行总是从(Main())方法开始的。
3.、在C#中,进行注释有两种方法:
使用“//”和使用“/**/“符号对,其中(“//”)只能进行单行注释。
4.数组定义与赋值语句如下:
int[]a={1,2,3,4,5};则a[2]的值是(3)。
5.下列程序段执行后,a[4]的值为(4)。
int[]a={1,2,3,4,5};a[4]=a[a[2]];
6.8/3的结果是:
(2)
7.具有n+1个元素的数组的索引是0--(n)
8.在调用一个方法的过程又调用另一个方法,称为(函数调用),一个方法直接或间接的调用它本身,称为(递归调用)。
三、程序分析题
1.运行以下程序段,结果是(150)
doublek,t;
t=0;
for(intn=1;n<=10;n++)
{
For(k=1;k<=5;k++)
t=t+k;
}
Console.WriteLine(t);
2.运行以下程序段,结果是(总和为25)
usingSystem;
classSumw
{
staticvoidMain()
{
inti=1,sum=0;
while(i<=10)
{
sum+=i;
i+=2;
}
Textbox1.text=“总和为:
”+sum.ToString();
}
}
3.以下程序运行后,变量a的值为(10)
inta=100;
for(intj=10;j>0;j-=2)
a-=j*3;
4.以下程序运行后,控件textBox1显示内容为(1112131416171819)
inti;
For(i=10;i<=20;i++)
{
if(i%5==0)
{
Continue;
}
textBox1.text+=i.ToString()+”“;
}
5.给出下列程序的运行结果:
(5050)
usingSystem
ClassDome
{
StaticvoidMain()
{intn=1,sum=0;
while(n<101)
{
sum+=n;
n++;
}
Console.WriteLine(“1+2+3+…+100=”+sum);
}
}
6.
给出下列程序的运行结果:
(123456)
StaticvoidMain()
{
int[,]twoarray=newint[2,3]{{1,2,3},{4,5,6}};
console.writeline(“***矩阵***”);
for(inti=0;iI { for(intj=0;j (1);j++) { Console.Write(twoarray[i,j]+”“); } Console.WriteLine(); } } 7.给出下列程序的运行结果: (15) usingSystem; publicclasstest { publicintnum; publictest(inti) {this.num=i+5;} StaticvoidMain() {testclassone=newtest(10); intx=classone.num; Console.WriteLine(x); } } 8.给出下列程序的运行结果: (1,1) StaticvoidMain() { int[,]a=newint[3,3]; a[0,0]=1; for(inti=1;i<3;i++) {a[i,0]=1; a[i,i]=1; for(intj=1;j } for(inti=0;i<3;i++) { for(intj=0;j<=i;j++) Console.Write(“{0}\t”,a[i,j]); Console.WriteLine(“{0}\t”,a[i,j]); } } 四,程序完善题,如: 1. publicvoidMain() {boolb1=false,b2=true; console.WriteLine(“b1={0}b2={1}“,b1,b2); } 2. publicvoidMain() {intjshu=0,oshu=0; int[]a=newint[]{0,4,7,8,9,10,14,15,19,20,50,48,55}; foreach(intkina) { if(K%2==0)oshu++; elsejshu++; } console.WriteLine(“{0}个奇数,{1}个偶数“,jshu,oshu); } 3.StaticvoidMain() { charch; stringstr; console.WriteLine(“请输入任意长度的字母并按回车键: “); ch=Convert.ToChar(Console.ReadLine().Substring(0,1));//getachar str=Console.ReadLine();//getastring console.WriteLine(“您输入的第一个字母是: ”+ch); console.WriteLine(“您输入的字符串是: ”+str);} 五、简答题: (考一些重要的概念,如) 1.简述命名空间 C#中的类是利用命名空间来组织的。 命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。 2.简述什么是构造函数及其特点 构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化. 特点: 构造函数的函数名和类的名称必须一样。 构造函数在对象定义的时候被自动调用。 构造函数可以被重载,但是不可以被继承。 3.创建文件的常用方法 (1)File.Creat("路径") (2)StreamWritesw=newStreamWrite("路径"); sw.Write("内容"); 4.什么是方法的重载,系统如何区分重载的方法 方法的重载是指在一个类里面可以有多个方法名字相同的不同方法。 但是方法的参数个数,顺序,不能相同。 系统通过方法调用时给的参数来区分重载的方法。 六、编程题(一般是我们课堂上练习过的,如: ) 1、(递归法或者使用循环实现)求某一个数的阶乘 2、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末 练习题