C基础试题附答案Word文档下载推荐.docx

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

C基础试题附答案Word文档下载推荐.docx

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

C基础试题附答案Word文档下载推荐.docx

Max=c<

Max?

c:

Max;

A.OB.5C.10D.15

c

11、在C#中,关于continue和break,以卜说法正确的是()

Abreak是中断本次循环Bcontinue是中断本次循环,进入一下次的

循环

Cbreak是中断本次循坏,进入一下次的循环Dcontinue是中断整个循环

12、在C#中,关于while和do…while,以下说法正确的是()

Ewhile最少的循环次数是1次

Ddo...while最少的循坏次数是0

Awhile先执行然后判断条件是否成立cdo...while先执行然后判断条件是否成立次

13、在C#中,卞列变量定义与赋值正确的是()

Aiiita=同学Bfloata=老师Cdouble3=教室Dchara=,学,答案:

14、表达式“abcde”==Sbcde"

+”2006”的值为()

A.Tme2006B.trueC.falseD.0

D、overrides

15、在C#中定义类时,使用的关键字是(

A、interfaceE、intC、class

C二•写出下列程序的结果

1、

iiity=l.x;

if(y!

=0)

x=5;

elseif(y<

0)

x=4;

x=3;

Console.WriteLme(,,x={0}x);

}答案:

5

intx,v=0;

do

x=y++;

Console.WiiteLme(x);

}while(y<

6);

15

3、

classTest

staticvoid)

intx=5;

intv=x-

Console.WriteLme(ny={0}v);

y=--x;

5,5

4、

publicstaticvoidMainQ

staticint[]a={1,2,3,4,5,6,7,8};

iiitsO.si,s2;

s0=sl=s2=0;

for(inti=0;

i<

8;

i++)

switch(a[i]%3)

case0:

sO+=Test.a[i];

break;

case1:

si+=Test.a[i];

case2:

s2+=Test.a[i];

Console.WnteLme(sO+””+si+"

+s2);

9+12+13

5、

usingSystem;

publicstaticvoidMamQ

ints=0,i=l;

for(;

i++)

if(s>

50)break;

if(i%2==0)s+=i;

Console.writeLiiie(”i,s=M+i++s);

答案:

14,S=2+4+6…+14、566、写出下列函数的功能。

staticfloatFH()

floaty=0卫=0;

intx=Convert.ToInt32(Coiisole.ReadLineO);

//从键盘读入整型数据赋给x

wliile(x!

=・l)

n++;

y+=x;

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

if(n=0)

returny;

returny/n;

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

7、

publicstaticvoidMainQ

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

for(mti=0;

9;

Console,write(“,,+a[i]);

if((i+l)%3==0)Console.writeLineQ;

246

81012

141618

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

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

:

)把最人数找出来。

答案:

Console.Wnte(”请输入三个数:

"

);

mta-int.Parse(Console.ReadLmeQ);

mtb-int.Parse(Console.ReadLineO);

mtc-mt.Parse(Console.ReadLineO);

mtmax-a;

mts-Max(a,b,c);

Console.WiiteLineC结果为:

{0}”,s);

Console.ReadKey();

staticuitMax(mta,mtbantc)

intmax:

max-a>

b?

a:

b;

max-max>

c?

max:

c;

returnmax;

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

Console.WriteC输入字符:

°

);

chaic-chai.Parse(Console.ReadLmeQ);

chais-Cliange(c);

Console.WriteLine(M{0}s);

Console.ReadKeyO;

staticcharChange(charc)

if(c>

-W&

&

cZ)

c-Convert.ToChar(c+32);

returnc;

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

Console.WnteC输入字符”);

chaic-char.Parse(Console.ReadLmeQ);

Console.WnteLme(M{0}H,Judge(c));

staticmtJudge(charc)

intb:

b-0;

elseif(ca3&

b-1;

elseif(cx48&

c<

-57)

b-2;

b・3;

returnb;

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

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

而12.46经过四舍五入运算,得到结果12o

Console.Wnte(u输入一个正数:

doublea-double.Parse(Coiisole.ReadLine());

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

staticmtCount(doublea)

intb-(int)a;

if(a>

-0)

if(n・b>

-0.5)

b-b±

l;

5、编一个程序,输入0-100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格

(59以下))。

staticvoidMam(stimg[]aigs)

ScoreQ;

staticvoidScoreQ

mtscore-mtPaise(Console.ReadLineQ);

ints-score/10:

mta;

if(s>

-9&

sJ10)

a-0;

elseif(s>

-8&

s<

9)

a-1;

-6&

8)

a-2;

else

a-3;

switch(a)

Console.WnteLme(n成绩优秀”);

break:

Console.WnteLme(n成绩良好”);

Console.WnteLme(n成绩及格

default:

Console.WnteLme(n成绩不及格”);

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

Conso2.WmeCsimi・”);

doublesum-1;

Console.WnteLme(M{0}”,Sum());

staticdoubleSum()

double1-1;

while(i<

-100)

sum十・i/(i十1);

i-i+1;

returnsum;

7、编写一个程序,用wlule语句,求出1+(1+2)+(1+2+3)+・・・+(1+2+3+・・・+10)之和。

mtsum-0;

Console.WriteC和为:

M);

Console.WnteLme(M{0},\Sum());

staticmtSum()

int1-1;

mta-0;

