C#基础试题附答案.docx

上传人:b****5 文档编号:6007356 上传时间:2023-01-02 格式:DOCX 页数:22 大小:21.09KB
下载 相关 举报
C#基础试题附答案.docx_第1页
第1页 / 共22页
C#基础试题附答案.docx_第2页
第2页 / 共22页
C#基础试题附答案.docx_第3页
第3页 / 共22页
C#基础试题附答案.docx_第4页
第4页 / 共22页
C#基础试题附答案.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C#基础试题附答案.docx

《C#基础试题附答案.docx》由会员分享,可在线阅读,更多相关《C#基础试题附答案.docx(22页珍藏版)》请在冰豆网上搜索。

C#基础试题附答案.docx

C#基础试题附答案

一、选择题

1、能作为C#程序的基本单位是()。

A.字符B.语句C.函数D.源程序文件

答案:

B

2、将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。

A.Str()B.CcharC.CStr()D.int.Parse();

答案:

D

3、数据类型转换的类是()。

A.ModB.ConvertC.ConstD.Single

答案:

B

4、字符串连接运算符包括&和()。

A.+B.-C.*D./

答案:

A

5、先判断条件的当循环语句是()。

A.do...whileB.whileC.while...doD.do...loop

答案:

B

6、下面几个函数,()是重载函数.

1.voidf1(int)2.intf1(int)3.intf1(int,int)4.floatk(int)

A.四个全B.1和4C.2和3D.3和4

答案:

C

8、以下的C#代码:

staticvoidMain(string[]args)

{

  Console.WriteLine("运行结果:

{0}",Console.ReadLine());

  Console.ReadLine();

}       

代码运行结果为()。

A.在控制台窗口显示“运行结果:

B.在控制台窗口显示“运行结果:

{0}”

C.在控制台窗口显示“运行结果:

,Console.ReadLine”

D.如果用户在控制台输入“A”,那么程序将在控制台显示“运行结果:

A”

答案:

D

9、在C#中定义一个数组,正确的代码为()。

A.intarraya=newint[5];B.int[]arraya=newint[5];

C.intarraya=newint[];D.int[5]arraya=newint;

答案:

B

10、在C#中,下列代码运行后,变量Max的值是()(选择一项)Inta=5,b=10,c=15,Max=0;

      Max=a>b?

a:

b;

      Max=c

c:

Max;

A.0B.5C.10D.15

答案:

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;

}

Console.WriteLine("x={0}”,x);

}

答案:

5

2、

{

intx,y=0;

do

{

x=y++;

Console.WriteLine(x);

}while(y<6);

}

答案:

15

3、

classTest

{

staticvoidMain()

{

intx=5;

inty=x--;

Console.WriteLine("y={0}",y);

y=--x;

Console.WriteLine("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+=Test.a[i];break;

      case 1:

s1+=Test.a[i];break;

      case 2:

s2+=Test.a[i];break;

 }

}

    Console.WriteLine(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;

}

Console.writeLine("i,s="+i+","+s);

}  

}

答案:

14,S=2+4+6...+14,56

6、写出下列函数的功能。

staticfloatFH()

{

   floaty=0,n=0;

   intx=Convert.ToInt32(Console.ReadLine());//从键盘读入整型数据赋给x

   while(x!

=-1)

{

      n++;y+=x;

      x=Convert.ToInt32(Console.ReadLine());

   }

if(n==0)

{

returny;

}

else

{

returny/n;

}

}

答案:

从键盘中输入输入整型数只要不是-1就求和,不输入数就返回0,否则求这几个数的的平均值。

7、

usingSystem;

classTest

{

publicstaticvoidMain()

{

    int[]a={2,4,6,8,10,12,14,16,18};

    for(inti=0;i<9;i++)

{

       Console.write(“”+a[i]);

       if((i+1)%3==0)Console.writeLine();

    }

}

}

答案:

246

81012

141618

三、编程题(全部把功能写到自定义函数里)

1、编一个程序,从键盘上输入三个数,用三元运算符(?

:

)把最大数找出来。

答案:

