C#基础试题附答案.docx
- 文档编号:27788427
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:20
- 大小:18.73KB
C#基础试题附答案.docx
《C#基础试题附答案.docx》由会员分享,可在线阅读,更多相关《C#基础试题附答案.docx(20页珍藏版)》请在冰豆网上搜索。
C#基础试题附答案
一、选择题
1、能作为C#程序的基本单位是()。
A.字符B.语句C.函数D.源程序文件
答案:
B
2、将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。
()()答案:
D
3、数据类型转换的类是()。
C.ConstD.Single
答案:
B
4、字符串连接运算符包括&和()。
A.+B.-C.*D./
答案:
A
5、先判断条件的当循环语句是()。
A.do...whileB.whileC.while...doD.do...loop
答案:
B
6、下面几个函数,()是重载函数.
f1(int)f1(int)f1(int,int)k(int)
A.四个全和4和3和4
答案:
C
8、以下的C#代码:
staticvoidMain(string[]args)
{
("运行结果:
{0}",());
();
}
代码运行结果为()。
A.在控制台窗口显示“运行结果:
”
B.在控制台窗口显示“运行结果:
{0}”
C.在控制台窗口显示“运行结果:
,Console.ReadLine”
D.如果用户在控制台输入“A”,那么程序将在控制台显示“运行结果:
A”
答案:
D
9、在C#中定义一个数组,正确的代码为()。
arraya=newint[5];[]arraya=newint[5];
arraya=newint[];[5]arraya=newint;
答案:
B
10、在C#中,下列代码运行后,变量Max的值是()(选择一项)Inta=5,b=10,c=15,Max=0;
Max=a>ba:
b;
Max=c Max; 答案: C 11、在C#中,关于continue和break,以下说法正确的是( ) Abreak是中断本次循环Bcontinue是中断本次循环,进入一下次的循环 Cbreak是中断本次循环,进入一下次的循环Dcontinue是中断整个循环 答案: A 12、在C#中,关于while和do…while,以下说法正确的是( ) Awhile先执行然后判断条件是否成立Bwhile最少的循环次数是1次 Cdo…while先执行然后判断条件是否成立Ddo…while最少的循环次数是0次 答案: C 13、在C#中,下列变量定义与赋值正确的是( ) Ainta=同学 Bfloata=老师Cdoublea=教室 Dchara=’学’ 答案: D 14、表达式“abcde”==”abcde”+”2006”的值为() A.True2006B.trueC.falseD.0 答案: C 15、在C#中定义类时,使用的关键字是() A、interfaceB、intC、classD、overrides 答案: C 二.写出下列程序的结果 1、 { inty=1,x; if(y! =0) { x=5; } elseif(y<0) { x=4; } else { x=3; } ("x={0}”,x); } 答案: 5 2、 { intx,y=0; do { x=y++; (x); }while(y<6); } 答案: 15 3、 classTest { staticvoidMain() { intx=5; inty=x--; ("y={0}",y); y=--x; ("y={0}",y); } } 答案: 5,5 4、 classTest { public staticvoidMain() { static int[]a={1,2,3,4,5,6,7,8}; int s0,s1,s2; s0=s1=s2=0; for (inti=0;i<8;i++) { switch (a[i]%3) { case 0: s0+=[i];break; case 1: s1+=[i];break; case 2: s2+=[i];break; } } (s0 +""+s1+""+s2); } } 答案: 9+12+13 5、 usingSystem; classTest { public staticvoidMain() { ints=0,i=1; for(; ;i++) { if(s>50) break; if(i%2==0) s+=i; } ("i,s="+i+","+s); } } 答案: 14,S=2+4+6...+14,56 6、写出下列函数的功能。 staticfloatFH() { floaty=0,n=0; 6、 intx=());.+99/100之和。 答案: { ("sum="); doublesum=1; ("{0}",Sum()); (); } staticdoubleSum() { doublesum=1; doublei=1; while(i<=100) { sum+=i/(i+1); i=i+1; } returnsum; } 7、编写一个程序,用while语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10)之和。 答案: { intsum=0; ("和为: "); ("{0}",Sum()); (); } staticintSum() { intsum=0; inti=1; inta=0; while(i<=10) { a=a+i; sum=sum+a; i=i+1; } returnsum; } 8、有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值。 答案: {intsum=0; ("最大值为: {0}",Max()); (); } staticintMax() { intsum=0; intk=1; while(sum<2000) { sum+=k*k; k++; } returnk-1; } 9、编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。 答案: { Quee(); (); } staticvoidQuee() { for(inti=1;i<=100;i++) { ("{0}",i); if(i%5==0) { (); i++; } } return; } 10、编一个程序,利用二重for循环语句,打印出九九乘法口诀表。 答案: { Chengfabiao(); (); } staticvoidChengfabiao() { for(inti=1;i<=9;i++) { for(intj=1;j<=i;j++) { ("{0}*{1}={2}",j,i,i*j); } (); } return; } 11、编一个程序,利用for循环语句,求出1! +2! +3! +...+10! 的和。 答案: { intsum=0; ("{0}",Sum()); (); } staticintSum() { intsum=0; inta=1; for(inti=1;i<=10;i++) { a=a*i; sum=sum+a; } returnsum; } 13、编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。 答案: { ("请输入字符串: "); stringstr=(); ("请输入字符: "); charc=()); ints=Str(str,c); ("{0}",s); (); } staticintStr(stringstr,charc) { inta=0; for(inti=0;i<;i++) { if(str[i]==c) { a++; } } returna; } 15、编一个程序,输入一个整数,判定它为几位数。 例如,99是2位数,-100是3位数。 答案: { ("{0}",Math()); (); } staticintMath() { inta=()); intb=0; intc=1; if(a<0) { b=-a; } if(a>0) { b=a; } while(b>=10) { b=b/10; c++; } returnc; } 四、面向对象 1、定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、 MaxSpeed(最大速度)、Weight(重量)等域。 然后以该类为基类,派生出Bicycle、Car等类。 并编程对该派生类的功能进行验证。 答案: 基类: classVehicle { publicdoubleSpeed; publicdoubleMaxspeed; publicdoubleWeight; publicvoidRun() { ("我跑。 。 。 。 。 "); } publicvoidStop() { ("我停。 。 。 。 。 "); } 派生类: classBicycle: Vehicle { } classCar: Vehicle { } 对派生类功能的验证: staticvoidMain(string[]args) { Bicyclep=newBicycle(); (); Carc=newCar(); (); (); } 2、写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能: 1)输出字符串的长度。 2)输出字符串中第一个出现字母a的位置。 3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4)将字符串“hello”替换为“me”,输出新字符串。 5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。 答案: { ("输入字符: "); stringstr=(); while<=3) { str=(); } ("字符串的个数: "); ("{0}",; intindex=('a'); if(index>=0) { ("出现字符a的位置: "); ("{0}",index); } else { ("字符串中不含字符a"); } stringstr1="hello"+(3); ("出现新字符串: "); (str1); str1=("hello","me"); ("替换后的字符串: "); (str1); string[]str2=('m'); for(inti=0;i<;i++) { ("分割后的字符串: "); (str2[i]); } (); } 3、编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。 1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod, 并在该方法中输出传递的整型值后加10后的结果。 2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50, } 3)在Main方法中分别创建A和类B的对象,并分别调用MyMethod方法。 答案: 并输出结果。 classA { publicvirtualvoidMyMethod(intnum) { num+=10; ("{0}",num); } classB: A { publicoverridevoidMyMethod(intnum) { num+=50; ("{0}",num); } { Aa=newA(); (3); Bb=newB(); (8); (); 4编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。 classCalculate1 { publicvirtualvoidMix(inta,intb) { ("运算符为: "); strings=(); intc; if(s=="+") { c=a+b; ("{0}",c); } elseif(s=="-") { c=a-b; ("{0}",c); } } publicoverridevoidMix(inta,intb) { ("运算符为: "); strings=(); intc; if(s=="*") { c=a*b; ("{0}",c); } elseif(s=="/") { c=a/b; ("{0}",c); } } { Calculate1c=newCalculate1(); (3,4); Calulate2d=newCalulate2(); (8,4); (); } 5、编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。 然后对Person类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩。 最后在Main函数中对student类的功能进行验证。 classPerson { publicstringName; publicintAge; publicstringSex; } classStudent: Person { publicdoubleAvg() { int[]Score=newint[5]{23,34,56,78,90}; inti=0; intsum=0; while(i<5) { sum+=Score[i]; i++; } return(double)sum/5; } { Students=newStudent(); ("姓名: "); ="张三"; ("{0}",; ("年龄: "); =19; ("{0}",; ("性别: "); ="男"; ("{0}",; ("成绩: "); ("{0}",()); (); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 基础 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)