济南大学C语言程序设计教案:C语言实验课程第四课
C语言实验课程第四课
实验一 数组与函数、数组与指针
一、实验目的
1 掌握数组名作为函数参数的含义、使用方法。
2 掌握多维数组作为函数参数的使用方法。
3 掌握使用指针访问一维数组的多种方法
二、实验意义
在使用数组来在解决实际问题或实现某些算法时,经常会用到数组和其它知识的结合使用。数组作为函数的参数有着非常广泛的使用背景,它可以用数组实现模块间的数据传递。同时对数组编程时,经常使用指针来访问数组,一方面可大大提高程序的执行速度,另一方面可实现某些特殊的算法。同时数组名作为函数的参数和指针参数具有着本质上的意义。因此,学好这一部分的知识,加强知识间的融合,是高级程序设计能力的必备素质。
三、实验重点
1 数组名作为函数参数的含义和使用。
2 多维数组作为函数参数的使用。
3掌握使用指针访问一维数组的多种方法。
四、实验难点
对于数组名作为函数参数时,数据的来源和去向的处理。
用指针访问一维数组的多种概念的理解和特殊的编程方法。
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容
有一个班,有4个学生,5门课。①求各门课的平均分;②找出有两门以上课程不及格的学生,输出它们的学号和全部课程成绩及平均成绩。③找出平均成绩在90分以上或全部课程成绩在85分以上的学生,输出它们的学号和全部课程成绩。分别编三个函数实现以上三个要求。
有n个数存放于一维数组中,已按由小到大的顺序排好。要求输入一个数,将它插入到数列的合适位置,使数组仍然有序。用函数实现此功能。编程时应考虑插入的数的各种可能性(比原所有数都大;比原所有数都小;在最大数和最小数之间)。
编写函数,将一个无符号十进制整数转化为二进制形式,保存在形参数组中(主函数中输出其二进制形式)。
七、时间分配
本次实验课程全部用时90分钟,分配如下:
实验题目1用时约20分钟。
实验题目2用时约40分钟。
填写实验报告,约5分钟。
实验二 字符串、指针及数组综合实验
一、实验目的
1 掌握使用指针访问字符串的方法。
2 掌握一些常用字符串操作的算法。
3 掌握使用字符指针作为函数参数的模块化程序设计方法。
二、实验意义
在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力。在数组的使用中,字符数组及相关字符串操作是经常使用的操作。增强字符串的编程练习,提高相关程序设计经验对于提高学生的程序设计和调试的能力具有很重要的作用。
三、实验重点
1 使用指针访问字符串。
2 常用字符串操作的算法。
3 字符指针作为函数参数的程序设计方法
四、实验难点
使用指针访问字符串
字符指针作为函数参数的函数编程。
五、实验方式
提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。
六、实验内容
1. 有一段文字,共有5行,分别统计出其中英文大写字母、小写字母、数字、空格以及其它字符的个数。
2. 编写一个程序,将字符数组str2中的全部字符拷贝到字符数组str1中。不要使用strcpy函数。
3. 编写一个程序,将字符数组str2中的全部字符连接到字符数组str1的后面。不要使用strcat函数。
4. 编写函数判断输入的字符串是否是“回文”,(顺读和倒读都一样的字符串称“回文”,如:level)。
5. 请编写一个函数 int func(char *str,char ch),它的功能是:求出str字符串中指定字符ch的个数,并返回此值。例如:若输入字符串str="abEF123112",ch='1',则输出3。
int func(char *str,char ch) { }
main()
{char s[81],c;
clrscr();
printf("\nPlease input a string:");
gets(s);
printf("\nPlease input a char:");
c=getchar();
printf("\nThe number of the char is: %d\n",func(s,c));
}
七、时间分配
本次实验课程全部用时90分钟,分配如下:
实验题目1用时约15分钟。
实验题目2用时约15分钟。
实验题目3用时约20分钟。
实验题目4用时约20分钟。
实验题目5用时约15分钟。
填写实验报告,约5分钟。
实验三 结构体编程
一、实验目的
1 掌握结构体类型的定义、变量定义、使用方法。
2 掌握结构体编程的特色。
3 掌握结构体数组的使用。
4