好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

C语言与程序设计实验指导、报告书[1].doc

75页
  • 卖家[上传人]:zw****58
  • 文档编号:41004639
  • 上传时间:2018-05-28
  • 文档格式:DOC
  • 文档大小:655.50KB
  • / 75 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1 -精品 C 语言与程序设计实验指导、报告书班级:____________________姓名:____________________计算机科学与技术学院- 2 -C 程序设计语言课程是计算机专业和非计算机专业的一门技术基础选修课程,大学一年级开设,同时也是作为学生学习计算机的一种启蒙语言通过本课程的学习使学生更好地了解和应用计算机,培养学生应用计算机独立解决问题的能力,让学生基本掌握一门使用计算机的语言工具,为学生今后无论是从事计算机或非计算机工作都奠定了良好的、扎实的计算机语言基础C 程序设计语言最早是由 Dennis Richie 于 1973 年设计并实现的从那时开始,C 语言已经从其位于贝尔实验室的发源地传播到世界各地,它已成为全球程序员的公共语言,并由此也诞生了两个新的主流语言C++与 Java—它们都建立在 C 语言的语法和基本结构的基础上现在世界上的许多软件都是在 C 语言及其衍生的各种语言的基础上开发出来的C 程序设计语言课程是高强度的脑力劳动,不是听会的,也不是看会的,而是自己练习会的因此,要求大家在学习 C 程序设计语言课程时,不能满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即能独立地编写出源程序,独立地上机调试程序,独立运行程序和分析结果。

      程序设计是一门实践性很强的课程,必须十分重视实践环节,同时还必须保证应有足够的上机实验时间《C C 程序设计实验指导、报告书》是为配合 C 程序设计语言课程而编写的一本具有很强的实践性教材C 程序设计语言课程为我校精品课程建设之一,为了达到本课程各个教学环节的规范化,并且让学生真正达到学以致用的效果,除了要求学生掌握本课程大纲所要求的知识点外,更重要的还要通过实践教学环节来拓展学生程序设计的逻辑思维和提高程序设计的能力,同时也能让学生深刻地了解关于如何运用软件工程的理念去开发软件 3 -由于本课程是为面向全校各专业开设,为此,对学生学习本课程的要求也有所不同,考虑这一点,在本教程的内容安排上也有所不同,授课教师可根据授课专业的需要进行必要的题目选择本实验教程中内容的编写,是根据本课程教学大纲的指导下基本上是以学生的兴趣和爱好为出发点进行编排的,其中体现出在掌握了课堂教学环节上的理论知识,得以在本实践环节中得到应用本实验教程共安排了 5 个实验,每项实验包括实验学时、实验目的、实验内容及部分思考题等整个实验建议用 40 学时完成,其中计划学时20,另外 20 学时是对编程感兴趣的同学安排的,可作为选项实验题目,所以学生可以根据自己的情况进行选做。

      书山有路勤为径 祝你成功!C 程序设计课程教学组2005 年秋学期- 4 -目 录实验 1:简单 C 程序设计1.1 项目编程(1) 找出 a,b,c 中最大值(2) 按 a,b,c 值由小到大输出(3) 报选体育科目统计程序1.2 课外选做题(1) 输入 100 条数据,找出最大值及位置(2) 统计输入的字符串中,数字、字母与其他字符的个数(3) 打印简单图形实验 2:数组与排序2.1 项目编程(1) 交换数组元素(2) 排序程序(3) 查询程序2.2 课外选做题(1) 矩阵运算(2) 级数求和(3) 电路计算(4) 字符串处理实验 3:模块化编程3.1 项目编程(1) 矩阵运算(2) 字符串升序排序 (3) 排列方阵程序3.2 课外选做题(1) 计算某数的位数之积(2) 年龄统计程序(3) 字符插入操作- 5 -实验 4:指针与链表4.1 项目编程(1) 利用行指针实现成绩查询(2) 建立链表程序(3) 字符删除4.2 课外选做题(1) 字符统计(2) 结构体数组的应用(3) 字符串连接实验 5:综合程序设计5.1 项目编程(1) 破译密码程序(2) 趣味编程(3) 人民币面值统计(4) 考试成绩处理5.2 课外选做题(1) 文本词汇统计(2) 趣味编程(3) 选票统计附录 Ⅰ 本实验总结附录 Ⅱ 编程必须注意的几个问题 附录 Ⅲ 程序调试与常见错误分析 附录 Ⅳ TC 部分出错信息注释 参考文献- 6 -实验1 简单 C 程序设计一、实验学时:4二、实验目的:1、学习和了解 C 程序设计语言的数据类型及在内存中的储存方式,理解数据的层次结构;2、学习掌握输入、输出函数的基本格式和使用方法;3、了解 C 语言源代码转换成可执行程序的过程;4、掌握选择、循环语句的使用规则;5、能够设计和编写简单的 C 应用程序。

      三、必须学习和掌握的知识点:1、常用的数据类型及各类型数据的取值范围(int、、long int、、float、、double、、char)2、选择语句:if-else switch 3、循环语句:while do-while for4、编译程序图 1-1 所表示的是一个简化的编译过程,它简单地描述了计算机执行程序的方式实际编译过程的细节是非常复杂的,且难以理解,在此不予讨论图 1-1 编译过程 - 7 -编程人员在编程语言中要编写计算机将遵循的指令,类似于英语的命令称为源代码计算机读取这些代码后,将其存入内存,以便进行后续处理因为计算机不能执行这种形式的源代码,所以在处理之前,每条语句必须经历一系列的转换过程 图 1-1 说明了在文本编辑器中输入 C 语句来创建源程序编译器随后将源程序转换为一中间形式,称为目标程序 Object Program) ,目标程序表示源代码对应的机器码编译器读取和检查源程序的各个语句,在检查过程中将源语句转换为机器码(即计算机可以理解的二进制代码) ,并检查其语法错误如发现错误,编译器将标记不正确的语句,并打印一系列错误诊断消息,简要说明所有语法错误(即违反 C 语句有效编写规则的代码) 。

      此时,编程人员需要修改错误并重新编译程序查找和修改错误的过程称为调试,在编译器指示编译过程没有错误之后,调试才告终止C 程序通常包含对预先编写函数的引用,这些函数存储于称为头文件的库中,链接器的首要任务是引入预编译的库代码,并将其插入到目标程序中,以创建可执行程序5、程序流程图程序流程图是一个图表,它显示了计算机执行程序的详细处理步骤和顺序,在书中用于描述求解问题的算法图 1-2 为设计者提供的程序流程图所用的标准符号,请参考图 1-2 程序流程图标准符号 - 8 -四、实验项目: 1、将下列源代码输入计算机并运行,然后分析其运行结果 main(){ int a; long int b; float c; double d; char e;printf(“sizeof a=%d\n”, sizeof(a));printf(“sizeof b=%d\n”, sizeof(b));printf(“sizeof c=%d\n”, sizeof(c));printf(“sizeof d=%d\n”, sizeof(d));printf(“sizeof e=%d\n”, sizeof(e));}(1)本程序段要求学生对 C 语言的数据类型的理解,并通过实际运行结果观察到常用的数据类型在内存的存储方式及占用存储空间的字节数;(2)源代码中的 sizeof()sizeof()函数:实现计算数据类型字节的长度。

      2、将下列由程序流程图描述的算法,转换为 C 源代码并填写到图1-3b 框中,然后输入计算机并运行后分析其运行结果/ * C 语言源代码 */ main(){}- 9 -图 1-3a 程序流程图 图 1-3b 转换后 C 语言源代码3、项目编程(1)请向计算机输入 a,b,c 三个值,经过程序处理后,要求输出其中最大的一个项目要求:① 画出程序流程图;② 根据流程图编写程序程序流程图/* 输出最大值 */ main(){}- 10 -(2)请向计算机输入 a,b,c 三个值,经过程序处理后,要求按值从小到大输出项目要求:① 画出程序流程图;② 根据流程图编写程序项目提示:① 可采用 if 结构; ② a,b,c 由 scanf 函数输入程序流程图/* 将 a,b,c 三个值由小到大输出 */ main(){}- 11 -(3)编程实现打印下列由字母组成的树形说明:本项目编程的知识点是让学 生对双重循环语句结构的理解,清楚双 重循环的特点(即当外循环变量中的值 变化一次时,则内循环变量中的值要变 化若干次) 提示:可用外循环变量代表行数; 内循环变量代表需打印字符的个数。

      难点:①字符个数是按奇数变化递 增②左右边界字符打印的位置 图 1-4 字母 A-G 组成的树形 / * 打印图形 */ main(){}}- 12 -(4)设计报选体育科目统计程序设某学校在新生入学时,需报选体育选修科目体育科目包括:篮球、排球、体操、兵乓球和网球请为某班级(30 人)统计报选各体育科目人数项目要求:① 画出程序流程图;② 根据流程图编写源程序项目提示:可采用 switch 与 for 结构 程序流程图C 语言源代码 main(){}}- 13 -五、知识点检查: (1) 解释下列语句的作用,为什么要在变量名之前加 scanf(“%f ”, 解答:(2) 若忘记在上文中的 scanf()的语句中加入“num=32767;printf(“num=%d\n”,++num);}解答:② main(){ int a=-2;printf(“%d,%o,%d\n”,a,a,--a);}解答:- 14 -(5) 通过本次实验,即从编程输入、运行、调试以及直到最后输出正确的结果,你从中得到了哪些收获?对于程序运行所出现的错误是如何解决的?解答:六、课外选做题: 1、从键盘输入 100 条整型数据,请找出其中最大的一个数,并指出这个最大的数是第几次输入的。

      2、分别统计出在输入的字符串中字母、数字和其他字符的个数3、请编程实现打印由部分字母组成的图形,如图 1-5 所示 图 1-5 字母组成图形- 15 -实验2 数组与排序一、实验学时:4二、实验目的:1、理解数组的作用、下标的用法及数组元素在内存中的存储;2、学习并掌握一维数组与多维数组的应用;3、学习并掌握常用的排序算法;4、了解字符数组的特殊应用三、必须学习和掌握的知识点:1、数组的定义、特点和使用规则2、数组的查找、排序和插入四、项目编程1、 将下列一组数读入到 a 数组中,然后从 a 数组中找出其中最大的元素并与第一个数互换;然后从 a 数组中找出最小的元素并与最后一个数互换,而其余元素的位置不变例如,图 2-1 所示 图 2-1 a 数组中部分元素位置的变化(1) 编程技巧与注意事项:① 数组是用来在内存中存储一组相关数据项可对存储于内存的数据进行反复处理,而不必再重新输入② 在 C 中虽然允许在同一行中定义多个数组,但最好还是每行只定义一个数组,这样做可以消除将逗号错写为分号的可能性;另外在调试过程中,也便于查找数组名 16 -(2)本项目编程指南:① 采用循环结构;② 需定义一个一维数组 a,四个 int 型变量主要用于储存最大数和最大数的位置及最小数和最小数的位置项目要求:① 画出程序流程图;② 根据流程图编写源程序项目提示:可采用 switch 与 for 结构 程序流程图C 语言源代码 main(){}- 17 -2、 以下是某班级(32 人)高数的考试成绩。

      要求将此成绩输入到a 数组中,然后按其值由高分到低分进行排列,并输出其排列后的成绩清单1) 本项目编程指南: 这是一个关于排序的问题所谓的排序是按给定顺序排列数据的过程,可根据数组内容按升序或降序排列元素通常都按数据的输入顺序将数据加载到数组中;如果改变输入顺序,若元素为字符型则应按字母顺序排列,若元素为数值型可按值的大小(即升序或降序。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.