全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx

上传人:b****8 文档编号:11282813 上传时间:2023-02-26 格式:DOCX 页数:62 大小:24.07KB
下载 相关 举报
全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx_第1页
第1页 / 共62页
全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx_第2页
第2页 / 共62页
全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx_第3页
第3页 / 共62页
全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx_第4页
第4页 / 共62页
全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx_第5页
第5页 / 共62页
点击查看更多>>
下载资源
资源描述

全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx

《全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx(62页珍藏版)》请在冰豆网上搜索。

全国计算机等级考试二级教程 C语言程序设计课后习题答案.docx

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案

第一章

1.1EXE

1.2COBJEXE

1.3顺序选择循环

第二章

一.选择题

2.1B2.2D2.3B2.4A2.5C2.6A2.7B

2.8B2.9D2.10C2.11B2.12B2.13A

二.填空题

2.141112

2.154.24.2

2.16{}定义执行语句

2.17关键字用户标识符

2.18intfloatdouble

2.19floata1=1;floata2=1;

2.20存储单元

2.213.5

2.22(a*b)/ca*b/ca/c*b

2.23把常量10赋给变量s

2.24位1或0

2.2581270111111-12810000000

2.2632767-327681000000000000000

2.2710816

三.上机改错题

2.28

#includestdio.h;删除行尾的;

main();/*mainfunction*/删除?

后的;,注释中的*要紧靠“/”,即应为“/*”和“*/”

函数开始处遗失了一个“{”

floatr,s;/*/*risradius*/,/*sisareaofcircuilar*/*/注释符号不可嵌套使用

r=5.0;

s=3.14159*r*r;

printf(%f\n,s)行尾遗失了“;”

函数结束处遗失了一个“}”

2.29

#includestdio.h

main/*mainfunction*/main后遗失了“()”

{

floata,b,c,v;/*a,b,caresides,visvolumeofcube*/

”;行尾遗失了“a=2.0;b=3.0;c=4.0

v=a*b*c;

printf(%f\n,v)行尾遗失了“;”

}

第三章

一.选择题

3.1C3.2C3.3D3.4C3.5D3.6B3.7C3.8D3.9A3.10B

3.11C3.12D3.13D3.14A3.15C3.16C3.17C3.18无答案3.19C3.20B

二.填空题

3.21

(1)-2002500

(2)i=-200,j=2500

(3)i=-200

j=2500

3.221200

3.23一条语句;

3.24;

3.25100,25.81,1.8923410025.811.8923410025.811.89234

3.26x=127,x=127,x=177,x=7f,x=127

3.27x=127,x=127,x=$127,x=$000127,x=d

3.28a=513.789215,a=513.79,a=513.78921500,a=513.78921500

三.编程题和改错题

3.29修改后的程序如下:

main()

{

doublea,b,c,s,v;

printf(inputa,b,c:

);

scanf(%lf%lf%lf,&a,&b,&c);

s=a*b;

v=a*b*c;

printf(a=%f,b=%f,c=%f\n,a,b,c);

printf(s=%f,v=%f\n,s,v);

}

3.30

#include

main()

{

inta=560,b=60;

printf(.0minuteis%dhourand%dminute.\n,a/b,a%b);

}

3.31

#include

main()

{

inta,b;

a=1500;b=350;

printf(adivbis:

%d\n,a/b);

printf(amodbis:

%d\n,a%b);

}

3.32

#include

main()

{

doublea,b,c,ave;

printf(input3doublenumber:

\n);

scanf(%lf%lf%lf,&a,&b,&c);

printf(%.1f\n,(a+b+c)/3);

}

3.33

#include

voidmain()

{

inta,b,c,t;

牰湩晴尨请依次输入整数a,b,c:

);

scanf(%d%d%d,&a,&b,&c);

printf(\

你输入的值是:

a=%d,b=%d,c=%d\n,a,b,c);

t=b;b=a;a=c;c=t;

牰湩晴尨交换之后的值是:

a=%d,b=%d,c=%d\n,a,b,c);

}

第四章

一.选择题

4.1A4.2A4.3A4.4D4.5C4.6A4.7B4.8C4.9D4.10C

二.填空题

4.11非00

4.12<>>=<=同级==!

=同级

4.13!

&&||

4.15!

4.16a==b||a4||x<-4

4.171

4.18x<=01>0

4.19322

4.20*#

三.编程题

4.21略

4.22

#include

/*检查日期的合法性*/

intcheckdate(intyear,intmonth,intday)

{

if(year<1900||year>2005)

{

牰湩晴尨输入的年份无效!

\n);

return0;

}

elseif(month<0&&month>12)

{

牰湩晴尨输入的月份无效!

\n);

return0;

}

elseif(day<=0&&day>31)

{

牰湩晴尨输入的日期无效!

\n);

return0;

}

else

