资源描述:
《c语言第四章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章数组和字符串数组:有序数据的集合,数组中每个元素都属于同一个数据类型.Anarrayisadatatypethatusessubscriptedvariablesandmakespossibletherepresentationofalargenumberofhomogeneousvalues.(245)一维数组(one-dimensionalarrays)字符数组(stringsarrays)二维数组(two-dimensionalarrays)多维数组(multidimensionalarrays)一:一维数组的定义格式:类型说明符数组名[常量表达式];如:
2、ints[10]有10个连续的房间放10个整数。数组s:1542689111002s[0]s[2]s[3]s[1]s[4]s[5]s[6]s[7]s[8]s[9]说明:表示数组大小的常量表达式中可以包括常量和符号常量,不能包含变量,即c不允许对数组大小做动态定义.在程序运行过程中数组大小是不变的.如:intn;inta[n];是非法的…….Aone-dimensionalarraydeclarationisatypefollowedbyanidentifierwithabracketedconstantintegralexpression.Thevalueofthee
3、xpression,whichmustbepositive,isthesizeofthearray.Thearraysubscriptcanrangefrom0tosize-1.Thelowerboundofthearraysubscriptsisoandtheupperboundissize-1.(246)二:一维数组元素的引用数组必须先定义后引用,c规定只能逐个引用数组元素而不能一次引用整个数组.数组元素的表示格式:数组名[下标];下标:整型常量或整型表达式。从0开始。如:a[0]=a[5]+a[7]-a[2*3];10542689111002a[0]a[2]a[
4、3]a[1]a[4]a[5]a[6]a[7]a[8]a[9]三:一维数组的初始化(initialization)数组初始化的实现方法:数据类型数组名[常量表达式]={值表};在定义数组时对数组元素赋以初始值.值表中的常量应该与数组的基本类型一致。如:ints[10]={0,1,2,3,4,5,6,7,8,9};0123456789s[0]s[2]s[3]s[1]s[4]s[5]s[6]s[7]s[8]s[9]initializationWhenalistofinitializersisshorterthanthenumberofarrayelementstobeini
5、tialized,theremainingelementsareinitializedtozero.Forexampleinta[100]={0};Initializesalltheelementsofatozero.Ifanarrayisdeclaredwithoutasizeandisinitializedtoaseriesofvalues,itisimplicitlygiventhesizeofthenumberofinitializers,thus,inta[]={2,3,5,-7};isequivalenttointa[4]={2,3,5,-7};换算零钱程
6、序:输入一个价钱,程序会告诉你某个价格是由多少个角及分组成的。#include#defineLIM5inttable[LIM]={50,20,10,5,1};main(){intdex,amount,quantity;printf("Enteramountincents:");scanf("%d",&amount);for(dex=0;dex7、uantity);amount=amount%table[dex];}}未定义长度的数组初始化如果明确指明数组的大小,但数组的大小大于值表中常量的项数,则数组中的多余空间用0填充。如ints[10]={0,2,4,6,8},s[5]到s[9]都为0。如果数组的大小小于值表的项数,则发生数组越界,应当避免。不能确定数组的大小时,可以这样定义数组:inttable[]={50,20,10,5,1};如果没有数字用来提供数组的大小,则编译器会自行计算出值表中常量的项数,并把它作为数组的大小。等效于inttable[5]={50,20,10,5,1};使用未