while(1<

-10)

a-a+i;

sum-sum十a:

i-i+1;

8、有关系式1*1+2*2+3*3+...+k*k<

2000,编一个程序,求出满足此关系式的k的最人值。

{intsum-0;

Console.WnteLme(M最大值为:

{0}”,Max(j);

staticmtMax()

mtk-1;

vvhile(sum<

2000)

sum+-k*k;

k^+;

returnk-1;

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

Quee();

staticvoidQueeQ

for(inti-1;

-100;

i卄)

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

if(i%5—0)

Console.WnteLine(j;

i卄;

return;

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

ChengfabiaoQ;

staticvoidCliengfabiaoQ

for(inti-1;

-9;

for(intj-1;

j<

-i;

j卄)

Console.Write(M{0}♦{1)-{2}

Console.WriteLmeQ;

1K编一个程序,利用f0T循坏语句,求出1!

+2!

+3!

+・・・+10!

的和。

Console.WnteLme(H{0}”,Sum());

inta-1;

-10;

a-a*i;

sum-sum十a;

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

Console.Wnte(M请输入字符串:

*);

stringstr■Console.ReadLmeQ;

Console.Wnte(M请输入字符:

”);

chaic-char.Parse(Console.ReadLme());

ints-Str(str.c);

Console.WnteLme(M{0}s);

staticmtStr(stimgstr,charc)

mta-0:

for(int1-0;

i<

str.Length;

i卄){

if(str[i]—c)

a++;

returna;

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

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

Console.WnteLme(M{0}”,Math());

staticmtMath()

mta-mt.Parse(Console.ReadLineQ);

intb-0;

intc-1;

if(a<

0)

b--a;

if(a>

b-a;

while(b>

b-b/10;

C++;

returnc;

四、面向对彖

1、定义一个车辆(Vehicle)基类,具有Run、Stop等方法,具有Speed(速度)、MaxSpeed(最人速度)、Weight(重量)等域。

然后以该类为基类,派生出BicycleCar等类。

并编程对该派生类的功能进行验证。

基类:

classVehicle

publicdoubleSpeed;

publicdoubleMaxspeed;

publicdoubleWeiglit;

publicvoidRun()

Console.WnteLine(M我跑°

publicvoidStop()

Console.\VnteLme(H我停。

”);

派生类:

classBicyclezVelucle

classCar:

Vehicle

对派生类功能的验证:

staticvoidMam(strmg[]args)

Bicyclep-newBicycleQ;

р.RunQ;

Carc■newCarQ;

с.StopQ;

Console.ReadKeyO:

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

1)输出字符串的长度。

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

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

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

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

Console.WriteC输入字符:

stringstr-Console.ReadLmeQ;

while(str.Length<

-3)

str-Console.ReadLmeQ;

Console.WriteC'

字符串的个数:

Console.WnteLuie("

str.Length);

mtindex-strIndexOf('

a'

if(mdex>

-0)

ConsoleAVriteC*出现字符a的位蜀:

“);

Console.WnteLineC*{0}index);

Console.WriteLine(M字符串中不含字符:

T);

stringstrl-”hello"

+str.Substring(3);

Console.Wnte(°

Hl现新字符串:

M);

Console.WnteLme(stil);

strl-strl.Replace(MhelloH;

meH);

Console.\Vnte(°

^换后的字符串:

H);

Console.WnteLme(strl);

string[]str2-stil.SplitCm*);

for(mt1-0;

str2.Length;

计十)

Console.Write(吩割后的字符串:

J;

Consoie.WiiteLme(str2[i]);

Console.ReadKeyQ;

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

1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值后加10后的结果。

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

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

并输出结果。

classA

publicviruialvoidMyMethod(intnum)

num+-10;

Console.WnteLine(M{0},\num);

classB:

publicovenidevoidMyMethod(mtnum)

num十・50;

Aa-newAQ;

a.MyMethod(3);

Bb-newBQ;

b.MyMethod(S);

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

classCalculate1

publicvirtualvoidMix(inta,intb)

Console.Wnte(H运算符为「);

strings-Console.ReadLineQ:

intc;

if(s

c-a+b;

Console.WriteLme(u{0}c);

elseif(s—

c-a-b;

Console.WriteLme(M{0}c);

publicovenidevoidMix(mta.intb)

Console.WriteCis算符为:

H);

strings-Console.ReadLineQ;

mtc;

c-a*b;

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

c-a/b;

Console.WiiteLme(H{0}c);

}

Calculate1c-newCalculateIQ;

c.Mix(3,4);

Calulate2d-newCalulate2(j;

d.Mix(&

4);

5、编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。

然后对Person类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩。

最后在Mam函数中对student类的功能进行验证。

classPerson

publicstungName;

publicintAge;

publicstungSex:

classStudentzPerson

publicdoubleAvg()

mt[]Score-newint[5]{23,34,56,78,90};

int1-0;

intsum-0;

while(i<

5)

sum十-Scoiefi];

retum(double)sum/5;

Students-newStudentQ;

Console.WriteC1姓名:

s.Narne-”张三"

Console.WriteLine(M{0}H,s.Name);

Console.Write(H年龄:

s.Age-19;

Console.WnteLme(H{0}H,s.Age);

Console.WriteC性别:

s.Sex-°

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

当前位置:首页 > 高等教育 > 历史学

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

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