语言数组和字符串ppt课件.ppt

语言数组和字符串ppt课件.ppt

ID:59430761

大小:477.00 KB

页数:45页

时间:2020-09-18

语言数组和字符串ppt课件.ppt_第1页
语言数组和字符串ppt课件.ppt_第2页
语言数组和字符串ppt课件.ppt_第3页
语言数组和字符串ppt课件.ppt_第4页
语言数组和字符串ppt课件.ppt_第5页
资源描述:

《语言数组和字符串ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组与字符串1一.一维数组二.二维数组三.字符数组与字符串四.数组作为函数参数2在实际应用中,人们不可避免的要遇到“批量数据的存储和处理”问题。例如:在学生成绩管理系统中,可能需要对一个班30名学生的成绩进行输入,计算出平均分,然后输出所有高于平均分的成绩。为了便于处理,对于这样一组有着内在联系、具有相同性质的数据,可以按顺序组织起来,共用一个统一的名字,即:数组名。数组中各个数据的区分用数组名带下标的形式表示。我们可以为30名学生的成绩建立一个名为s的数组,30个成绩顺序存放在s[0]~s[29]这30个带下标的变量中,数组的概念3一.一维数组例如:i

2、nta[10];floatscore[5];“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量,但不能包含变量。1.一维数组的定义数据类型数组名[常量表达式];4以下数组定义是正确的:#defineN10……floatscore1[N],score2[N];intnum[10+N];charc[26];以下数组定义是不正确的:intarray(10);intn;floatscore[n];doubleb['a'..'d'];charstr[

3、];一.一维数组51.数组在内存的存放数组下标从0开始。一维数组的数组元素在内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0]的地址值相同。数组说明语句一次可定义几个数组,形式如下:例如:inta1[4],a2[5];score[0]score[1]score[2]score[3]score[4]91.534.567.572.084.0低地址高地址score数组62.数组元素的引用格式:例如:输入学生成绩for(i=0;i<5;i++)scanf("%f",&score[i]);例如:fib[n]=fib[n-1]+fi

4、b[n-2];下标表达式的值下标可以是任何非负整型数据,取值范围是0~(元素个数-1)数组名[下标表达式]7说明:①下标从0开始(下界为0),数组的最大下标(上界)是数组长度减1。例如:inta[10];scanf("%d",&a[10]);/*下标越界*/C编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2.数组元素的引用8②[]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。如引用score[2]:(1)计算2000+2*4=2008(2)取出2008的内容2000H2

5、004H2008H200CH218CHscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02.数组元素的引用9main(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf(“%d”,a[i]);}数组必须先定义,后使用。数组作为一个整体,不能参加数据运算,只能逐个引用数组元素,不能一次引用整个数组。数组元素表示形式:数组名[下标],其中:下标可以是常量或整型表达式运行结果:98765432102.数组元素的引用103.

6、一维数组的初始化初始化:在定义数组时给数组元素赋初值。1.在定义数组时,对全部数组元素赋初值例如:inta[5]={0,1,2,3,4};此时可以省略数组长度,例如:inta[]={0,1,2,3,4};2.在定义数组时,对部分数组元素赋初值例如:inta[5]={1,2,3};系统为其余元素赋0。3.当初值的个数多于数组元素的个数时,编译出错例如:inta[5]={0,1,2,3,4,5};114.一维数组应用举例【例1】用冒泡法对10个数由小到大排序。排序过程算法:(1)比较第一个数与第二个数,若为逆序a[1]>a[2],则交换;然后比较第二个数与第

7、三个数;依次类推,直至第9个数和第10个数比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素位置上。(2)对前9个数进行第二趟冒泡排序,结果使次大的数被安置在第9个元素位置。(3)重复上述过程,共经过9趟冒泡排序后,排序结束。12main(){inti,j,t,a[11];printf(“input10numbers:”);for(i=1;i<11;i++)scanf(“%d”,&a[i]);printf(“”);for(j=1;j<=9;j++)for(i=1;i<=10-j;i++)if(a[i]>a[i+1]){t=a[i];a[

8、i]=a[i+1];a[i+1]=t;}/*交换两个变量的值*/printf(“

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

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

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