版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C语言程序设计实例教程(慕课版)第2版》
单元同步练习答案
第1单元....................................................................2
第2单元....................................................................3
第3单元....................................................................5
第4单元....................................................................7
第5单元....................................................................9
第6单元..................................................................11
第7单元...................................................................13
第8单元...................................................................15
第9单元...................................................................18
第10单元..................................................................20
第1单元
一、选择题
1-3CDD
二、填空题
I.主函数(main。函数),main()
2.机器语言、汇编语言、高级语言,1972,ANSIC,C99
三、问答与编程题
1.一个C程序的构成:预处理命令、说明部分、执行部分
2.#include<stdio.h>
intmain()(
inta=4,b=3,s;
s=a*b;
printf("areaofrectangleis%d\n”,s);
)
第2单元
一、选择题
l.C2.D3.B4.C5.C6.C7.A8.A9.A10.B11.D12.B13.D14.C
15.C16.C17.A
二、填空题
1.字母、数字、下划线、字母、下划线2.59831593.ASCII码
4.sqrt(s*(s-a)*(s-b)*(s-c))5._J_6._0_7,2.58._4___4_106
9.183310.511.m/100(m/10)%13
三、写出下列程序的运行结果
1.622.283.5_4.8,105.ch=x,x=-2,y=4,z=0.000000
6.cl=4,c2=3,c3=2,cl=l7.1,1,1
2,2,1
2,2,1
四、编程题
1.^include<stdio.h>
intmain()
{
floata=2,b=2.3,c=l.5,s,v;
s=(a*b+b*c+a*c)*2;
v=a*b*c;
printf("表面积为%.2f,体积为%.2fM,s,v);
return0;
}
2.^include<stdio.h>
intmainO
{
charc;
printf("InputaCapital:\n,z);
scanf&c);
printf("Lowercasec+32);
return0:
}
3.ttinclude<stdio.h>
intmainO
(
intnuml,num2,temp;
printf("请输入两个整数:\n");
scanf(w%d%d”,&numl,&num2);
if(numl<num2)
tcmp=num1;num1=num2;num2=tcinp;
)
printf("两个数的商是%d,余数是%d\n”,numl/num2,numl%num2);
return0;
)
4.4include<stdio.h>
intmain()
(
floatc,f;
printf("请输入华氏温度:\n");
scanf&f);
c=5*(f-32)/9;
printf("对应的摄氏温度为虬2f\n",c);
return0;
)
第3单元
一、选择题
ABAABDCCBB
二、填空题
1.整型、字符型
2.putchar()
3.1个
4.stdio.h
5.Id
6.China
三、阅读程序,输出结果
1.56
2.103
98
A
3.5,a,6
4.a=6.78
四、编程题
1.#include<stdio.h>
intmainO
{
charchi,ch2,ch3,ch4,ch5;
printf(”请输入要加密的单词:\n");
scanf("%c%c%c%c%c”,&chl,&ch2,&ch3,&ch4,&ch5);
printf("加密后:%c%c%c%c%c\n”,chl+5,ch2+5,ch3+5,ch4+5,ch5+5);
return0;
)
2.
#include<stdio.h>
#include<math.h>
intmain()
{
floata,b,c,disc,xl,x2,p,q;
disc=0;
printf("请输入a,b,c的值:\n");
scanf&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
xl=p+q;
x2-p-q;
printf("xl=%7.2f\nx2=%7.2f\n”,xl,x2);
return0;
)
3.
#include<stdio.h>
intmain()
(
intn;
doubledeposit,capital,rate;
printf(〃请输入存款金额:\n");
scanf&capital);
printf(”请输入存款年限:\n");
scanf&n);
printf(〃请输入定期存款年利率:\n〃);
scanf(,Z%1f,z,&rate);
dcposit=capital+capital*ratc*n;
printf(z,%d年后的本金和利息之和为:%n,deposit);
return0;
)
第4单元
一、选择题
1.A2.A3.D4.A5.A6.C7.A8.C9.A10.C
二、填空题
1.0_2,]_3.34.(x53=0)I|(x%D)5.(p〈x)](p<。II(p!=z)
6.(a+b>c)&&(a+c>b)&&(b+c>a)7.(ch>='A'&&ch<='Z')ch=ch-32
三、写出下列程序的运行结果
1.20^02.5858583.34.25.0.5000006.8
四、编程题
1、^include<stdio.h>
intmain()
(
inta,b;
printf("请输入两个数:”);
scanf("%d%d”,&a,&b);
if(a>b)
printf("最小数是%d”,b);
else
printf("最小数是%d”,a);
return0;
)
2.
#include<stdio.h>
intmainO
(
intx,y;
printf(“请输入x的值:\n");
scanf&x);
if(x>0)y=x+3;
else
if(x==0)y=0;
elsey=x-1;
printf("输出y的值:%d",y):
return0;
)
3.#include<stdio.h>
intmain()
(
intsum;
intyear,month,day,leap;
printf(〃请输入年月日:\n");
,,,,
scanf(%d%d%dt&ycar,&month,&day);
switch(month)
case1:sum=0;break;
case2:sum=31;break;
case3:sum=59;break;
case4:sum=90;break;
case5:sum=120;break;
case6:sum=151;break;
case7:sum=181;break;
case8:sum=212;break;
case9:sum=243;break;
caseID:sum=273;break;
case11:sum=304;break;
case12:sum=334;break;
dcflaut:printf("日期错误!\n");break;
}
sum=sum+day;
if((year%4==0)(year%100!=0)||(year%400==0))
leap=l
else
leap=0;
if(leap&&month>2)
(
sum++;
}
printf("这是这年的第机1天\n”,sum);
return0;
)
第5单元
一、选择题
1.A2.B3.B4.A5.C6.B7.A8.C9.C10.D
二、填空题
1.whiledo-whi1efor2.xl>0xl/2+2x1x2
3.ch=getchar()ch>='A'&&ch<='Z'4.s=s+i*tt=t*(-1)5._2
三、写出下列程序的运行结果
1.89212.SUM=24683.5
四、编程题
1.#include<stdio.h>
intmain()
(
inti,n,sum=0,data;
printf(”请输入求和数据的个数:\n");
scanf&n);
printf("请输入%d个正数:\n”,n);
for(i=0;i<n;i++)
{
scanf("舟d”,&data);
sum+=data;
)
printf(“它们的和是%d\n”,sum);
return0;
}
2.dinclude<stdio.h>
intmainO
(
intm,i,sum=0;
for(m=1;m<1000;m++)
{
sum=0;
ror(i=l:i<=m/2:i++)
if(m%i==0)
sum=sum+i;
if(sum==m)
printf(*%d",m);
)
returnO;
}
3.ttincludc<stdio.h>
intmain()
inttemp,mul,max,min;
printf("请输入两个整数:\n");
scanf(*%d%d”,&max;&min);
mul=max*min;
if(max<min)
(
ternp=max;
max=min;
min=temp;
)
while(max%min!=0)
{
tcmp=min;
min=max%min;
max=temp;
)
printf("最大公约数:%d\n",min);
printf("最小公倍数:%d\n”,mu1/min);
return0;
)
第6单元
一、选择题
BCBDCADCCD
二、填空题
1.0
2.行,首地址
3.string,h
4.0
5.j=2;j>=0;
6.s[j++]=s[i];
三、阅读程序,输出结果
1.8,10
2.19
3.AQM
4.9,8
5.you&me
四、编程题
1.
#include<stdio.h>
^defineN10
intmainO
{
inti,j,t,n;
inta[N];
printf("请输入%d个元素:\n〃,N);
for(i=0;i〈N;i++)
scanf&a[i]);
for(i=0;i<N-l;i++)
for(j=0;j<N-l-i;j++)
if(a[j]>a[j+l])
{
t=a[j];
a[j]=a[j+l];
a[j+l]=t;
}
printf("最小元素为:%5d\n",a[0]);
printf("最大元素为:%5d\n”,a[N-l]);
return0;
)
2.
#includc<stdio.h>
#defineM10
intmainO
(
inta[M][M],i,j;
for(i=0;i<M;i++)
for(j=0;j<=i;j++)
(
if(i==j|Ij==0)
else
a[i][j]=a[i-l][j]+a[i-l][j-1];
printf("%5d",a[i][j]);
if(i==j)
printf(〃\n〃);
)
return0;
)
3.
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100];
printf(〃请输入一个字符串:");
scanf("%s〃,&a);
inti,k=strlen(a);
for(i=0;i<k;i++)
(
if(a[i]<97)
(
a[i]+=32;
)
)
printf("%s〃,a);
return0;
第7单元
一、选择题
1.A2.B3.C4.C5.B6.A7.A8.C9.C10.A
二、填空题
1.函数2.main函数3.vo函4.地址传递值传递5.auto
三、写出下列程序的运行结果
1.112.108642135793.24.56345.ABEF6.579
四、编程题
L.
#include<stdio.h>
intf(intn);
intmain()
(
inta;
scanf(飞d",&a);
printf(,,%d\n,\f(a));
return0;
}
intf(intn)
(
if(n==l||n=2)
return1;
else
return(f(n-l)+f(n-2));
}
2.
#include<stdio.h>
voidinput(intscore[3][2]);〃输入学生的课程成绩
voidsavg(intscore[3][2]);〃学生的平均分
voidcavg(intscore[3][2]);〃课程的平均分
intmain()
(
intscore[3][2];
input(score);
savg(score);
cavg(score);
return0;
)
voidinput(intscore[3][2])
inti,j;
for(i=0;i<=2;i++)
for(j=0;j<=l;j++)
(
printf("请输入第%d个学生的第%d门功课成绩:\n”,i+lj+l);
scanf&score[i][j]);
1
)
voidsavg(intscore[3][2])
(
intsuml;
floatavgl;
for(inti=0;i<=2;i++)
{intsum1=0;
for(intj=O;j<=l;j++)
(
suml+=score[i][j];
]
avgl=suml/2.0;
printf(〃第个学生的平均分是%f\n”,i+l,avgl);
)
)
voidcavg(intscore[3][2])
(
intsum2;
floatavg2;
for(intj=O;j<=l:j++)
(
intsum2=0;
for(inti=0;i<=2;i++)
(
sum2+=score[i][j];
)
avg2=sum2/3.0;
printf("第刎门功课的平均分是%f\n”,j+1,avg2);
)
第8单元
一、选择题
1.D2.B3.D4.A5.B6.C7.B8.B9.C10.C11.A12.B13.D14.C
15.A16.A
二、填空题
1.取地址、指针2.13.“ab\0”4.63
三、写出下列程序的输出结果
-2.-5,-12,-73.264.55.ABCDCD6.abcDDfofDbD
四、编程题
1.#include<stdio.h>
intmain()
(
inta,b,c,x;
int*pa,*pb,*pc;
pa=&a;
pb二&b;
pc=&c;
prinlf(“请输入3个整数\n〃);
scanf(,/%d%d%dz,,pa,pb,pc);
if(*pa>*pb){x=*pa;*pa=*pb;*ph=x;}
if(*pa>*pc){x=*pa;*pa=*pc;*pc=x;}
if(*pb>*pc){x=*pb;*pb=*pc;*pc=x;}
printf("这3个数由小到大的排列顺序为与d,%d,%d",*pa,*pb,*pc);
}
2.dinclude<stdio.h>
intlength(char*p)
(
intn=0;
while(*p)
{
p++;
n++:
)
return(n);
)
intmain()
(
chars[100];
intlen;
printf(〃请输入一个字符串:”);
gcts(s);
lcn=lcngth(s);
printf("该字符串长度为:%d",len);
return0;
}
3.#include<stdio.h>
#include<string.h>
voidmystrcpy(char*strl,char*str2,intm)
(
intn,t,i;
n=strlen(strl);//n是第一个字符串的长度
t=0;〃1用来计数
〃i是第m个数据的下标
strl=strl+i;
for(;i<=n;i++)
(
str2[t++]=*strl;
strl++;
)
}
intmain()
(
intm;
charstrl[100],str2[100];
printf(〃请输入第一个字符串:\n〃);
gets(strl);
printf(〃请输入复制字符串的起始位置:\n〃);
scanf(“%d",&m);
mystrcpy(strl,str2;m);
printf(〃复制完后,第二个字符串是:%s\n〃,str2);
return0;
)
4.ttinclude<stdio.h>
#include<string.h>
intstrcmp(char*ptrl,char*ptr2)
(
intresult;
while(*ptrl!=\0*&&*ptr2!=\03{
if(*ptrl!=*ptr2){
result=*ptrl-*ptr2;
break;
)
ptrl++;
ptr2++;
)
if(*ptrl==\0*||*ptr2=='\0')
rcsult=*ptrl-*ptr2;
}
returnresult;
)
intmainO
(
charstrl[100]={0};
charstr2[100]={0};
printf(''Pleaseentertwostrings:\nw);
gets(strl);
gets(str2);
printf(“比较结果果d\n”,strcmp(strl,str2));
return0;
}
第9单元
一、选择题
1.B2.C3.C4.C5.D6.A7.C8.A9.B10.A
二、填空题
1.structsludentslu2.结构体3.数据类型4.(*p).a
5.p->next=s;s->next-p->nextp->next=p->next->next
三、写出下列程序的输出结果
1.ZhaoK85952.Zhao,m,290,Zhao,m,290
3.Zhao,m,290,Zhao,m:290,Zhao,m,290,Sun,m,3704.05.2,3
四、编程题
1.
^include<stdio.h>
^include<stdlib.h>
typedefstruct
g
charname[10];
charbookname[20];
charchubanshe[20];
intyear;
intprice;
}worker;
intmainO
u
workera[100];
inti;
printf(〃限制输入5本书”);
printf(〃请输入作者,书名,出版社,出版年月,价格〃);
p^ntf("列如:张三未来会更好青职学院201820)”);
■for(i=0;i<5;i++)
scanf(*%s%s%s%d%d”,
&a[i].name,&a[i].bookname,&a[i].chubanshe,&a[i].year,pricc);
)
printf("所有书的信息\n");
printf(〃作者书名出版社出版年月价格\n〃);
■for(i=0;i<5;i++)
printf(?,%s%s%s%d%d\n*,
a[i].name,a[i].bookname,a[i].chubanshe,a[i].year,a[i].price);
)
printf("20元以上的书有:\n");
printf(〃书名
for(i=0;i<5;i++)
if(a[i].price>20)
printf("%s\n",a[i].bookname);
)
printf("2000年以后的书有:\n〃);
printfC书名作者\n〃);
for(i=0;i<5;i++)
if(a[i].year>2000)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物标志物在药物临床试验中的药物研发前沿进展
- 生物材料修复的组织缺损免疫豁免策略
- 生物制品药物经济学评价与医保支付标准
- 生物制剂失应答后IBD的长期随访管理策略
- 生物制剂临床试验中盲法实施质量控制
- 深度解析(2026)《GBT 20485.32-2021振动与冲击传感器校准方法 第32部分:谐振测试 用冲击激励测试加速度计的频率和相位响应》
- 标准管理者面试题集
- 钢琴演奏员招聘音乐素养测试题目集
- 通讯技术研发中心高级职位面试题
- 法务专员合同与知识产权面试题及答案
- 2025年高级煤矿综采安装拆除作业人员《理论知识》考试真题(含解析)
- 2025年光伏电站运维合同协议范本
- 保险反洗钱知识培训课件
- 公路项目施工安全培训课件
- 2025颅内动脉粥样硬化性狭窄诊治指南解读课件
- 台湾农会信用部改革:资产结构重塑与效能提升的深度剖析
- 单轨吊司机培训课件
- 初级消防员培训课程教学大纲
- 2025年广东省中考物理试题卷(含答案)
- 高通量测序平台考核试卷
- 2024-2030年中国花卉电商行业发展前景预测及投资策略研究报告
评论
0/150
提交评论