{

Console.Write("请输入三个数:

");

inta=int.Parse(Console.ReadLine());

intb=int.Parse(Console.ReadLine());

intc=int.Parse(Console.ReadLine());

intmax=a;

ints=Max(a,b,c);

Console.WriteLine("结果为:

{0}",s);

Console.ReadKey();

}

staticintMax(inta,intb,intc)

{

intmax;

max=a>b?

a:

b;

max=max>c?

max:

c;

returnmax;

}

2、编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。

答案:

{

Console.Write("输入字符:

");

charc=char.Parse(Console.ReadLine());

chars=Change(c);

Console.WriteLine("{0}",s);

Console.ReadKey();

}

staticcharChange(charc)

{

if(c>='A'&&c<='Z')

{

c=Convert.ToChar(c+32);

}

returnc;

}

3、输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)

答案:

{

Console.Write("输入字符");

charc=char.Parse(Console.ReadLine());

Console.WriteLine("{0}",Judge(c));

Console.ReadKey();

}

staticintJudge(charc)

{

intb;

if(c>='A'&&c<='Z')

{

b=0;

}

elseif(c>='a'&&c<='z')

{

b=1;

}

elseif(c>=48&&c<=57)

{

b=2;

}

else

{

b=3;

}

returnb;

}

4、编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。

例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,

得到结果12。

答案:

{

Console.Write("输入一个正数:

");

doublea=double.Parse(Console.ReadLine());

Console.WriteLine("{0}",Count(a));

Console.ReadKey();

}

staticintCount(doublea)

{

intb=(int)a;

if(a>=0)

{

if(a-b>=0.5)

{

b=b+1;

}

}

returnb;

}

5、编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第

(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格

(59以下))。

答案:

staticvoidMain(string[]args)

{

Score();

Console.ReadKey();

}

staticvoidScore()

{

intscore=int.Parse(Console.ReadLine());

ints=score/10;

inta;

if(s>=9&&s<=10)

{

a=0;

}

elseif(s>=8&&s<9)

{

a=1;

}

elseif(s>=6&&s<8)

{

a=2;

}

else

{

a=3;

}

switch(a)

{

case0:

Console.WriteLine("成绩优秀");

break;

break;

case1:

Console.WriteLine("成绩良好");

break;

case2:

Console.WriteLine("成绩及格");

break;

default:

Console.WriteLine("成绩不及格");

break;

}

6、编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

答案:

{

Console.Write("sum=");

doublesum=1;

Console.WriteLine("{0}",Sum());

Console.ReadKey();

}

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;

Console.Write("和为:

");

Console.WriteLine("{0}",Sum());

Console.ReadKey();

}

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;

Console.WriteLine("最大值为:

{0}",Max());

Console.ReadKey();

}

staticintMax()

{

intsum=0;

intk=1;

while(sum<2000)

{

sum+=k*k;

k++;

}

returnk-1;

}

9、编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。

答案:

{

Quee();

Console.ReadKey();

}

staticvoidQuee()

{

for(inti=1;i<=100;i++)

{

Console.Write("{0}",i);

if(i%5==0)

{

Console.WriteLine();

i++;

}

}

return;

}

10、编一个程序,利用二重for循环语句,打印出九九乘法口诀表。

答案:

{

Chengfabiao();

Console.ReadKey();

}

staticvoidChengfabiao()

{

for(inti=1;i<=9;i++)

{

for(intj=1;j<=i;j++)

{

Console.Write("{0}*{1}={2}",j,i,i*j);

}

Console.WriteLine();

}

return;

}

11、编一个程序,利用for循环语句,求出1!

+2!

+3!

+...+10!

的和。

答案:

{

intsum=0;

Console.WriteLine("{0}",Sum());

Console.ReadKey();

}

staticintSum()

{

intsum=0;

inta=1;

for(inti=1;i<=10;i++)

{

a=a*i;

sum=sum+a;

}

returnsum;

}

13、编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。

答案:

{

Console.Write("请输入字符串:

");

stringstr=Console.ReadLine();

Console.Write("请输入字符:

");

charc=char.Parse(Console.ReadLine());

ints=Str(str,c);

Console.WriteLine("{0}",s);

Console.ReadKey();

}

staticintStr(stringstr,charc)

{

inta=0;

for(inti=0;i

{

if(str[i]==c)

{

a++;

}

}

returna;

}

15、编一个程序,输入一个整数,判定它为几位数。

例如,99是2位数,-100是3位数。

答案:

{

Console.WriteLine("{0}",Math());

Console.ReadKey();

}

staticintMath()

{

inta=int.Parse(Console.ReadLine());

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()

{

Console.WriteLine("我跑。

");

}

publicvoidStop()

{

Console.WriteLine("我停。

");

}

派生类:

classBicycle:

Vehicle

{

}

classCar:

Vehicle

{

}

对派生类功能的验证:

staticvoidMain(string[]args)

{

Bicyclep=newBicycle();

p.Run();

Carc=newCar();

c.Stop();

Console.ReadKey();

}

2、写一个控制台应用程序,接收一个长度大于3的字符串,完成下列功能:

1)输出字符串的长度。

2)输出字符串中第一个出现字母a的位置。

3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。

4)将字符串“hello”替换为“me”,输出新字符串。

5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。

答案:

{

Console.Write("输入字符:

");

stringstr=Console.ReadLine();

while(str.Length<=3)

{

str=Console.ReadLine();

}

Console.Write("字符串的个数:

");

Console.WriteLine("{0}",str.Length);

intindex=str.IndexOf('a');

if(index>=0)

{

Console.Write("出现字符a的位置:

");

Console.WriteLine("{0}",index);

}

else

{

Console.WriteLine("字符串中不含字符a");

}

stringstr1="hello"+str.Substring(3);

Console.Write("出现新字符串:

");

Console.WriteLine(str1);

str1=str1.Replace("hello","me");

Console.Write("替换后的字符串:

");

Console.WriteLine(str1);

string[]str2=str1.Split('m');

for(inti=0;i

{

Console.Write("分割后的字符串:

");

Console.WriteLine(str2[i]);

}

Console.ReadKey();

}

3、编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。

1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,

并在该方法中输出传递的整型值后加10后的结果。

2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,

}

3)在Main方法中分别创建A和类B的对象,并分别调用MyMethod方法。

答案:

并输出结果。

classA

{

publicvirtualvoidMyMethod(intnum)

{

num+=10;

Console.WriteLine("{0}",num);

}

classB:

A

{

publicoverridevoidMyMethod(intnum)

{

num+=50;

Console.WriteLine("{0}",num);

}

{

Aa=newA();

a.MyMethod(3);

Bb=newB();

b.MyMethod(8);

Console.ReadKey();

4编写一个类Calculate1,实现加、减两种运算,然后,编写另一个派生类Calculate2,实现乘、除两种运算。

classCalculate1

{

publicvirtualvoidMix(inta,intb)

{

Console.Write("运算符为:

");

strings=Console.ReadLine();

intc;

if(s=="+")

{

c=a+b;

Console.WriteLine("{0}",c);

}

elseif(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1