资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
第 1 页 共 5 页程序设计基础程序设计基础课程实验教学大纲课程实验教学大纲 实验项目数:11适用专业:计算机应用、计算机网络工程 课程总学时:64课程总学分:3.5 实验总学时:28/2实验总学分: 一、实验教学的目的与要求:一、实验教学的目的与要求: 程序设计基础是计算机类专业的一门专业基础课程,在程序设计技术类课程的教学中,实验占有 极其重要的地位。通过实验教学对课堂教学进行有效的补充和内容延续,使学生掌握结构化程序设计的基 本思想和方法,训练学生的逻辑思维能力,培养学生严谨的思维方式和良好的程序设计风格。 实验与课程主教材(计算机程序设计基础)内容相结合,贯彻“精讲多练”的原则,激励学生学习的 积极性、主动性和创造性,充分利用实验,注重基础训练,提高程序设计和程序调试的实际能力,进而全 面理解和掌握课程内容。通过实验应达到以下要求: 1) 理解模块化程序设计基本思想,掌握结构化程序设计的基本方法。 2) 掌握 C 语言的数据结构、程序结构、语句以及控制结构等的使用方法。 3) 能用程序设计技术解决一定难度的实际问题。 4) 能掌握在实际开发环境(如:UNIX/LINUX OS 平台、Microsoft OS 平台等)下对 C 语言程序进行 编辑、编译、连接、调试和运行。 二、二、实验课程内容、学时:实验课程内容、学时:序 号实 验 项 目实 验 内 容学 时类 型备 注1环境设置、运行 C 程 序1根据要求配置实验环境(工作目录等) 。 2输入一个 C 源程序,学习编辑、编译、连接和运行程序 的方法,理解一个函数组成的 C 程序的构成,主函数 (main)的意义。/ This is first C program. #include void main() printf(“This is a test.n“); 3通过调试主教材例 2-2 理解并掌握 C 语言中自增/自减运 算符的使用方法。 4通过调试主教材例 2-4、2-5 理解并掌握程序设计中的混 合运算和数据类型转换概念和方法。 5通过调试主教材例 2-62-13 理解并掌握 C 语言中标准库 函数 scanf、printf、getchar、putchar 的基本使用方法, 输入输出对象的格式控制(格式控制项的使用) 。2验 证 型2C 语言的控制流程1 编写一个判定某年是否为闰年的程序。 2 编程实现求两个正整数的最大公约数和最小公倍数。 3 编程序实现功能:求 1 到 1000 之间满足条件“用 3 除 余 2;用 5 除余 3,用 7 除余 2”的数,并且一行输出 5 个数。 4 编程序实现功能:求出用数字 0 到 9 可以组成多少个没 有重复数字的三位偶数。 5 编程序实现功能:求 1000 以内的所有“完全数” 。所谓 “完全数”是指一个数恰好等于它的所有因子之和,例4综 合 型第 2 页 共 5 页如,6=1+2+3,6 是“完全数” 。 6 编程序求出所有的“水仙花数” 。 “水仙花数”是一个三 位数,其各位上数字的立方之和恰好等于该数本身。要 求: a)用一重循环(拆分整数)的方法实现程序; b)用循环嵌套(组合三位数)的方法实现程序;3C 程序的结构和函数 调用1 通过调试主教材例 4-3 理解并掌握 C 程序函数调用中参 数传递的规则。 2 通过调试主教材例 4-7 理解并掌握 C 程序中全局变量、 局部变量之间的关系。 3 通过调试主教材例 4-8 理解 C 程序中全局变量作用域扩 充和限制的方法;掌握实验环境中工程文件的使用方法。4 编写一个函数(功能任意) ,要求在函数中能对自己被 调用的次数进行记录,在主函数中可以得到这个记录值。 通过对该程序的调试理解静态自动变量的意义。 5 编制能通过使用静态变量实现求阶乘的函数,并编写主 函数对其进行测试。 6调试主教材例 4-10 并回答下列问题: 1) 系统如何使用堆栈实现函数的递归调用? 2) 若干次递归调用时递归函数中定义的自动变量组之 间的关系如何?4验 证 型综 合 型4 5 6 项 为 综 合 型 实 验4C 程序函数调用中的 指针参数1 通过调试主教材例 5-2 理解指针的基本概念;掌握指针 运算的基本概念。 2 通过调试主教材例 5-4 中的 3 个关于 swap 的程序理解 并掌握指针作为函数参数的使用方法。 3 编程序求函数 f1(x)=ln(1+x)/(1+x2)在区间(1,2)和函数 f2(x)=1+3x 在区间(0,5)的定积分。要求使用矩形法或 辛普生法编制求定积分的通用函数。 4 编程序求方程:2x3-4x2+3x-6=0 和 x3-8x-2=0 在 1.5 附近 的根,误差为 10-5。要求通过编制用割线法求方程解的 通用函数实现。2验 证 型设 计 型3 4 项 为 设 计 型 实 验5数组在程序中的使用1 函数原型为:void reverse(int *a, int n);,其功能是将长 度为 n 的整型数组 a 中的的所有元素颠倒位置存放。编 制实现该功能的函数并用相应的主函数测试。 2 重新实现函数 void reverse(int *a, int n);,要求将其设计 为递归函数。 3 重写主教材例 6-5 中的排序函数 sort,要求使用指针方 式实现。 4 调试主教材例 6-16 并回答下列问题: 1) 表达式(*ptr)+与*ptr+有何不同? 2) 如果将程序中的语句(*ptr)+误写为*ptr+,程序还 能实现其要求的功能吗,为什么?4综 合 型设 计 型6结构体、联合体在程 序中的使用1 编制一个程序实现功能:输入若干个学生信息并输出, 输入、输出功能均由函数实现。通过程序的实现掌握结4综 合第 3 页 共 5 页构体类型数组的输入方法,并在程序的实现过程中尽可 能使用返回结构体类型的函数,指向结构体类型的指针。2 编程序实现功能:获取用户按键的 ASCII 码或键盘扫描 码直到输入 Q 或 q 时退出。通过此例学习联合体类型变 量的使用方法、掌握使用联合变量时应注意的问题。 3 在计算机的数据存储时,一般是低位在前,高位在后, 试利用联合体类型编程证明之。 4 编写一个程序求解约瑟夫问题:有 n 个小孩围成一圈, 给他们从 1 开始依次编号,现指定从第 w 个小孩开始报 数,报到第 s 个时,该小孩出列,然后从下一个小孩开 始报数,仍是报到 s 个出列,如此重复下去,直到所有 的小孩都出列,求所有小孩的出列顺序。型设 计 型7C 程序中的字符串处 理1 编写函数 void strncpy(char *s,char *t,int n),该函数的功 能是将字符串 t 中的前 n 个字符复制到字符串 s 中。并 编写主函数对其进行测试(提示:请参照主教材例 7-3 中函数 stringcopy) 。 2 编写函数 reverse(char s),其功能是将字符串 s 颠倒。 并使用该函数编程序实现判断输入字符串是否“回文” 的功能。 3 编写函数实现对若干个(10 个以内)字符串进行排序的 功能,排序算法选用“冒泡法”或“选择法” ,字符串 的交换操作采用字符串拷贝的方法实现。编制主函数对 其进行测试 4 重做上面实验,要求字符串的交换采用交换指向字符串 的指针的方法实现。 (提示:采用字符指针数组) 5 编程序实现功能:判定一个子串在一个字符串中出现的 次数,若该子串不出现在字符串中则返回 0。要求尽量 在程序设计中使用标准库函数。 6 编程序实现功能:调用自编的查找函数查找一个子串在 一个字符串中最后一次出现的位置,若这样的子串存在, 则将其从主串中删除。然后输出处理后的主串。要求: 删除和输出操作在主函数中进行;尽量在程序设计 中使用标准库函数。6综 合 型设 计 型8C 程序中的二进制位 处理1 函数的原型为:unsigned int rightrot(unsigned int a,int n); ,其功能是将数据 a 的内容循环右移 n 位。试编制该函 数并用相应主函数测试。 2 编写函数实现功能:取出一个 16 位的二进制数据的奇数位(即从左起第 1、3、5、15 位) 。并用相应主函 数测试。2综 合 型9C 程序中的文件处理1 调试主教材例 9-2 和例 9-9,理解文件拷贝实现的基本 思想。 2 编制函数实现功能:统计文本文件中单词的个数。编制 相应主函数对其进行测试,要求被统计的文件名在主函 数中输入。4验 证 型设2 3 4 项 为第 4 页 共 5 页3 编写实现文件比较功能的函数,并用相应主函数进行测 试。要求在主函数中输入被比较的两个文件的名字,并 在主函数输出比较的结果信息。 4 编程序实现功能:将某一文本文件中的所有大写字母修 改为小写字母。 (提示:通过实验可以理解被处理文件 是读写文件时,文件内部记录位置指针的操作方法)计 型设 计 型 实 验10C 程序中的数据类型 扩展1 通过调试主教材例 10-5例 10-7 掌握并理解 C 语言中关 键字 typedef 的使用方法。 2 通过调试主教材例 10-10 掌握 C 语言中命令行参数的使 用方法。 3 现有一篇英语文章,字数不详。请编制能够判断文章中 是否使用了某一个英语单词的程序,要求如下: 1) 被查找的英语文章(文件)名字从命令行带入; 2) 程序中的查找单词功能要求使用二分查找法实现。 4 编制程序实现功能:统计一个(英文)文本文件中单词 词频,并按词频的降序排序后输出所有单词。 5 设计一个函数实现功能:通过单链表将一个整型数组颠 倒存放。并设计相应主函数对其进行测试。 (提示:将 数组中的元素依次取出,通过前插的方法构成一个单链 表。然后再遍历该单链表,将单链表中结点中的数据取 出存放回数组) 6 输入一组整数(以作为结束标志) ,通过单链表将这 些数按升序排列输出。 (提示:循环输入整数,将输入 的整数采用插入排序的方法插入到单链表中,然后遍历 该单链表并输出相应数据)6验 证 型综 合 型设 计 型1 2 项 为 验 证 型 实 验11C 程序中的变长参数 处理和编译预处理1 通过调试主教材例 10-12、例 10-13 理解 C 语言中变长 参数的处理原理。 2 通过调试主教材例 10-16、例 10-18 理解并掌握宏定义 预处理语句的使用方法。2验 证 型三、教材(讲义)三、教材(讲义) 、参考书:、参考书: 1 The C Programming LanguageBrian W. Kernighan & Dennis M. Ritchie Prentice-Hall International,Inc. 2 The C Answer BookClovis L. Tondo & Scott E. Gimpel Prentice-Hall International,Inc. 3 程序设计方法Matthias Felleisen 等著、黄林鹏等译,人民邮电出版社 4 C 程序设计的抽象思维Eric S.Roberts 著,机械工业出版社 5 C 算法:第一卷Robert Sedgewick 著、周良忠译,人民邮电出版社 6 C 语言程序设计孙家骕等 北京大学出版社 四、考核方式:四、考核方式: 抽查、提问,提交实验报告或实验内容源程序文件。 五、使用说明:五、使用说明: 全部实验项目需要 40 实验学时,任课教师可以根据教学内容和教学进程的需要进行适当调整,具体实 验内容可以根据学生完成的实际情况选取或增减。制订人:熊壮审核人:2005 年 10 月第 5 页 共 5 页
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号