- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[小学教育]C课件第四章
第四章 数组 4.1 一维数组 4.2 二维数组 4.3 字符串 4.4 指针和数组 4.5 程序举例 数据的基本类型:字符型、整型、实型、逻辑型。 通过定义一个变量来存取一个数。 实际生活中经常要处理同一性质的成批数据,有效的解决方法就是使用数组 数组:由一组具有相同数据类型的数据按照一定的规则组成的集合。 1)一组数据组成的集合 2)各数据具有相同数据类型,各数据称为数组元素 3)按照一定的规则:有序性 4)数组属于构造类型 5)常与循环语句结合使用,使得程序简洁 6)与指针有着密切的联系 4.1 一维数组 4.1.3 数组元素的引用和基本操作 1.数组元素的引用 形式:数组名[下标] 相当于一个普通变量 例4.1 数组元素的引用。 #include iostream.h void main( ) { int i; int a[5]; //定义数组a for (i=0;i=4;i++) a[i]=i; //给数组a赋值 for (i=4;i=0;i--) couta[i]″ ″; //输出数组a的值 coutendl; } 越界问题 若一个数组含有n个元素,访问元素时,必须保证下标表达式的值是从0到n-1之间的整数。如果表达式的值超出该范围,这种现象称为越界。 假设有定义:int a[N]; N是已定义过的符号常量。 例3:练习1 思想:所谓“筛选法”,也称“埃拉托色尼筛选法”,古希腊数学家。他采取的方法如下: 在一张纸上写上1~1000全部整数,然后逐个判断它是否为素数,若为非素数,就把它挖掉,最后剩下的就是素数。 具体做法如下: 1)先将1挖掉 2)用2去除它后面的各个数,若能被2整除,挖掉 3)用3去除它后面的各个数,若能被3整除,挖掉 4)用4,5,6,……去除它后面的各个数。这一个过程一直进行到在除数后面的数全部被挖掉为止。如果需要找1~n的素数表,只需进行到除数为 即可。 上面的算法可以表示为: 1)挖去1 2)检查p是否小于 ,如果不是,则结束,否则 3)用下一个未被挖去的数p去除p后面的各数 4)剩下的数就是素数 4.1.4 数组排序 学生成绩表 学生成绩表 4.2.2 二维数组的基本操作 4.3 字符串 4.3.2 CString 类 4.4 指针和数组 4.4.3 指针和字符串 可通过字符指针来访问字符数组,二者的区别: 4.5 程序举例 程序: #include iostream.h #include math.h #include afx.h void main() { CString s,sl(-,55); //sl中存放55个-字符 int i; float x; cout 数学函数表endl; coutslendl; //显示55个-字符 couti x sin(x) cos(x) sqr(i) exp(x) endl; for(i = 10;i=180;i=i+10) { x = i * 3.14259 / 180; s.Format(%3d%10.5lf%10.5lf%10.5lf%10.5lf%10.5lf\n, i,x,sin(x),cos(x),sqrt(x),exp(x)); couts; } } 【例4.14】使用CString 类对象数组存放若干个字符串,采用选择法排序,实现对字符串数组的排序。 程序: #include iostream.h #include afx.h void main() { CString s[4]={Fortran,C/c++,Pascal,Visual Basic},t; int i,j,m; for(i=0;i3;i++) //选择法排序 { m=i; for (j=i+1;j4;j++) if (s[j]s[m]) m=j; t=s[i]; s[i]=s[m]; s[m]=t; } for (i=0;i4;i++) couti s[i]endl
文档评论(0)