您好,欢迎访问三七文档
第1章一.选择题1.关于C#程序的书写,下列不正确的说法是【D】。A)区分大小写B)一行可以写多条语句C)一条语句可以写成多行D)一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法。2.C#应用程序项目文件的扩展名是【A】。A)csprojB)csC)slnD)suo3.运行C#程序可以通过按【A】键实现。A)F5B)Alt+F5C)Ctrl+F5D)Alt+Ctrl+F54.公共语言运行库可简写为(C)。A)MSILB)JITC)CLRD)MSDN5.NET编程语言不包括下面哪种语言?(D)A)VisualBasicB)VisualC++C)VisualC#D)JAVA第2章一.选择题1.在C#语言中,下列能够作为变量名的是【C】。A)ifB)3abC)a_3bD)a-bc2.在C#语言中,转义字符不可以表示【B】。A)任何字符B)字符串C)字母D)小数点3.表达式5/2+5%2-1的值是【B】。A)4B)2C)2.5D)3.54.下列数值类型的数据精度最高的是【C】。A)intB)floatC)decimalD)ulong5.在C#语言中,下面的运算符中,优先级最高的是【B】。A)%B)++C)*=D)6.能正确表示逻辑关系“a≥10或a≤0”的C#语言表达式是【D】。A)a=10ora=0B)a=10|a=0C)a=10&&a=0D)a=10||a=07.以下程序的输出结果是【C】。usingSystem;classProgram{publicstaticvoidMain(string[]args){inta=5,b=4,c=6,d;Console.WriteLine(“{0}”,d=ab?(ac?a:c):b);}}A)5B)4C)6D)不确定8.要使用变量score来存储学生某一门课程的成绩(百分制,可能出现小数部分),则最好将其定义为【C】类型的变量。A)intB)decimalC)floatD)double9.已定义下列变量:intn;floatf;doubledf;df=10;n=2;下列语句正确的是【C】。A)f=12.3;B)n=df;C)df=n=100;D)f=df;10.下列表达式或语句中,有语法错误的是【A】。A)n=12%3.0;(n为int型)B)12/3.0C)12/3D)‘a’’b’11.下面有关变量和常量的说法,正确的是【B】。A)在程序运行过程中,变量的值是不能改变的,而常量是可以改变的B)常量定义必须使用关键字constC)在给常量赋值的表达式中不能出现变量D)常量在内存中的存储单元是固定的,变量则是变动的12、下列类型转换中正确的是【A】(A)inti=’A’(B)longL=1.1f(C)inti=(float)1.1(D)inti=1.113、以下选项中,合法的赋值语句是(B)(A)inta==1(B)inti=1;intj=i++;(C)inta=a+1=2;(D)inti=int(j);14、下列运算符中属于关系运算符的是(A)(A)==(B)=(C)+=(D)-=15、阅读下面的程序,程序的运行结果为(C)inta=10,b=4,c=20,d=6;label1.Text=a++*b+c*--d;(A)144(B)160(C)140(D)16416、阅读下面的程序,程序的运行结果为(B)intx=3,y=4,z=5;Strings=”xyz”label1.Text=s+x+y+z;(A)xyz12(B)xyz345(C)xyzxyz(D)12xyz17、阅读下面的程序,程序的运行结果为(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二、程序改错题1、在编写贪吃蛇游戏中,使用变量输出贪吃蛇游戏当前的状态、运行速度、得分,参考程序如下,但该程序还存在一些错误,请调试改正。privatevoidbutton1_Click(objectsender,EventArgse){intspeed=0;intscore=0;Stringstatus=;label1.text=游戏正在进行....../n;speed=0;score=30;status=正常运行;label1.Text=label1.Text+当前速度:+speed+像素/秒;label1.Text+=label1.Text+当前得分:+score+分;label1.Text+=label1.Text+当前状态:+status;}2、模拟连连看游戏判断是否打破记录的程序,参考程序如下,但该程序还存在一些错误,请调试改正。privatevoidbutton1_Click(objectsender,EventArgse){inta=32;//代表原纪录intb=101;//代表新纪录intc=(ab)?打破记录:未打破记录;label1.Text=原记录:+a+\n;label1.Text+=新记录:\n+b+\n;label1.Text+=当前结构:\n+c+\n;}第3章一.选择题1.在C#语言中,if语句后面的表达式应该是【B】。A)逻辑表达式B)条件表达式C)关系表达式D)布尔类型的表达式2.在C#语言中,if语句后面的表达式,不能是【B】。A)逻辑表达式B)算数表达式C)关系表达式D)布尔类型的表达式3.在C#语言中,switch语句用【A】来处理不匹配case语句的值。A)defaultB)anyelseC)breakD)goto4.下列程序的输出结果是【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=25.以下叙述正确的是【D】。A)do……while语句构成的循环不能用其他语句构成的循环来代替B)do……while语句构成的循环只能用break语句结束循环C)用do……while语句构成的循环,在while后的表达式为true时结束循环D)用do……while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式6.以下关于for循环的说法不正确的是【A】。A)for循环只能用于循环次数已经确定的情况B)for循环是先判定表达式,后执行循环体C)在for循环中,可以用break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来7.以下关于if语句和switch语句的说法,正确的【CD】。A)如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句B)凡是能够使用if语句的地方就可以使用switch语句,反之亦然C)if语句有3种基本形式:if…、if…else…和if…elseif…else…D)if语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。8.以下关于for循环的说法,不正确的是【C】。A)for语句中的3个表达式都可以省略B)for语句中的3个表达式中,若第2个表达式的值为true,则执行循环体中的语句,直到第3个表达式的返回值为falseC)for语句中的3个表达式中,第2个表达式必须是布尔类型的表达式,其他两个可以是任意类型的表达式。D)for语句中的3个表达式中,第1个表达式执行且仅执行一次;每当循环体语句被执行后,第3个表达式都跟着被执行一次。9.C#提供的4种跳转语句中,不推荐使用的是【D】。A)returnB)breakC)continueD)goto10执行下列语句序列后,i和j的值分别是【C】inti=3,j=5;if(i-1j)i--;elsej--;A)2,4B)2,5C)3,4D)3,511下列语句序列执行后,j的值是【B】intj=5,i=6;while(i3)–j;A)1B)2C)3D)412以下for循环的执行次数是【B】for(inti=1;(i==1)&(i2);i++)A)无限次B)一次也不执行C)执行1次D)执行2次13以下由do-while语句构成的循环执行次数是【C】intm=1;do{++m}while(m1);A)有语法错误,不能执行B)一次也不执行C)执行1次D)执行2次二.改错题1、根据消费总额进行打折,消费总额在100元以上(含100元)时打7折,90元以上(含90元)100元以下时打8折,50元以上(含50元)90元以下时打9折,50元以下的不打折。参考程序如下,但是该参考程序有错误,请调试并改正。privatevoidbutton1_Click(objectsender,EventArgse){inttotalAmount=int.Parse(textBox1.Text);//消费总额if(totalAmount0){label1.Text=输入有误!;}Elseif(totalAmount=100){label1.Text=打7折;}Elseif(totalAmount90){label1.Text=打8折;}Elseif(totalAmount50){label1.Text=打9折;}Else{label1.Text=不打折;}}2、从键盘输入2012年的某一月份,打印出该月份的天数。参考程序如下,该参考程序还存在一定的错误,请调试改正。privatevoidbutton1_Click(objectsender,EventArgse){intday;intmonth=int.Parse(textBox1.Text);//月份switch(month){case1:case3:case5:case7:case8:case10:case12:;day=31;break;case4:case6:case9:case11:day=30;break;default:day=-1;break;}if(day==-1){label1.Text=无效输入;}else{label1.Text=2012年+month+月的共有+day+天;}}3、利用for循环打印出以下格式的内容,参考程序如下,但该参考程序有一定的错误,请调试改正。***************privatevoidbutton1_Click(objectsender,EventArgse){for(inti=5;i0;i--)//打印列{for(intj=0;ji;j++);//打印行并控制每行的*数量{label1.Text+=*}label1.Text+=\n}}第4章一.选择题1.下面哪个语句是创建数组的正确语句【C】。A)floatf[]=newfloat[6]B)floatf[6]=newfloat[6]C)float[]f=newfloat[6]D)floatf=newfloat[6]2.已知表达式int[]m={0,1,2,3,4,5,6},下面哪个表达式的值与数组的下标量总数相等【B】A)m.Length()B)m.LengthC)m.Length-1D)m.Length()-13.数组中各个元素的数据类型是【A】。A)相同的B)不同的C)部分相同的D)任意的4.语句int[]a=newint[12]定义了几个数组元素【A】。A)12B)13C)11D)0二.改错题1、编写用数组保存某个学生的三门课程的成绩的程序,参考程序如下,但该参考程序有一些错误,请调试改正。privatevoidbutton
本文标题:C#练习题及答案.
链接地址:https://www.777doc.com/doc-4227204 .html