如何注销公司流程及费用/seo网站推广
济南大学C语言程序设计教案:C语言实验课程第三课
C语言实验课程第三课
实验一 函数间数据传递编程
一、实验目的
掌握函数的嵌套调用。
掌握函数的声明方法。
掌握库函数的使用,学会使用系统函数。
掌握全局变量和局部变量的使用
二、实验意义
采用模块化程序设计的方法,是解决复杂问题的基础。在模块分解和组装时,必然要考虑到模块间数据的传递和联系问题。了解变量的存储类型和作用域,正确使用全局变量和局部变量,对于开发系统,保证程序的正确性是非常重要的。此处程序的调试非常训练学生分析问题、解决问题的能力。
三、实验重点
1 函数的嵌套调用
2 函数的声明
3 全局变量和局部变量的定义及使用
四、实验难点
函数的嵌套调用
全局变量的值传递和同名变量的理解
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容
1. 求1!+2!+…+n!,要求:编写两个函数,分别实现求n!功能,和1!+2!+…+n!功能,在主函数输入n值,并在主函数中输出计算结果。
2. 编写函数(非递归函数),计算Fibonacci数列第n项的值,n在主函数中由键盘输入,结果在主函数中输出。已知:
3. 指出下列各变量的存储属性,分析程序的应得结果,并上机验证。
#include
int n=1;
void func( )
{
static int a=2;
int b=5;
a+=2;
b+=5;
n+=12;
printf("a=%d,b=%d,n=%d\n",a,b,n);
}
void main( )
{
int a=0,b= -10;
printf("a=%d,b=%d,n=%d\n",a,b,n);
func( );
printf("a=%d,b=%d,n=%d\n",a,b,n);
func( );
}
七、时间分配
本次实验课程全部用时90分钟,分配如下:
实验题目1用时约25分钟。
实验题目2用时约30分钟。
实验题目3用时约30分钟。
填写实验报告,约5分钟。
实验二 指针和函数编程
一、实验目的
1 理解指针的含义
2 掌握指针作为函数参数的意义,及实参的表达形式。
3 了解返回指针值的函数。
二、实验意义
指针是C语言特殊的数据类型,通过指针可以实现对变量的内存地址空间进行访问,因此能够实现其它开发语言不具备的特殊功能。函数间进行数据传递时,由于函数本身只能返回一个值给调用函数,当需要返回多个处理结果时,就必须要使用指针参数。正确的理解指针的含义,使用指针参数在主调函数与被调函数传递数据,能够极大的拓展程序的功能,进一步的提高程序设计的能力。
三、实验重点
1 指针变量的含义及定义、使用。
2 指针作为函数参数的使用。
3 指针参数的函数调用时实参形式要求。
4 返回指针值的函数调用。
四、实验难点
指针参数的定义及调用时实参的形式。
正确理解指针传递数据的过程。
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容
1. 调试下面的程序,指出错误的原因。
main( )
{
int x=10,y=5,*px,*py;
px=py;
px=&x;
py=&y;
printf("*px=%d,*py=%d\n",*px,*py);
}
2. 编写一个函数,用指针作为参数,分别得到双精度实型数据的整数部分和小数部分。
3. 编写一个函数,计算两个整数m和n的最大公约数和最小公倍数。m和n在主函数中输入。
4. 函数指针编程:设计一个函数process,在调用它的时候,每次实现不同的功能。输入a和b两个数,第一次调用process时返回a和b中的最大数,第二次调用process时返回a和b中的最小数,第三次调用process时求a与b之和,第四次调用process时返回a与b之差。
七、时间分配
本次实验课程全部用时90分钟,分配如下:
实验题目1用时约15分钟。
实验题目2用时约25分钟。
实验题目3用时约20分钟。
实验题目4用时约25分钟。
填写实验报告,约5分钟。
实验三 简单构造数据类型:-维数组
一、实验目的
1 掌握一维数组的定义、使用方法。
2 掌握一维数组元素引用的特点、编程注意事项。
3 掌握使用数组解决问题时的一些经典算法。
二、实验意义
在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类