清华大学c语言程序设计 l6_数组

清华大学c语言程序设计 l6_数组

ID:33485729

大小:950.99 KB

页数:44页

时间:2019-02-26

清华大学c语言程序设计 l6_数组_第1页
清华大学c语言程序设计 l6_数组_第2页
清华大学c语言程序设计 l6_数组_第3页
清华大学c语言程序设计 l6_数组_第4页
清华大学c语言程序设计 l6_数组_第5页
资源描述:

《清华大学c语言程序设计 l6_数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机程序设计基础第6讲数组沈瑜(010-62782951)shenyu@tsinghua.edu.cn清华大学电机系2015.10.28主要内容•数组C程序设计举例•一维数组–一维数组的定义与初始化–一维数组的引用与基本操作•字符数组与字符串–字符数组的定义与初始化–字符数组的输入输出–常用字符串函数《C程序设计(第四版)》参考教材第6章《C语言程序设计:现代方法(第2版)》第8章<2>7.1数组C程序设计举例l例1:幸运字母程序(采用数组实现)需要用到字符串函数<3>l例2:成绩分级程序(采用数组实现)长度为4整数数组长度为5的字符数组<4

2、>l例3:统计阶乘(采用数组实现)长度为11的整数数组思考:若不检查输入数据,当输入-1时会怎样?当输入100时又会怎样?要点:数组下标一定不能越界!<5>l例4:翻译月份(采用数组实现)<6>6.2一维数组p数组的定义按序排列的同类数据元素的集合称为数组arrayp数组的分类•按数组的类型分,有数值数组、字符数组等•按数组的维数分,有一维数组、二维数组等只有一个下标变量的数组,称为一维数组<7>1.一维数组定义一般形式为:类型符数组名[常量表达式],……;−类型符可为任意基本数据类型−数组名是用户定义的数组标识符−常量表达式表示数据元素的个数

3、,也称数组长度例如:inta[10];//定义整型数组a,有10个元素floatb[10],c[20];//定义实型数组b和ccharc[20];//定义字符数组c<8>说明:(1)对同一个数组,其所有元素的数据类型相同(2)数组名不能与同一函数中其它变量同名例如:inta;floata[10];//是错误的(3)C语言中规定数组的下标从0开始例如:inta[5];//5个元素分别为a[0],a[1],a[2],a[3],a[4]<9>(4)不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。合法的定义方式:#defineN5

4、inta[3+2],b[N+7];错误的定义方式:intn=5;inta[n];(5)数组中各元素在内存中按下标顺序连续存储<10>思考:•数组定义与变量定义有何区别?•形式上•数组定义除指明变量类型和变量名外,还需指明长度•intvar;•inta[10];•作用上•变量定义:为单个数据分配空间•数组定义:为多个数据分配空间<11>2.一维数组的初始化(1)数组的初始化是指在数组定义时给数组元素赋初值(2)数组初始化的一般形式为:类型符数组名[常量表达式]={值,值……值};其中:在{}中的各数据值即为各元素的初值,各值之间用逗号间隔。例如:

5、inta[10]={0,1,2,3,4,5,6,7,8,9};相当于a[0]=0;a[1]=1;...a[9]=9;<12>C语言对数组初始化的几点规定:(1)可以只给部分元素赋初值。当{}中值的个数少于元素个数时,只给前面部分元素赋值。例如:inta[10]={0,1,2,3,4};//表示给前5个元素赋值,后5个元素自动赋0值(2)只能给元素逐个赋值,不能给数组整体赋值。例如:将数组的10个元素全部赋值为1inta[10]={1,1,1,1,1,1,1,1,1,1};//正确inta[10]=1;//错误<13>(3)若给全部元素赋值,则可

6、不写明数组长度例如:inta[5]={1,2,3,4,5};也可写为:inta[]={1,2,3,4,5};√不写明长度则必须初始化:inta[];×(4){}中值的个数不可多于元素个数例如:inta[5]={1,2,3,4,5,1};×<14>3.数组元素的引用数组元素一般引用形式为:数组名[下标]其中的下标只能为整型常量或整型表达式例如:inta[5],b[5];inti=2,intj=3;下标为整型常量或整型表达式:a[i]=b[j];//将数组b的第4个元素赋值给a的第3个元素a[i+1]=b[j];/将数组b的第4元素赋值给数组b的第

7、4元素<15>注意:(1)数组的定义和数组元素中下标的差异−数组定义中的下标表示数组长度,即元素个数;−数组元素中的下标表示该元素在数组中的索引−前者只能是常量,后者可以是常量,变量或表达式例如:inta[3];//定义一个长度为3的数组a[2]=1;//将数组a的第3个元素赋值为1a[3]=1;//越界错误,数组a最后一个元素为a[2]<16>(2)只能通过下标变量引用数组元素,而不能一次引用整个数组例如:将数组b的各元素值依次赋给数组a的对应元素可以用for循环逐一赋值inta[10],b[10];for(i=0;i<10;i++)a[i]

8、=b[i];不能写成如下形式:a=b×<17>6.3字符数组与字符串1.字符数组的定义和初始化p字符数组的定义:与数值数组相似,只是类型不同例如:ch

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。