《C语言程序设计》试卷
姓名:学号:专业:层次
/p>
一、选择题:(共40分,每小题2分)
(一)设置控件的名称,应设置控件的什么属性()
A、TextB、NameC、EnableD、Visible
(二)C#源文件的扩展名为()
A、classB、.c#C、.csD、.c
(三)Visualstudio中运行程序的快捷键是()
A、F5B、F6C、F10D、F11
(四)下列选项中,不属于公共语言运行时管理的是()。
A、内存分配B、线程管理C、垃圾回收D、处理异常
(五)布尔型变量真值表示为()
A、trueB、TRUEC、非0的任何整型D、0
(六)下列选项中,哪些是合法的标识符(多选)()
A.hello_worldB.classC.usernameD.username
(七)如果在条件求值前循环体至少要执行一次,应使用以下选项中哪个?()
A、forB、whileC、do….whileD、switch...case
(八)以下选项中哪些描述是正确的(多选)()
A、循环语句必须有终止条件否则不能编译
B、break关键字用于跳出当前循环
C、continue关键字用于终止本次循环,执行下一次循环
D、switch条件语句可以使用break
(九)以下关于变量的说法哪个是错误的()。
A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值
C、变量一旦被定义,在程序的任何位置都可以被访问
D、在程序中可以直接将一个byte类型的值赋给一个int类型的变量
(十)以下选项中,哪个不属于switch语句的关键字?()
A、breakB、caseC、forD、default
(十一)假设x=2,三元表达式x0?x+1:5的运行结果是()
A、0
B、2C、3
D、5
(十二)阅读下面代码:
intx=1;
inty=2;
if(x%2==0)
{y++;}
else
{y--;}
console.writeline(“y=”+y);
上面一段程序运行结束时,变量y的值是哪一项?()
A、1B、2C、3D、4
(十三)关于params修饰的参数,以下哪些描述是错误的?()
A、可以接收任意类型的值B、可以接收多个相同类型的值
C、可以放在参数列表的任意位置D、必须放在参数列表的最后
(十四)下面关于方法重载说法哪些是错误的?()。
A、方法重载要求方法名相同
B、方法重载要求方法的返回值类型相同
C、方法重载要求方法的参数列表相同
D、重载的方法根据传入参数的不同确定调用哪个方法
(十五)方法传递参数时在参数前使用ref或者out关键字,传递的是()
A、变量的值B、变量的名字C、变量的地址D、变量的值和地址
(十六)以下哪个选项可以正确创建一个二维数组()
A.inta=newint[3][2]B.int[,]arr=newint[2][3]{{1,2,3},{2,3,4}}
C.inta=newint[3]D.inta=newint[]{1,4}
(十七)方法定义过程中哪些不能省略?()
A、访问修饰符B、返回值类型C、方法的参数D、包含方法体的一对大括号
(十八)数组int[]arrant=new{1,2,3,4,5};,其中arrint[2]的值是哪一项?()
A、5B、2C、3D、4
(十九)类的定义必须包含在以下哪种符号之间?()
A、[]B、{}C、“”D、()
(二十)下面关于构造方法的描述,正确的有哪些(多选)()
A、方法名必须和类名相同
B、方法名前面没有返回值类型的声明
C、在方法中不能使用return语句返回一个值
D、当定义了带参数的构造方法,系统默认的不带参数的构造方法依然存在
二、判断题:(共10分,每小题1分)
(一)C#的标识符不区分大小写。()
(二)C#中所有关键字必须是大写。()
(三)continue语句只用于循环语句中,它的作用是跳出循环。()
(四)intstu[2][3]表示一个二维数组。()
(五)C#中的数组元素的下标是从0开始的。()
(六)-5%3的运算结果是2。()
(七)工具栏中debug按钮用于开启程序调试功能。()
(八)方法的返回值类型均为void。()
(九)C#程序在编译时将会检查注释内容中的单词拼写错误。()
(十)数组的最大索引值是“数组名.length”。()
三、填空题:(共10分,每空1分)
(一)C#代码进行第一次编译后会生成1.文件或2.文件。
(二)C#程序的公共语言运行时简称为3.。
(三)C#程序在运行时,必须经过4.和5.两个阶段。
(四)在C#中,用于向控制台输出信息的语句是6.。
(五)C#中的类用7.关键字来定义。
(六)布尔常量即布尔类型的两个值,分别是8.和9.。
(七)若Inta=2;a+3=3;执行后,变量a的值是10.。
四、程序分析题,分析代码是否能够编译通过,如果编译通过,请列出运行的结果,否则说明编译失败的原因。(共20分,每小题4分)
(一){publicstaticvoidmain()
{intx=1;
do
{console.writeline(“x=”+x);
x++;}while(x=4)}
(二)classanimal
{}
classdog:animal
{}
class:cat:animal
{}
classtest01
{publicstaticvoidmain()
{animalanimal1=newdog();
dogdog1=newcat();
console.readkey();
}}
(三)classprogram
{say();
console.readkey();
}
publicstaticintsay()
{console.writeline(“大家好,我是say方法”);}}
(四)classtest01
{publicstaticvoidmain()
{byteb=3;
b=b+4;
console.writeline(“b=”+b);
}}
(五)classtest01
{publicstaticvoidmain()
{intx=12;
{inty=96;
console.writeline(“x=”+x);
console.writeline(“y=”+y);}
}
y=x;
console.writeline(“x=”+x);}
五、编程题:(共20分)
(一)求1~99之间所有的奇数之和(5分)
(二)按照以下要求设计一个学生类student,并进行测试:(7分)
(1)student类包含姓名、成绩两个字段。
(2)分别给这两个字段定义自己的属性。
(3)student类中定义两个构造方法,其中一个是无参的构造方法,另一个是接收两个参数的构造方法,分别用于为姓名和成绩赋值。
(4)在main()方法中分别调用不同的构造方法创建两个实例对象,并为属性和性别赋值。
(三)在如图所示的用户登录界面中,用户名对应的文本框为textbox1,密码对应的文本框为textbox2,假如正确的用户名为user,密码为456,请分别写出登录和重置中相应代码。(8分)
参考答案及评分标准
(学年第二学期)
考核科目C#程序设计课程类别必修课考核方式闭卷卷别A
一、选择题:(共40分,每小题2分)
1-5BCCDB6-10BCDdoubleB11-15DCADC16-20BDBDC
二、判断题:(共10分,每小题1分)
1-5√×√×√6-10√×√×√
三、填空题:(共10分,每小题2分)
1、12、get()3、set()4、浮点型5、Text
四、程序阅读题:(共12分,每小题4分)
1、1,02、infa,infb,intx,inty3、aaBB
五、简答题:(共16分)
1、6(2分)
2、3(2分)privatepublicprotected(3分)
3、1(2分)public(1分)
4、2(2分)2(2分)作用:赋初值(2分)
六、编程题:(共12分)
1、(5分)intsum=0;
For(i=0;i=;i++){
i%2==0;
sum+=i;}
console.writeline(sum);
2、(7分)课本页