同步训练参考答案.docx
《同步训练参考答案.docx》由会员分享,可在线阅读,更多相关《同步训练参考答案.docx(68页珍藏版)》请在冰豆网上搜索。
![同步训练参考答案.docx](https://file1.bdocx.com/fileroot1/2023-5/26/2499afc0-1d6a-4e8f-a1c6-20b8139f81c4/2499afc0-1d6a-4e8f-a1c6-20b8139f81c41.gif)
同步训练参考答案
同步训练参考答案
第一章C语言概述
基础训练(A)
一、一、填空题
1、1、main()
2、2、函数首部,函数体
3、3、/*,*/
4、4、scanf()
5、5、printf()
6、6、函数
7、7、;或分号
8、8、编辑、编译、连接、运行
二、选择题
1、C2、D3、C4、C5、B6、A
能力提高(B)
1、1、 #include
main()
{
printf(“Beijing2008\n”);
}
2、2、 #include
main()
{
inta,b,c;
intsum;
scanf(“%d%d%d”,&a,&b,&c);
sum=a+b+c;
printf(“sum=%d\n”,sum);
}
链接二级考试
一、选择题
1、C2、D3、D4、B5、A
6、C7、B8、A9、B10、B
第二章程序设计的灵魂---算法
基础训练(A)
一、一、 填空题
1、算法
2、为解决一个问题而采取的方法和步骤
3、确定性、有零个或多个输入、有一个或多个输入
4、顺序、选择、循环
5、只有一个入口;只有一个出口;结构内的每一个部分都有机会被执行到;结构内不存在“死循环”
6、N-S流程图
二、编程题
1、
2、
能力提高(B)
一、问答题
1、
(1)自顶向下;
(2)逐步细化;
(3)模块化设计;
(4)结构化编码。
二、编程题
1、
main()
{floatx;
scanf(“%f”,&x);
if(x>=400)printf(“Success!
\n”);
elseprintf(“Fail!
\n”);
}
2、
(1)
(2)
链接二级考试
一、选择题1、B
第三章数据类型、运算符与表达式
第1讲
基础练习(A)
一、填空题
1、常量,变量,符号,数据,定义
2、整型,字符型,枚举类型
3、单精度型或float,双精度型或double
4、数组,结构体,共用体
5、1,2,-32768~32767
6、4,8
7、字母,数字,下划线,字母或下划线
8、543.21,3.27867E2
9、4
10、二进制补码
11、6~7,15~16
12、B40O20HB113O4BH
二、选择题
1、C2、D3、D4、C5、C
6、A7、B8、A9、D10、C11、C
能力提高(B)
一、一、选择题
1、C2、A3、D4、B5B
6、6、D7、C8、D9、A10、A
二、判断题错错对对对
第2讲
基础练习(A)
一、填空题
1、单,一,双,字符
2、字符串结束
3、整型
4、5,6
5、5、 double
6、6、 1
7、7、 1
8、8、 1
9、9、 32
10、10、 1,1.
二、选择题
1、B2、B3、C4、A5、A
6、D7、C8、A9、B10、A
11、C12、D13、D14、A
能力提高(B)
一、一、填空题
1、1、 16
2、2、 ’D’,68
3、13.
4、8.
二、选择题1、A2、B3、C4、B5、D
三、等价,均给变量ch赋值为‘A’ ,只是采用不同的表示方法。
’A’为字符常量,’\x41’为转义字符(两位十六进制数)表示,ch=’\101’为转义字符(三位八进制数)表示,65为十进制数整型常量表示,0101为八进制数整型常量表示,0x41为十六进制数整型常量表示。
第3讲
基础练习(A)
一、填空题
1、变量
2、右,左
3、变量
4、表达式2
5、低
6、6、 9
7、7、 t=a;a=b;b=t;
8、2
9、106
10、12,4
11、6,4,2
二、选择题
1、A2、B3、C4、B5、B
6、C7、A8、C9、A10、C
能力提高(B)
1、-16
2、-60
3、0
4、a+=(b);b=a-(b);a-=(b);
5、32766,-1,65535
二、选择题
1、A2、D3、D4、D5、D
链接二级考试
一、选择题
1、A2、B3、A4、A5、B
6、A7、A8、C9、C10、D
11、B12、C13、D14、C15、D
16、C17、A18、D19、C20、A
21、A22、A23、B24、A25、C
26、A27、B28、D29、A30、C
31、A32、C33、B34、D35、C
36、D37、D38、C39、B40、A
41、D42、C43、A44、B45、D
46、C47、D
二、填空题
1、pow(sin(x),2)*(a+b)/(a-b)或sin(x)*sin(x)*(a+b)/(a-b)
2、57
3、a/(b*c)或a/(a*b)或a/b/c或a/c/b
4、1.0或1
5、double
第四章顺序结构程序设计
第1讲
基础练习(A)
一、填空题
1、控制语句,表达式语句,复合语句
2、;
3、{}
4、#include
5、#include
6、6、 1
7、7、 1
8、8、 a
9、i:
dec=-4,oct=,hex=fffc,unsigned=65532
10、*3.,3.142*
11、c:
dec=120,oct=170,hex=78,ASCII=x
12、*d
(1)=-2*d
(2)=-2*d(3)=-2*
*d(4)=*d(5)=*d(6)=*
13、x=1y=2*sum*=3
10Squaredis:
100
14、
(1)123.
(2)□□□□□□□123.457
(3)123.4560
(4)8765.
(5)□□□□□□8765.457
(6)8765.4567
(7)8765.4567
二、判断题对对错对对
二、二、选择题
1、A2、D3、B4、D5、BC6、D
能力提高(B)
一、选择题1、C2、D
二、参考答案
main()
{inta,b,c;
longintu,n;
floatx,y,z;
charc1,c2;
a=3;b=4;c=5;
x=1.2;y=2.4;c=-3.6;
u=51274;n=;
c1=’a’;c2=’b’;
printf(“\n”);
printf(“a=%2db=%2dc=%2d\n”,a,b,c);
printf(“x=%8.6f,y=%8.6f,z=%9.6f\n”,x,y,z);
printf(“x+y=%5.2fy+z=%5.2fz+x=%5.2f\n”,x+y,y+z,z+x);
printf(“u=%6ldn=%9ld\n”,u,n);
printf(“c1=%c’or%d(ASCII)\n”,c1,c1);
printf(“c2=%c’or%d(ASCII)\n”,c2,c2);
第2讲
基础练习(A)
一、填空题
1、输出
2、格式说明,普通字符
3、地址
4、字符
5、输入
6、空格,“回车”,“跳格”键
7、精度
8、跳过它指定的列数
二、选择题
1、A2、B3、D4、D5、D
6、B7、B8、D9、D10、A11、BC
三、编程题
1、参考答案
main()
{floata,b,c,t;
printf(“pleaseinputa,b,c:
\n”);
scanf("%f,%f,%f",&a,&b,&c);
t=(a+b+c)/3;
printf("averageof%6.2f、%6.2fand%6.2fis%6.2f\n”,a,b,c,t);
}
2、参考答案
main()
{inth,m,s;
printf(“pleaseinputh,m:
\n”);
scanf("%d,%d",&h,&m);
s=h*60+m;
printf("total%dminute\n”,s);
}
3、参考答案
main()
{floatk,y;
y=;
k=y/1.609;
printf("betweenearthandmoondistanceis%fkilometre\n”,k);
}
能力提高(B)
一、填空题
1、[1]跳过对应的输入数据
[2]当输入以下数据时:
10□□20□□30□□40<回车>,将把10赋给a1,跳过20,把30赋给a2,把40赋给a3。
2、[1]未指明变量k的地址
[2]格式控制符与变量类型不匹配;scanf语句的正确形式应该是:
scanf(“%f”,&k);
3、[1]scanf(“%d%f%f%c%c”,&a,&b,&x,&c1,&c2);
[2]3□6.5□12.6aA<回车>
4、A□□□B□□□<回车>
5、a=3□b=7x=8.5□y=71.82c1=A□c2=a<回车>
6、-12□c□4.1034e+02<回车>
二、不能得到指定的输出结果,应
将scanf("%d,%d,%d",a,b,c);
改为scanf("%d%d%d",&a,&b,&c);
将printf("%d%d%d",a,b,c);
改为printf("a=%d,b=%d,c=%d\n",a,b,c);
将printf("x=%f\n",x,"y=%f\n",y);
改为:
printf("x=%d",x,"y=%d\n",y);
三、编程题
1、参考答案
#include
main()
{
intc;
inta,b;
printf("Pleaseenteracharater:
");
scanf("%c",&c);
a=c-1;
b=c+1;
printf("a=%c,c=%c,b=%c\n",a,c,b);
}
2、参考答案
#include
main()
{inta,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d\n",a,b);
}
链接二级考试
一、选择题
1、C2、A3、A4、B5、C
6、C7、B8、A9、D10、B
11、B12、B13、D14、A15、B
16、D17、C18、A19、D20、C
21、C22、B23、C24、A25、C
26、A27、B28、A29、D30、C31、C
二、填空题
1、a=1,b=2
2、5.0,4,c=3
3、0
4、3
5、2.1
6、6.6
7、x+=1;
8、261
9、16
10、-3
11、i=10,j=20
12、b
第五章选择结构程序设计
第1讲
基础练习(A)
一、填空题
1、逻辑,1,0
2、单目,右结合性
3、&&,||,!
,!
,||
4、0,非0
5、(y%2==0)
6、x7、x<-10||x>2&&x<3
8、(ch>=‘A’)&&(ch<=‘Z’)
9、0
10、1
11、11、 0
12、12、 1
13、13、 1
14、14、 1
15、15、 0
16、16、 k==0
二、选择题
1、D2、C3、B4、D5、C6、D
7、C8、B9、C10、B11、B12、C
三、写出下列程序的运行结果
1、2ndclasspostageis14p
2、SellingPrice(0.30)$5.72
3、F
能力提高(B)
一、选择题1、C2、AC3、D4、C
二、根据程序的功能,将以下程序补充完整
[1]&a,&b,&c,&d
[2]t=a;a=b;b=t;
[3]a>c
[4] b>c
三、编程题
1、参考答案
main()
{intx;
if(x%5==0&&x%7==0)
printf(“yes”);
else
printf(“no”);
}
2、参考答案
main()
{intx,y,z,a,b;
scanf(“%d%d%d”,&x,&y,&z);
a=x*x+y*y*z*z;
if(a>1000)
{b=a/1000;printf(“%d”,b);}
elseprintf(“%d”,x+y+z);
}
3、参考答案
#include
main()
{floata,b,c,s,area;
scanf(“%f,%f,%f”,&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%7.2f\n”,area);}
else
printf(“bunengzhuchengsanjiaoxing\n”);
}
第2讲
基础练习(A)
一、填空题
1、if语句的嵌套
2、其之前最近的未配对的if,花括号
3、三,从右至左
4、高
5、任何
6、3
7、1
8、min=(a
a:
b;
9、0
10、5,6
二、判断题错错对错对
三、写出以下程序的运行结果
1、-1
2、200
3、60-69
〈60
error!
能力提高(B)
一、写出下列程序的运行结果
1、5
5
1
2、4-2
40
4-2
3、a=2,b=1
二、根据程序的功能,将以下程序补充完整
[1]len=31
[2]len=29
[3]len=28
三、将以下程序段改用嵌套的if语句实现。
参考答案:
ints,m;
if((s<60)||(s>109))m=o;
elseif(s<70)m=1;
elseif(s<80)m=2;
elseif(s<90)m=3;
elseif(s<100)m=4;
elsem=5;
四、编程题
1、参考答案:
#include
main()
{intyear;
floatmoney,rate,total;/*money:
本金rate:
月利率total:
本利合计*/
printf("Inputmoneyandyear=?
");
scanf("%f%d",&money,&year);/*输入本金和存款年限*/
if(year==1)rate=0.00315;/*根据年限确定利率*/
elseif(year==2)rate=0.00330;
elseif(year==3)rate=0.00345;
elseif(year==5)rate=0.00375;
elseif(year==8)rate=0.00420;
elserate=0.0;
total=money+money*rate*12*year;/*计算到期的本利合计*/
printf("Total=%.2f\n",total);
}
2、参考答案:
#include
main()
{floatdata1,data2;/*定义两个操作数变量*/
charop;/*操作符*/
printf("Enteryourexpression:
");
scanf("%f%c%f",&data1,&op,&data2);/*输入表达式*/
switch(op)/*根据操作符分别进行处理*/
{case'+':
/*处理加法*/
printf("%.2f+%.2f=%.2f\n",data1,data2,data1+data2);break;
case'-':
/*处理减法*/
printf("%.2f-%.2f=%.2f\n",data1,data2,data1-data2);break;
case'*':
/*处理乘法*/
printf("%.2f*%.2f=%.2f\n",data1,data2,data1*data2);break;
case'/':
/*处理除法*/
if(data2==0)/*若除数为0*/
printf("Divisionbyzero.\n");
else
printf("%.2f/%.2f=%.2f\n",data1,data2,data1/data2);
break;
default:
/*输入了其它运算符*/
printf("Unknownoperater.\n");
}
}
3、参考答案:
main()
{inty0,m0,d0,y1,m1,d1,age;
printf(“pleaseinputbirthday:
\n”);
scanf(“%d%d%d”,&y0,&m0,&d0);/*输入出生日期*/
printf(“pleaseinputcurrentdate:
\n”);
scanf(“%d%d%d”,&y1,&m1,&d1);/*输入当前的日期*/
age=y1-y0;
if(m1elseif(m1==m0&&d1printf(“age=%d\n”,age);/*输出年龄*/
}
链接二级考试
一、选择题
1、B2、B3、C4、D5、C
6、D7、C8、B9、A10、D
11、A12、C13、C14、D15、C
16、B17、D18、D19、D20、C
21、A22、D23、C24、A25、A
26、C27、B28、D29、C30、C
二、填空题
1、((202、x==0||x==1
3、x>5||x<-5
4、passwarm
5、(y%2)!
==1或y%2或(y%2)!
=0
6、
7、0
8、20,0
9、1
10、503
11、3
12、yes
第六章循环结构程序设计
第1讲
基础练习(A)
一、选择题
1、A2、C3、A4、D5、C6、A
7、A8、C9、C10、D11、D12、A
二、填空题
1、36
2、s=254
3、 **
4、5,5
三、编程题
1、参考答案:
main()
{inti;
longp=1;
do
{p=p*i;
i=i+2;
}while(i<=9);
printf(“1*3*5*9=%ld\n”,t);
}
2、参考答案:
#defineE0.
main()
{floatx,y=1,s=0;
printf("Pleaseenterx=");
scanf("%f",&x);
while(1/y>E)
{s=s+1/y;
y=y*x;
}
printf("S=%f\n",s);
}
3、参考答案:
main()
{intn=0;
charc;
c=getchar();
while(c!
=’\n’)
{if(c>=’0’&&c<=’9’)n++;
c=getchar();
}
printf(“%d\n”,n);
}
能力提高(B)
一、一、 选择填空题1、AA2、B3、BC
二、读懂程序,并按照程序的功能将程序补充完整
1、[1]r=m,m=n,n=r[2]m%n
2、[1]i%3==2&&i%5==3&&i%7==2[2]j%5==0
3、[1]a+=d[2]sum%4==0
三、编程题
1、参考答案:
#include
main()
{intclass1,class2,class3;
charch;
class1=class2=class3=0;/*初始化分类计数器*/
do
{ch=getch();
switch(ch)
{case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
class1++;break;/*对分类1计数*/
case'+':
case'-':
case'*':
case'/':
case'%':
case'=':
class2++;break;/*对分类2计数*/
default:
class3++;break;/*对分类3计数*/
}
}while(ch!
='\\');/*字符'\'在C程序中要使用转义符'\\'*/
printf("cla