{

switch(month)

{

case4:

case6:

case9:

case11:

if(day>30)

{

牰湩晴尨输入的日期无效!

\n);

return0;

}

break;

case2:

if((year%4==0&&year_x0010_0!

=0)||year@0==0)

{

if(day>29)

{

牰湩晴尨输入的日期无效!

\n);

return0;

}

}

else

{

if(day>28)

{

牰湩晴尨输入的出生日期无效!

\n);

return0;

}

}

break;

}/*endofswitch(m0)*/

}

return1;

}

voidmain()

{

inty0,m0,d0;/*生日*/

inty1,m1,d1;/*当前日期*/

intyears,months,days;/*实足年龄*/

牰湩晴尨请输入学生的生日:

);

scanf(%d%d%d,&y0,&m0,&d0);

if(checkdate(y0,m0,d0))

{

牰湩晴尨请输入当前日期:

);

scanf(%d%d%d,&y1,&m1,&d1);

/*当前日期合法性检查*/

if(!

checkdate(y1,m1,d1))

{

return;

}

elseif(y0>y1)

{

牰湩晴尨出生年份比当前年份晚!

\n);

return;

}

elseif(y0==y1)

{

if(m0>m1)

{

牰湩晴尨出生年月比当前年月晚!

\n);

return;

}

elseif(m0==m1)

{

if(d0>d1)

{

牰湩晴尨出生年月日比当前年月日晚!

\n);

return;

}

}

}

}

/*计算实足年龄*/

years=y1-y0;

months=m1-m0;

days=d1-d0;

/*修正实足年龄天数*/

if(days<0)

{

months--;

switch(m1)

{

case1:

case5:

case7:

case10:

case12:

days+=30;

break;

case2:

case4:

case6:

case8:

case9:

case11:

days+=31;

break;

case3:

if((y1%4==0&&y1_x0010_0!

=0)||y1@0==0)

{

days+=29;

}

else

{

days+=28;

}

break;

}/*endofswitch(m1)*/

}/*endofif(days<0)*/

/*修正实足年龄月数*/

if(months<0)

{

months+=12;

years--;

}/*endofif(months<0)*/

牰湩晴尨出生日期:

%d年%d月%d日\n,y0,m0,d0);

牰湩晴尨当前日期:

%d年%d月%d日\n,y1,m1,d1);

牰湩晴尨实足年龄:

%d年%d月%d日\n,years,months,days);

return;

}

4.23

#include

voidmain()

{

inta;

牰湩晴?

请输入一个整数:

);

scanf(%d,&a);

if(a%2==0)

{

printf(%d是偶数\n,a);

}

else

{

printf(%d是奇数\n,a);

}

}

4.24

#include

voidmain()

{

inta,b,c,temp,max;

牰湩晴?

请输入三个整数:

);

scanf(%d%d%d,&a,&b,&c);

temp=(a>b)?

a:

b;

max=(temp>c)?

temp:

c;

printf(\

);

牰湩晴?

你输入的数中最大的是%d.\n,max);

}

4.25

(1)不嵌套的if语句

#include

voidmain()

{

intx,y;

printf(inputx:

);

scanf(%d,&x);

if(x>-5&&x<0)

{

printf(yis%d\n,y=x);

}

if(x==0)

{

printf(yis%d\n,y=x-1);

}

if(x>0&&x<10)

{

printf(yis%d\n,y=x+1);

}

if(x>=10||x<=-5)

{

printf(error\n);

}

}

(2)嵌套的if语句

#include

voidmain()

{

intx,y;

printf(inputx:

);

scanf(%d,&x);

printf(\

);

if(x<0)

{

if(x>-5)

{

printf(yis%d.\n,y=x);

}

else

{

printf(error!

\n);

}

}

if(0==x)

{

printf(yis%d.\n,y=x-1);

}

if(x>0)

{

if(x<10)

{

printf(yis%d.\n,y=x+1);

}

else

{

printf(error!

\n);

}

}

}

(3)if_else语句

#include

voidmain()

{

intx,y;

printf(inputx:

);

scanf(%d,&x);

if(x>-5&&x<0)

{

printf(yis%d.\n,y=x);

}

elseif(x==0)

{

printf(yis%d.\n,y=x-1);

}

elseif(x>0&&x<10)

{

printf(yis%d.\n,y=x+1);

}

else

{

printf(error!

\n);

}

}

(4)switch语句

#include

voidmain()

{

intx,y;

printf(inputx:

);

scanf(%d,&x);

switch(x)

{

case-4:

case-3:

case-2:

case-1:

printf(yis%d.\n,y=x);

break;

case0:

printf(yis%d.\n,y=x-1);

break;

case1:

case2:

case3:

case4:

case5:

case6:

case7:

case8:

case9:

printf(yis%d.\n,y=x+1);

break;

default:

printf(error!

\n);

}

}

第五章.

一.选择题

5.1D5.2C5.3B5.4C5.5C5.6B5.7D5.8A5.9D5.10D

