一维数组【共享精品-ppt】

上传人:jiups****uk12 文档编号:45666069 上传时间:2018-06-18 格式:PPT 页数:45 大小:382.09KB
返回 下载 相关 举报
一维数组【共享精品-ppt】_第1页
第1页 / 共45页
一维数组【共享精品-ppt】_第2页
第2页 / 共45页
一维数组【共享精品-ppt】_第3页
第3页 / 共45页
一维数组【共享精品-ppt】_第4页
第4页 / 共45页
一维数组【共享精品-ppt】_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《一维数组【共享精品-ppt】》由会员分享,可在线阅读,更多相关《一维数组【共享精品-ppt】(45页珍藏版)》请在金锄头文库上搜索。

1、第四章 数组4.1 概述4.2 一维数组4.3 二维数组4.4 字符数组4.1 概述数组是有序数据的集合。数组中的每一个 元素都属于同一个数 据类型。用一个统一 的数组名和下标来唯 一地确定数组中的元 素。什么是 数组呢?当要对一组数据进行排序、在一组数中查找某个数据, 矩阵计算等,通常都要用数组来实现。2.在内存分配若干连续空间给数组 .4.2 一维数组1.定义:类型说明符 数组名常量表达式 ;4.2.1一维数组的定义和初始化合法标识符表示元素个数下标从 0 开始 数组运算符 单目运算符 优先级(1) 左结合 不能用( )例 int a6;编译时分配连续内存 内存字节数=数组长度*sizeo

2、f(元素数据类型)数组名表示内存首地址, 是地址常量a00 14 5a1 a2 a3a4 a523a内存例 int i = 15;int datai; (不能用变量定义数组长度)例 int data5; data5 = 10; / C语言对数组不作越界检查,使用时要注意3. 一维数组的初始化 v初始化方式 在定义数组时,为数组元素赋初值 (在编译阶段使之得到初值)int a5=1,2,3,4,5; 等价于:a0=1; a1=2; a2=3; a3=4; a4=5;v说明: l数组不初始化,其元素值为随机数l在对全部数组元素赋初值时,可不指定数组长度如 int a5 = 6,2,3;/ 未指定的

3、用 0 填充等价于:a0=6; a1=2;a2=3; a3=0; a4=0; 如 int a3 = 6,2,3,5,1; ()l只给部分数组元素赋初值 int a = 1,2,3,4,5,6; 编译系统根据初值个数确定数组长度l如果想使一个数组中全部元素值为0,可以写成:int a5 = 0,0,0,0,0; 或 int a5 = 0;1.数组同变量一样,必须先定义后引用2.引用数组元素的方法是:数组名下标4.2.2 一维数组元素的引用例如: 有定义 int a10; 可以引用元素的从a0到a9 a3+5 a10-10 a5=6; a7=a5+; 整型常量 整型常量表达式int a10; 必须

