《C语言程序》课程设计报告书数组的排列

上传人:仙*** 文档编号:31339076 上传时间:2021-10-11 格式:DOC 页数:16 大小:83KB
收藏 版权申诉 举报 下载
《C语言程序》课程设计报告书数组的排列_第1页
第1页 / 共16页
《C语言程序》课程设计报告书数组的排列_第2页
第2页 / 共16页
《C语言程序》课程设计报告书数组的排列_第3页
第3页 / 共16页
资源描述:

《《C语言程序》课程设计报告书数组的排列》由会员分享,可在线阅读,更多相关《《C语言程序》课程设计报告书数组的排列(16页珍藏版)》请在装配图网上搜索。

1、吉林工程技术师范学院C语言程序课程设计报告书设计题目: 数 组 的 排 列 专 业: 计算机应用 班级 1021 学生姓名xx 学号: 10 指导教师:xx 2010年12月摘 要 我所设计的报告是关于数组的相关应用。数组是一组同类型数据的有序集合数组在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。数组说明的一般形式为: 类型说明

2、符 数组名 常量表达式,; 其中,类型说明符是任一种基本数据类型或构造数据类型。 数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度数组元素是组成数组的基本单元。数组元素也是一种变量, 其标识方法为数组名后跟一个下标。 下标表示了元素在数组中的顺序号。数组元素的一般形式为: 数组名下标 其中的下标只能为整型常量或整型表达式。如为小数时,C编译将自动取整。关键字:数组 变量 类型说明符 下标 I目 录摘 要I第1章 概述1第2章 系统分析22.1 技术分析22.2 功能分析2第3章 总体设计与详细设计33.1 系统总体设计33.2 详细设计4第4章 编码实现

3、54.1 数据输入部分代码设计54.2 运算部分代码设计54.3 输出部分代码设计5第5章 系统调试65.1 程序运行结果65.2 调试过程中的问题与对策7第6章 设计总结8参考资料11致谢11附录:1 源代码12 信息工程学院 C语言课程设计报告第1章 概述C语言程序设计对于现阶段的学生来说,是一门较难掌握的课程。其中,数组这一章的内容更是难点。数组的难点在于数组的概念,当弄清了基本概念后,再进行数组的应用。循序渐近,打好基础,由点到面,重在应用。关键在于基础是否牢靠。如何进行数组概念的讲解,我认为主要抓住一点:数组就是一组变量的集合,但又不单纯是变量的简单集合,而是一组互相关联,有一定关系

4、的变量。这组变量的关系如下:1. 其数组名相同,下标以等差数列依次排列。2. 以一维数组a10为例,该数组成员分别是a0、a1、a2a9。在内存中各成员的位置以下标为序,在内存地址中依次升序存放。所以,当我们找到了某数组中任一个成员的地址,即可以通过该地址找到其他所有成员。清楚这一点后,可以进行较深入的讲解。其中,有几个重要知识是必须要强调的。首先要讲清楚任何一个数组其成员的下标都是从0开始的,而在定义过程中的下标仅指数组长度。数组的优点在于能够简化程序设计的复杂性。对于一维数组,有几道较为典型的例题,其中若干个数字的排序是最为重要的。我们可把“冒泡法”排序和“选择法”排序作为一个切入点,深入

5、地进行数组的学习。所以这几种是是否学好数组的关键所在。其次,数组的下标仍是不可忽视的关键环节。在程序设计中经常使用到的数组是可以在内存中连续存储多个元素的结构,数组元素在数组里顺序排列编号,这些元素的编号称为元素的下标。在数组的处理过程中,如果数组的下标“越界”,C语言不会导致语法错误,不会执行数组下标有效性检查,而且数组的下标不仅是可以从0开始,还可以从一个负数开始,因为实际上C语言的数组根本就是一个指针的语法。再者就是数组的定义,如何定义一个正确的数组直接影响整个程序的正常运行。把具有相同数据类型的若干变量按有序的形式组织起来,以便于程序处理,这些数据元素的集合就是数组,按照数组元素的类型

6、不同,可分为:数值数组、字符数组、指针数组结构数组等各种类别。第2章 系统分析2.1 技术分析本程序利用for()语句来实现数据运行结果,该语句的执行过程简单通俗易懂。for()语句的一般格式是(表达式;表达式;表达式)循环体语句for循环语句的执行过程为:执行表达式;计算表达式的值,若为真,执行循环体;若为假,则结束循环;计算表达式的值,然后重复进行表达式值的判断,为镇接着进行循环,否则结束循环。For是关键字,执行时,表达式只操作一次,而表达式和表达式需要重复处理各个表达式可以使任意的表达式,各个表达式之间用分号隔开,常见的情况表达式为赋值表达式,第二个表达式是关系或逻辑表达式,第三表达式

7、是自加、自减表达式。而且当循环体中包含一条语句时可以省略“。如果循环体中包括两条或两条以上的语句那么该语句称之为复合语句。而且,在三个表达式中部分语句可以省略不写,但中间的分号是不可以去掉的,也就是在某种意义上被省略的语句还是存在的2.2 功能分析我所设计的有关数组的程序是为刚刚学习数组的初学者而设计的。对于初学者来说,能够熟练的掌握一些简单的数组例题是一项不小的进步。如果能够帮助初学者更进一步的掌握数组知识是我设计这个程序的最大心愿。我所设计的程序能够实现一维数组的排序。第3章 总体设计与详细设计3.1 系统总体设计1设计流程图系统总统设计图 如图所示:。 开始输入数组元素 输出原数组执行程

8、序体 结束输出数组元素定义数组定义变量i,j;输入字符串 图3-1 总体设计流程图2包含的功能结合了for语句的应用,输出语句、实现数组元素的颠倒输出。3.2 详细设计#includestdio.hmain() /*主函数*/int a10=1,2,3,4,5,6,7,8,9,0; /*定义数组a,给数组赋值*/ int i,j; /*定义连个变量 i,j;for(i=0;i=0;j-); /*使用for语句运行程序*/printf(%d,ai); /*输出原数组元素*/printf(n); / *利用输出语句换行*/第4章 编码实现4.1 数据输入部分代码设计输入部分是利用循环语句来实现的。

9、输入部分可以在程序开始之前赋给事先定义好的数组,也可以利用scanf()语句进行相应的赋值实现程序的输入部分。程序中利用了数组进行存储数据,有利于数据的管理和更好的使用程序中所要使用的相关数据。本程序中还使用了发for循环语句,使原有的复杂的程序变得更简单明了int a10=1,2,3,4,5,6,7,8,9,0; /*定义数组a,给数组赋值*/ int i,j; /*定义连个变量 i,j;4.2 运算部分代码设计运算部分主要利用数据的交换来实现运算的,;利用for语句实现程序的运行达到实现数据颠倒顺序的功能;for(i=0;i=0;j-); /*使用for语句运行程序*/4.3 输出部分代码

10、设计输出部分是利用printf语句来实现的,输出颠倒顺序后的数组元素,从而实现所要实现的功能;printf(%d,ai); /*输出原数组元素*/printf(n); / *利用输出语句换行*/第5章 系统调试5.1 程序运行结果系统调试通过后的运行界面如图5-1所示。图5-1 程序运行结果图在输出结果之前一般应注明输入的数据,以便对输出结果进行分析和比较。5.2 调试过程中的问题与对策1. 问题1 如图 本程序中输入语句使用gets语句无法正常运行。2 for语句无法正常使用。3 数组不赋初值程序仍无法正常运行,仍有错误语句出现。4 当程序中再没有错误语句出现时,程序还是不能正常运行。5 当

11、程序可以运行并能够输出结果时,运行结果界面出现黑屏。2. 对策当程序使用gets语句时程序不能正常运行,是因为本程序运行的是针对数组元素为数字的程序,而gets语句是指对字符串的输入函数,而输入数组数字应该使用scanf语句;当使用for语句时,条件后面是不能使用分号结尾的;如果使用了分号程序仍无法运行下去;在使用时,必须首先确定保存路径,如果路径不对程序将会自动退出程序进入编辑界面。如果没有实现保存路径运行结果将出现黑屏。第6章 设计总结经过这学期对C程序设计的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我

12、们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。当所有的课程都悄然结束。C语言课程设计悄悄地走进了我们的复习生活,刚刚进入大学对于一些事物都很陌生,从来没有做过的课程设计对于我们来说是一个不小的挑战。什么都不懂什么都显得那么棘手。但是,你却不能不去做,不是说要在现实中不断的摸索吗?所以就算在难也要坚持下去,只有这样才有进步的可能,如果一味的停留在原地只会让自己变得更愚昧无知。在课程设计的第一天,带着必须受挫的地心理进入了实验室。当选择的课程题目敲定后,我就觉得课程设计好像没有想象中的那么难嘛。所以我就带着一颗“课

13、设不难”的心态去做所有的准备工作。但是,我的想法太过单纯了,当程序不断的出错,再改,再出错时,我真是有想哭的冲动,为什么要做这东西啊,我们不过是大一的新生,干嘛要做这么复杂的东西啊。这么难、这么费劲。但是当情绪调整过来之后还是要继续去做,如果什么事情都不能做到最后那还有什么事情可以让我们有坚持下去的理由呢?所以我告诉自己你必须坚持下去,而且要坚持到最后。说起C语言,对我们学习软件技术的学生还是特别重要,它除了能便于一些小型程序之外,还能便于一些大型的程序。计算机本身是无生命的机器,要是计算机能够云喜过年起来,为人类完成各种各样的工作,就必须让他执行相应的程序,这些程序都是依靠程序设计语言编写出

14、来的。在众多的程序设计语言中,C语言有独特之处。它作为一种高级程序设计语言,具备方便性、灵活性和通用性等特点。同时,他还向程序员提供了直接操作计算机硬件的功能,具备低级语言的特点,适合各种类型的软件开发。因此C语言是深受软件工程人员欢迎的程序设计语言。要想学好C语言首先要了解C语言的发展、特点等一些知识任何事物的产生都有一定的历史背景,C语言也是这样。20世纪60年代,随着计算机技术的迅速发展,高级程序设计语言得到了广泛的应用。但是,仍没有一种可以用于开发操作系统等系统软件的高级语言,人们不得不用汇编语言来开发。然而汇编语言存在着不可移动、可读性差、研制软件效率不如高级语言等缺点,给编程带来了

15、极大的不便。为此,人们希望能够找到一种既具有一般高级语言的特点,又具有低级语言特性的语言。C语言就是在这种背景下诞生的。这就是C语言的产生。C语言的特点。一种语言之所以能存在和发展,并具有生命力,总有些不同于其他语言的特点。C语言有以下几个基本特点1 C语言既具有高级语言的通用性及易读的特点,又具有汇编语言的“位处理”、“地址操作”等能力。这使得C语言不仅像pascal、fortran、basic等高级语言那样用于应用软件的设计,还能像汇编语言那样用于计算机系统软件和控制软件的开发。2 C语言是一种结构化程序设计语言,具有丰富的数据类型、众多的运算符,这使得程序员能轻松地实现各种复杂的数据结构

16、和运算;C语言所具有的体现结构化程序设计的控件结构和具备抽象功能及体现信息隐藏思想的函数,可以实现程序的模块化设计。3 语言简练、紧凑、使用方便灵活。编译后生成的代码质量高,运行速度快。4 C语言具备良好的可移植性。若程序员在书写程序是严格遵循ANSIC标准,则其源代码基本上可不做修改,就能用于各种型号的计算机和各种操作系统。5 语言功能丰富。它不仅提供了丰富的运算符号,还提供了各种功能强大的系统函数。尽管C语言有很多优点,但也存在一些缺点和不足。比如它的类型检验和转换比较随便,优先级太多不便于记忆,不检查数组越界。这些的都对程序设计者提出了更高的要求,也给初学者增加了难度。以上就是语言的特点

17、。虽然,这不是一项简单的程序,但是只要用心细心的去分析就会找出具有它独特的方法,从而更方便的将语言应用到生活当中。课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。课程设计的基本理论是该课程设计的C语言为基础,掌握程序设计方法,为科学研究中的基层开发工作奠定良好基础;同时培养学生的分析能力、设计能力和整体设计思想,以提高学生的科学研究素质和在工作岗位中的具体应用能力。课程设计内容和基本要求,首先课程设计内容是利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,帮助学生熟

18、悉程序编写,及时查究错误,独立完成如果说第一天是摸索,第二天是创业,第三天是完善,第四天就是革命了!经过我的不段努力,一个又一个的问题在我的脑细胞下伏首称臣,一个又一个枷锁被我斩断,好象又获得了另一片天地,感到神情气爽,一坐又一坐高山被我征服,在欢庆胜利的喜悦的同时,我看着下面依然在不懈的奋斗中的同胞姐妹们,心里叫一个着急啊!我知道今天的努力就是明天的成功。我是经过自己的努力成功了,但在这可能是我终生难忘的,在这过程中我经历了风风雨雨,经过了酸甜苦辣课程设计就快要结束了,但是学习的路程依然漫长,“学海无涯苦做舟,书山有路勤为径”,这句话一直在我脑海中。在实现社会中知识是永无止境的,在知识中我们

19、可以学习前人丰富的思想学识,我们可以熏陶自己的灵魂,我们可以增进自己的情感,我们可以了解到世界的宽广和伟大。所以我们要尽我们最大的努力来学习语言,为我们的未来添加一份色彩,为社会和我国的计算机事业做出一份成绩。参考文献1 乌云高娃等.C语言程序设计.北京:高等教育出版社,2007.72 吴婷等.C语言答疑解惑与典型题解.北京:邮电大学出版社,2010.53 谭浩强.C语言程序设计.北京:清华大学出版社,2000.14 谭浩强.C程序设计试题汇编.北京清华大学出版社,2004.95 谭浩强.C程序设计.北京清华大学出版社,2005.96 李春葆.C语言习题解答.北京:清华大学出版社,2002.5

20、7 陈朔鹰等.C语言程序设计习题集北京:人民邮电出版社,.2000.78王希武.C语言程序设计(第二版)北京:电子工业出版社,2001.7致 谢在这里我要感谢学校为我们提供了良好的实验室及拥有方法资料的阅览室方便了我们更好的查阅相关的知识。还要感谢我们的指导老师王少华老师、张松岩老师,那些曾经帮助我解答疑问的同学们。谢谢你们的帮助,如果没有你们的帮助我不可能这么快完成老师布置的任务,也不可能这么顺利的完成课程设计报告。所以我要在这里特别鸣谢对我提供帮助的老师同学们,谢谢你们!附录1源代码#includestdio.hmain()int a10=1,2,3,4,5,6,7,8,9,0,j,i;for(i=0;i=0;j-);printf(%d,ai);printf(n);13

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!