




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习任务六参考答案
问题67:写出以下程序代码的输出结果。
4,3
问题6-2:模仿应用举例6-2,顺序输出数组中的各元素。
#incIude"stdio.h"
voidmain()
{inta[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[0].*q=&a[9];
while(p<=q)
printf("%d",*p++);
getchar();
1
程序执行结果:12345678910
编程训练6-1-1借用指针变量的数据输入/输出操作。
#incIude"stdio.h"
voidmain()
(
intx,*p;
P二&x;
printf(”请输入一个整数:");
scanf("%d",p);〃请勿填写&x哦
printf("x=%d\n",*p);〃请勿填写x哦
}
程序运行结果:
测试顺输入数据输出
序
135x=35
2-98x=-98
编程训练6-1-2:借用指针变量实现的按顺序输出数据。
#incIude"stdio.hH
voidmain0
intx,y,*pmax,*pmin;〃再定义两个指针变量pmax和
pmin
prin"(”请输入两个整数:”);
scanf("%d%d",&x,&y);〃输入两个整数赋给x和y
if(x>y)〃较大值的地址赋pmax,较
小值地址赋pmin
{pmax=&x;
pmin二&y;
)
eIse
{pmax=&y;
pmin=&x;
)
print*,按由大到小的顺序输出是:%d.%d\n",*pmax,*pmin);
}
程序运行结果:
测试顺输入数据输出
序
13579按由大到小的顺序输出是:
79,35
27935按由大到小的顺序输出是:
79,35
编程训练6-2T:主函数与函数间的值传递。
输入数据输出
5678回车x=56,y=78
swap函数的意图是:对x和y进行交换
主函数中x,y不能交换的原因是:实参传给形参
的是值,是值的拷贝
编程训练6-2-2:实参是变量的地址。
#inoIude"stdio.h"
voidswap(int*a,int*b)〃形参是指针变量
(
intt;
t=*a;//此处的*a就是主函数中的x,使主函数中的
x,V交换
*a=*b;
*b=t;
}
voidmain()
(
intx,y;
printf(”请输入两个整数:”);
scanf(1,%d%d,,,&x,&y);
printf(nx=%d,y=%d\n",x,y);
swap(&x,&y);〃实参是变量的地址
printf("x=%d,y=%d\n",x,y);
1
编程训练6-2-3:两数和的函数。
(1)以下函数是返回两数之和,请将主函数补充完整,运行程序
填写输出内容。
#incIude"stdio.h"
intfun(inta,intb)
(
intt;
t=a+b;
returnt;
}
voidmain()
(
intx,y,z;
printf(”请输入两个数:“);
scanf(u%d%dn,&x,&y);
z=fun(x,y);
printf("%d+%d=%d\n",x,y,z);
}
输入:56回车
输出:5+6=11
(2)更改上面的函数,无返回值,程序中的*c就是主函数中的z,
补充后再调试。
#incIude"stdio.h"
voidfun(inta,intb,int*c)
(
intt;
t=a+b;
*c=t;
)
voidmain()
(
intx,y,z;
printf("请输入两个数:");
scanf("%d%d",&x,&y);
fun(x,y,&z);
printf("%d+%d=%d\n",x,y,z);
)
输入:56回车
输出:5+6=11
(3)观察上题中fun函数体内的代码,将其缩减为一句
#incIude"stdio.h"
voidfun(inta,intb,int*c)
(
*c-a+b;
)
voidmain()
{
intx,y,z;〃定义三个整型变量x,y,z
printf(”请输入两个数:“);〃提示输入两个数
scanf("%d%d",&x,&y);〃输入两个数赋给x,y
fun(x,y,&z);〃函数调用
printf("%d+%d=%d\n",x,y,z);//输出
编程训练6-2-4:同时求两数和与两数差,主函数与函数间的多
值传递。
#incIude"stdio.h"
voidfun(inta,intb,int*c,int*d)
(
*c=a+b;
*d-a-b;
}
voidmain()
(
intx,y,z1,z2;
printf(”请输入两个数:");
scanf("%d%d,,,&x,&y);
fun(x,y,&z1,&z2);
printf("%d+%d=%d\n",x,y,z1);
printf("%d-%d=%d\n",x,y,z2);
1
输入:56回车
输出:5+6=11
5-6二-1
编程训练6-3-1阅读理解程序。
输入:56回车
输出:较大数是:6
编程训练6-3-2返回较小值的地址。
#include"stdio.h"
int*fmin(int*a,int*b)
(
if(*a>*b)
returnb;
eIse
returna;
}
voidmain()
intx,y,*p;
printf(”请输入两个数:“);
scanf("%d%d",&x,&y);
p=fmin(&x,&y);
printf("较小数是:%d\n",*p);
)
输入:1546
输出:较小数是:15
编程训练6-3-3功能扩充。
#include"stdio.h"
int*fmin(int*a,int*b)
(
if(*a>*b)
returnb;
eIse
returna;
}
voidmain()
{
intx,y,*p,i=2;
whiIe(i一)
(
printf(”请输入两个数:”);
scanf("%d%d",&x,&y);
p=fmin(&x,&y);
printfC较小数是:%d\n",*p);
)
1
输入:5678
输出:较小数是:56
输入:7856
输出:较小数是:56
任务测试模拟试卷选择题参考答案
选择题参考答案
1.DBBCA6.CCBCA11.BB
*更正:P176,印刷有误,分号错印为逗号。
2.以下定义语句中正确的是o
A)inta=b=O;B)
charA=65+1,b='b';
C)floata=1,*b=&a,*c=&b;D)
doublea=0.0;b=1.1;
填空题参考答案
1.s=p+3;22.int*z*z3.-1*sn4.05.
*pmax=*px;
改错题参考答案
floatk;if(*a<*c)
编程题参考答案
1.
#incIude"stdio.h"
voidfun(inta,intb,long*c)
(
*c=a/10*1000+b%10*100+a%10*10+b/10;
)
main()
{inta,b;Iongc;
printf("Inputa,b:");
scanf("%d%d",&a,&b);
fun(a,b,&c);
printf("Theresultis:%ld\n",c);
}
2.
#incIude"stdio.h"
voidfun(inta,intb,int*x,int*y)
intc,d;
d=a*b;
if(a<b)
c二a,a二b,b二c;
c=a%b;
while(c)
(
a=b;
b二c;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高精度数字电流表项目合作计划书
- 2025年医用放射治疗设备合作协议书
- 教育建筑环境教育与生态保护的协调发展
- 2025年黑白系列偏光片项目建议书
- 教育技术工具如何改变传统教学模式
- 教育与商业共融的园区物业服务模式
- 医疗心理服务为患者带来心灵的光明
- 教育游戏化的实践与创新策略分享
- 专题04 推-荐信 感谢信 倡议书(讲义)(原卷版)-2025年高考英语二轮复习
- 2025年商丘名校高二物理第二学期期末检测试题含解析
- 医疗机构中药饮片采购流程优化
- 中远海运招聘笔试题库2025
- Session4饥饿与创伤的代谢反应:营养需求课件
- vmc五轴系列产品介绍及技术协议0656evmc0656e-itnc把刀库v1
- 电子产品报价单通用模板
- 礼来公司销售讲座
- 甲苯甲醇烷基化法年产30万吨对二甲苯车间设计分析
- SHR-500A高速混合机
- 挤密夯实水泥土桩复合地基工程监理细则
- 会计分岗实训教案
- 国家开放大学电大专科《农村社会学》期末试题及答案
评论
0/150
提交评论