4、 for(j = 0;j void main() int i,a10;printf(“input 10 numbers:n“);for(i=0;i=0;i-)printf(“%d “,ai); 程序运行结果:90 80 70 60 50 40 30 20 10 0 数组类题目 定义数组输入/赋值运算输出基本方 法例4-2 利用数组,求斐波拉契数列的前20项。 定义数组计算输出#include “stdio.h“void main() int fib20=1,1int i; for(i=2;i void main() int a23=2,5,6, 9,7,8;int i,j,temp;for(i

5、=0;i=0;j-)aij+1=aij;ai0=temp; for(i=0;i void main() int i,j,a66; for(i=0;i数组长度,则作语法错误处理;v如果初值个数 void main() char diamond5= , ,*,*, ,*,*, , , ,*, ,*, ,*, , ,*;int i,j;for (i=0;i串2v 函数应用举例: 说明:字符串比较不能用“= =”,必须用strcmp7.字符串连接函数strcat(字符数组1,字符数组 2)v函数功能: 删去字符串字符数组1的结束标志0,将字符串或字符数组2连同末尾的结束标记一起连接到字符数组1尾部,返

6、回连接以后的字符串。 v应用举例char a20=“My name is “,b10=“Li ming“;strcat(a,b); 执行 strcat(a,b) 后a数组如下:M yn a m eisL im in g0v函数功能:用是将字符数组2复制到字符数组1中去。返回被复制的字符串。v函数说明:字符数组1长度应字符串或字符数组2的长度;字符数组1应写成数组名的形式;复制时连同通字符串后面的0一起复制过去。8. 字符串拷贝函数strcpy(字符数组1,字符数组2) 例 char str120,str220;str1 = “Hello!”; ()str2 = str1; ()strcpy(

7、str2, str1 ); ()不能使用赋值语句 为一个字符数组赋值例如: char a10=“abcdefghi“,b=“happy“;strcpy(a,b); v 函数应用举例:a数组内存原始情况:a b c d e f g h i 0函数调用后a、b数组内存情况:h a p p y 0 h a p p y 0 g h i 0【例】分析下面程序的运行结果。 #include “conio.h“ #include “string.h“ #include “stdio.h“ void main() char c110=“abcdefghi“,c2=“china“;strcpy(c1,c2);p

8、uts(c1);printf(“%c“,c17); 9. strcpy(字符数组1,字符数组2,n) v函数功能:用是将字符数组2中前n个字符赋值到字符数组1中去。v应用举例:char str16=“the”, str25=“sell”;printf(“%s”,strncpy(str1,str2,2) );结果是:see例4-10 输入一行字符,统计其中英文字符、数字字符、空格及其他字符的个数。 #include #include #define Size 100 main() char strSize; int len,i, letter=0,digit=0,space=0,other=0;

9、 printf(“please input a stringn“); gets(str);len=strlen(str);for( i=0;i=a char str30,min30;printf(“please enter five courses names:n”);gets(str);strcpy(min,str);for(i=1;i main() char string100;int i,num=0,word=0;char c;gets(str);for(i = 0; (c=str i)!=0 ; i+)if( c = = ) word = 0;else if(word = = 0)nu

10、m+; word = 1;printf(“There are %d words in the linen“,num); bTq-GdVt0IgXv3Ki#x5Nk$z7Pm&C9Rp(EcTr+GeWt1IgYv3Li#y5Nl$A8Pn*CaRp)EcUr+HeWu1JhYw4Lj#y6Nl%A8Qn*DaSq)FdUs+HfWu2JhZw4Mj!z6Om%B8Qo*DbSq-FdVs0IfXv2KhZx4Mk!z7Om&B9Ro(EbTq-GdVt0IgXv3Ki#x5Nk$z7Pm&C9Rp(EcTr+GeWt1IgYv3Li#y5Nl$A8Pn*CaRp)EcUr+HeWu1JhYw4

11、Lj#y6Nl%A8Qn*DaS0IgXv3Ki#x5Nk$A7Pm&C9Rp(EcTr+GeWt1JgYv3Li#y5Nl$A8Pn*CaSp)EcUr+HeWu1JhYw4Lj!y6Nl%A8Qn*DaSq)FdUs0HfWu2JhZw4Mj!z6Om%B9Qo*DbSq-FdVs0IfXv2KiZx4Mk!z7Om&B9Ro(EbTr- GdVt0IgXv3Ki#x5Nk$A7Pm&C9Rp(EcTr+GeWt1JgYv3Li#y5Nl$A8Pn*CaSp)EcUr+HeWu1JhYw4Lj!y6Nl%A8Qn*DaSq)FdUs0HfWu2JhZw4Mj!z6Om%B9Qo*DbSq-

12、FdVs0IfXv2KiZx4Mk!z7Om&B9Ro(EbTr-GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr- GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2Jh

13、Zw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr-GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr- GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A

14、8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr-GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr- GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcU

15、r+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr-GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5Nl$A8Pn*CaSp)FcUr+HeWu1JhYw4Lj!y6Ol%A8Qn*DaSq)FdUs0HfXu2JhZw4Mj!z6Om%B9Qo(DbSq-FdVs0IfXv2KiZx5Mk!z7Om&B9Ro(EbTr- GeVt0IgXv3Ki#x5Nk$A7Pn&C9Rp(EcTr+GeWt1JgYw3Li#y5

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号