实验
一、实验学时
3
模块化设计与应用
完成本实验需要4学时。 二、实验目的 1、阅读程序题
(1) 掌握函数实参和形参的对应关系以及“值传递”的方式; (2) 理解函数调用的过程以及函数的返回值; (3) 弄清楚带参函数和带参的宏之间的异同。 2、编程题
(1) 深刻理解模块化程序设计的思想及如何进行模块划分; (2) 掌握定义函数的方法以及函数原型的声明;
(3) 灵活运用函数调用(有参函数和无参函数、有返回值的函数和无返回值的函数)。
三、实验指导
为了达到最佳的实验效果,下面提出几点指导意见或要求以供参考: 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果。上机时输入计算机,验证自己推导的结果是否正确。若不正确,应分析原因。
2、编程题注意事项:
(1) 一个模块(或函数)应有一个入口点和一个退出点。
(2) 一般每个模块(或函数)只执行一个任务。不要将无关的任务放于同一模块中,只将完成同一任务的语句组合在一起。
(3) 先画流程图,后写程序代码;
(4) 变量和函数标示符尽量“见名知义”; (5) 程序中应有适当注释。
3、应记录调试程序时出现的错误,以便经验的积累。
四、实验内容 1、阅读程序题
(1) 下面程序的输出结果是 5,8 。 #include
- 16 -
int k=2; k++;
return k+m;
}
void main( ) {
int s; s=f(2);
printf(\}
(2) 下面程序的输出结果是 777 。 #include
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
int *t; swap(p,q); t=a;a=b;b=t; printf(\} }
(4) 下面程序的输出结果是 12 。 #include
int a=1,b=2,c=3;
printf(\
- 17 -
}
(5) 下面程序的输出结果是 19 。 #include
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 测试数据及输出结果: 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 - 20 - 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库哈工大(威海)c语言实验报告册答案(4)在线全文阅读。
相关推荐: