77范文网 - 专业文章范例文档资料分享平台

哈工大(威海)c语言实验报告册答案(4)

来源:网络收集 时间:2020-06-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验

一、实验学时

3

模块化设计与应用

完成本实验需要4学时。 二、实验目的 1、阅读程序题

(1) 掌握函数实参和形参的对应关系以及“值传递”的方式; (2) 理解函数调用的过程以及函数的返回值; (3) 弄清楚带参函数和带参的宏之间的异同。 2、编程题

(1) 深刻理解模块化程序设计的思想及如何进行模块划分; (2) 掌握定义函数的方法以及函数原型的声明;

(3) 灵活运用函数调用(有参函数和无参函数、有返回值的函数和无返回值的函数)。

三、实验指导

为了达到最佳的实验效果,下面提出几点指导意见或要求以供参考: 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果。上机时输入计算机,验证自己推导的结果是否正确。若不正确,应分析原因。

2、编程题注意事项:

(1) 一个模块(或函数)应有一个入口点和一个退出点。

(2) 一般每个模块(或函数)只执行一个任务。不要将无关的任务放于同一模块中,只将完成同一任务的语句组合在一起。

(3) 先画流程图,后写程序代码;

(4) 变量和函数标示符尽量“见名知义”; (5) 程序中应有适当注释。

3、应记录调试程序时出现的错误,以便经验的积累。

四、实验内容 1、阅读程序题

(1) 下面程序的输出结果是 5,8 。 #include int f(int m) {

- 16 -

int k=2; k++;

return k+m;

}

void main( ) {

int s; s=f(2);

printf(\}

(2) 下面程序的输出结果是 777 。 #include void main() int f( int a ) { { int a=2,i;

int b=0; for( i =0;i <3;i++) int c=3; printf(\b=b+1; } c=c+1; return(a+b+c); }

(3) 下面程序的输出结果是 3 (空格)5 。 #include void main() void swap(int *a, int *b) { { int x=3,y=5,*p=&x,*q=&y;

int *t; swap(p,q); t=a;a=b;b=t; printf(\} }

(4) 下面程序的输出结果是 12 。 #include #define M(x,y,z) x*y+z void main() {

int a=1,b=2,c=3;

printf(\

- 17 -

}

(5) 下面程序的输出结果是 19 。 #include void main() int M(int x, int y, int z) { { int a=1,b=2,c=3;

int p; printf(\p=x*y+z; M(a+b,b+c,c+a)); return(p); }}

2、编程序并上机调试运行。

(1) 请设计一个函数fun(),它的功能是:判断pm是否是素数。若pm是素数,返回1;若不是素数,返回0。pm的值由主函数从键盘读入。

函数fun(): 开始 i=2,n接受传定义变量初始化入数 pm,q i

流程图 程序代码 int fun(int pm) { int i=2,x; while (i

主函数main():

流程图 开始 程序代码 输入pm #include #include void main() { 调用函数int pm; printf(\请输入要检测的 数字:\\n\ 输出结果 scanf(\printf(\ } 结束

测试数据及输出结果:

33 0 37 1

(2) 请设计一个函数fun(),它的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12。调用该函数后,c=4152。

- 19 -

函数fun():

主函数main(): 流程图 开始输入a,b两个二位数流程图 程序代码 开始定义变量p,q分别接受a,b,定义cint fun(int x,int y) { } int c; c=x*100+y; return (c); c=a*100+b返回c做结果#include 程序代码 #include void main() { int a,b; printf(\请输入要组合的数字(都为二位数):\\n\ scanf(\ if ((a<10||a>99)||(b<10||b>99)) printf(\输入数字错误!\\n\ else printf(\} 结束输出结果调用函数 测试数据及输出结果: 9 21 输入数字错误! 21 23 2123

- 20 -

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库哈工大(威海)c语言实验报告册答案(4)在线全文阅读。

哈工大(威海)c语言实验报告册答案(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1131221.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: