《C语言程序设计》实验报告数组.doc_第1页
《C语言程序设计》实验报告数组.doc_第2页
《C语言程序设计》实验报告数组.doc_第3页
《C语言程序设计》实验报告数组.doc_第4页
《C语言程序设计》实验报告数组.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计 课程实验报告实验名称 学 号_ 姓 名 _ 班 别 实验日期: 年月日 实验报告日期: 年月日指导老师: 实验地点: 成 绩: 评 语: 实验目的和要求掌握一维数组和二维数组的定义、赋值和输入输出的方法;掌握字符数组和字符串函数的使用;掌握与数组有关的算法(特别是排序算法)。实验环境硬件环境:分辨率至少在1024*768像素之上的显示器;P-III及其兼容处理器,或更高型号;处理器速度至少600MHz,推荐1GHz或更高;内存至少512MB,推荐1GB或更大;2G以上硬盘空间。软件环境:安装windows操作系统和TC(或VC+)软件。实验重点及难点重点:一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。实验过程一、相关知识1数组是一组有序数据的集合,数组中的每一个元素都属于同一个数据类型。2定义一维数组的一般形式:类型符 数组名常量表达式;3在定义数组并对其中各元素赋值后,就可以引用数组中的元素。4将数组中各元素的初值顺序放在一对花括号内,数据间用逗号分隔。花括号的数据就称为“初始化列表”。例如:ao=0,a1=1,a2=2,a3=3.5在对全部的数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长度。6.如果在定义数值型数组时,指定了数组的长度并对之初始化,凡未被“初始化列表”指定初始化的数组元素,系统会自动把他们初始化为0(如果是字符型数组,则初始化为”0”,如果是指针型数组,则初始化为NULL,即空指针)。7.二维数组的一般形式为: 类型说明符 数组名常量表达式常量表达式;8.C语言中,二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第1行的元素,接着再存放第2行的元素。9.二维数组的表示形式为 数组名下标下标10.用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。11.如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面的那些元素,其余的元素自动定位空字符(即”0”)。11.C系统在用字符数组存储字符串常量时会自动加一个0作为结束符。0代表ASCII码为的字符,从ASCII码表中可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做。用它来作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志。12.strcpy函数的一般形式为: Strcpy(字符数组1,字符数组2)Strcmp函数的一般形式为 Strcmo(字符串1,字符串2)二、实验内容:1.输出Fibonacci数列的前20个数;2分别用冒泡法和选择法对10个数进行排序;3.有一个已排序好的数组,要求输入一个数后,按原来排序规律插入到数组中;4.有一篇文章,共有3行文字,要求分别统计出大写字母、小写字母、数字、空格以及其它字符的个数。三、实验过程1.输出Fibonacci数列的前20个数,。输入以下程序:#include stdio.h void main() int a20,i; a0=1; printf(%dt,a0); a1=1; printf(%dt,a1); for(i=2;i20;i+) ai=ai-1+ai-2; printf(%dt,ai); 输出结果如图下:2分别用冒泡法和选择法对10个数进行排序。编写以下程序:#include main() int a10; int i,j,t; printf(input 10 numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(j=0;j9;j+) for(i=0;iai+1) t=ai;ai=ai+1;ai+1=t; printf(the sorted numbers:n); for(i=0;i10;i+) printf(%3d,ai); printf(n); 结果截图如下:3.有一个已排序好的数组,要求输入一个数后,按原来排序规律插入到数组中。编写以下程序:#include main() int a6 = 1,3,6,7,9; int i,j,x,t; printf(insert data:); scanf(%d,&x); for(i=0;i5;i+) if(xi;j-) aj=aj-1; aj=x; printf(Now array a:n); for(i=0;i6;i+) printf(%4d,ai); printf(n); 结果如下:4.有一篇文章,共有3行文字,要求分别统计出大写字母、小写字母、数字、空格以及其它字符的个数。编写以下程序:#include int main()int i,j,upp,low,dig,spa,oth;char text310;upp=low=dig=spa=oth=0;for (i=0;i3;i+) printf(please input line %d:n,i+1);gets(texti);for (j=0;j=A& textij=a & textij=0 & textij=9)dig+;else if (textij= )spa+;elseoth+;printf(nupper case: %dn,upp);printf(lower case: %dn,low);printf(digit : %dn,dig);printf(space : %dn,spa);printf(other : %dn,oth);return 0;输出结果如下:四、实验结果及分析此次试验主要就是对数组的运用,同时也运用了if条件语句以及for循环语句的运用,让以前的知识点得到了复习。通过对数组的运用,我们首先

温馨提示

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

评论

0/150

提交评论