二.填空题

5.11546

5.12死循环

5.13-1

5.1411

5.15d=1.0k++k<=n

5.16x>=0x

三.编程题

5.17

#include

voidmain()

{

inti;

intsig=1;

intsum=0;

for(i=1;i<=101;i++,i++)

{

sum+=sig*i;

sig*=-1;

}

printf(sum=%d\n,sum);

}

5.18

(1)

#include

voidmain()

{

inti;

doublem=1.0;

doublee=1.0;

for(i=1;i<50;i++)

{

m*=i;

e+=1/m;

}

printf(e=%f\n,e);

}

(2)

#include

voidmain()

{

inti=1;

doublem=1.0;

doublee=1.0;

while(1/m>=0.0004)

{

m*=i;

e+=1/m;

i++;

}

printf(e=%f\n,e);

}

5.19

#include

voidmain()

{

intyear;

intcol=0;

for(year=1600;year<=2000;year++)

{

if((year%4==0&&year_x0010_0!

=0)||year@0==0)

{

printf(%d\t,year);

col++;

if(col%5==0)

{

printf(\

);

}

}

}

printf(\

);

}

5.20

#include

#defineN7

voidmain()

{

inti;

intj;

intm;

intk=N/2;

for(i=0;i{

m=i-k;

if(m<0)

{

m*=-1;

}

for(j=0;j{

printf();

}

for(j=0;j<2*(k-m)+1;j++)

{

printf(*);

}

printf(\

);

}

}

第六章

一.选择题

6.1B6.2D6.3A6.4A6.5B6.6D6.7D6.8B6.9A6.10A6.11C

二.填空题

6.12-1

6.131

6.14ctype.h

6.151

6.1610A20B30C40D

6.177.29101.298AB

6.18A7.29B101.298

6.19ABC(每个字符后有三个空格)

三.编程题

6.20

#include

#defineN80

voidmain()

{

charstr[N];

intiLoop=0;

gets(str);

while(str[iLoop])

{

printf(%c-%d\t,str[iLoop],str[iLoop]);

iLoop++;

if(iLoop%3==0)

{

printf(\

);

}

}

printf(\

);

}

6.21

#include

#defineN80

voidmain()

{

charstr[N];

intnum=0;

intiLoop=0;

gets(str);

while(str[iLoop])

{

if(str[iLoop]>='0'&&str[iLoop]<='9')

{

num=10*num+(str[iLoop]-'0');

}

iLoop++;

}

printf(%d\n,num);

}

6.22

#include

#include

#defineN80

voidmain()

{

charstr[N];

intnum=-1;

do

{

gets(str);

num++;

}while(strcmp(str,EOF));

牰湩晴尨您输入了%d行字符!

\n,num);

}

6.23

#include

#defineN80

voidmain()

{

charstr[N];

intiLoop=0;

intnum=0;

gets(str);

while(str[iLoop]&&iLoop

{

if(str[iLoop]>='a'&&str[iLoop]<='z')

{

num++;

}

iLoop++;

}

牰湩晴尨您输入了字符中有%d个小写字母!

\n,num);

}

6.24

#include

voidmain()

{

intline;

intiLoop1;

intiLoop2;

牰湩晴尨请输入图案的行数(不大于26):

);

scanf(%d,&line);

for(iLoop1=0;iLoop1

{

for(iLoop2=0;iLoop2

{

printf();

}

for(iLoop2=0;iLoop2<2*iLoop1+1;iLoop2++)

{

printf(%c,iLoop1+'A');

}

printf(\

);

}

}

第七章

一.选择题

7.1C7.2C7.3B7.4C7.5A7.6D7.7A

二.填空题

7.812

7.99.000000

7.104

7.11n=1s

7.12<=yz*x

7.131s*i0f(k)

三.程序调试和编程题

7.14

fun(intn)

{intk,yes;

for(k=2;k<=n/2;k++)

{

if(n%k==0){yes=0;break;}

elseyes=1;

}

returnyes;

}

7.15

intmymod(inta,intb)

{

returna%b;

}

7.16

doublefun(intn)

{

doublesum=0;

intiLoop;

intsig=-1;

for(iLoop=1;iLoop<=n;iLoop++)

{

sig*=-1;

sum+=sig*1.0/iLoop;

}

returnsum;

}

7.17

doublefun(intn)

{

doublet=1.0;

intiLoop;

longtmp;

for(iLoop=2;iLoop<=n;iLoop++)

{

tmp=iLoop*iLoop;

t-=1.0/tmp;

}

returnt;

}

7.18

#include

#include

doublefun(doublex)

{

returnx*x+5*x+4;

}

voidmain()

{

intx=2;

printf(y1=%f\n,fun(x));

printf(y2=%f\n,fun(x+15));

printf(y3=%f\n,fun(sin(x)));

}

第八章

一.选择题

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

当前位置:首页 > PPT模板 > 中国风

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

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