c语言程序设计定义数组,C语言程序设计_中科大_4-第四章 数组 定义、引用

《C语言程序设计_中科大_4-第四章 数组 定义、引用》由会员分享,可在线阅读,更多相关《C语言程序设计_中科大_4-第四章 数组 定义、引用(35页珍藏版)》请在人人文库网上搜索。

1、第4章 数 组,C语言程序设计 - 第4章 数组,2,目 录,数组的概念 一维数组 二维数组 字符数组,C语言程序设计 - 第4章 数组,3,数组 (Array),概念 有序数据的集合 说明 数组中的每一个元素都属于同一数据类型 用统一的数组名和下标来唯一的确定数组中的元素 数组元素的类型可以是基本类型或导出类型,C语言程序设计 - 第4章 数组,4,一维数组,一维数组的定义 一维数组元素的引用 一维数组的存储形式 一维数组的初始化 一维数组程序举例,C语言程序设计 - 第4章 数组,5,一维数组的定义,定义形式 类型 数组名常量表达式; 说明 常量表达式表示数组的大小(元素个数) 数组大小只。

2、能是常量,不能包含变量 整型数组与整型是两种不同的数据类型 举例 int a100, b3*2;,C语言程序设计 - 第4章 数组,6,一维数组元素的引用,引用形式 数组名下标 说明 下标是整型表达式 数组元素与同类型的变量使用方法相同 数组下标范围为0N-1(N为数组长度) 注意防止数组下标越界 举例 a0=a5+aj*3;,C语言程序设计 - 第4章 数组,7,一维数组的存储形式,一维数组的元素在内存中依次连续存储,char a5;,C语言程序设计 - 第4章 数组,8,一维数组的初始化,定义数组时对数组元素赋初值 int a5=1,2,3,4,5; 只给部分元素赋初值 int a5=1,。

3、2,3; int a5=0; 其余元素初值为零 对全部元素赋初值时,可以不指定长度 int a=1,2,3,4,5;,C语言程序设计 - 第4章 数组,9,一维数组程序举例,Fibonacci数列 冒泡排序法 筛法求素数,C语言程序设计 - 第4章 数组,10,例1:Fibonacci数列 (04-01.C),#include void main() int i, f20=1, 1; for (i=2; i20; i+) fi = fi-2 + fi-1; ,C语言程序设计 - 第4章 数组,11,例2:冒泡排序法 (04-02.C),两层循环结构 外层循环每次把操作范围内最大的数放到最后位置。

4、 内层循环每次把较大的数放到靠后的位置 确定每层循环的边界 外层循环n-1次 j=0 to n-2 内层循环n-1-j次 i=0 to n-2-j,C语言程序设计 - 第4章 数组,12,例2:冒泡排序法 (续),C语言程序设计 - 第4章 数组,13,例3:筛法求素数 (04-03.C),C语言程序设计 - 第4章 数组,14,例3:筛法求素数 (续),#define MAX 100 . . for (i=2; iMAX; i+) si=1; /* 初始化,所有数都在筛子中 */ for (i=2; iMAX; i+) if (si) for (m=2*i; mMAX; m+=i) sm=0。

5、; /* 从筛子中筛去*/ . .,C语言程序设计 - 第4章 数组,15,二维数组,二维数组的定义 二维数组的存储形式 二维数组元素的引用 二维数组的初始化 二维数组与一维数组 二维数组程序举例,C语言程序设计 - 第4章 数组,16,二维数组的定义,定义形式 类型 数组名常量表达式常量表达式; 可以看作元素是一维数组的一维数组 举例 char a34; /* 3行4列 */,C语言程序设计 - 第4章 数组,17,二维数组的存储形式,按行存放,先行后列 char a34;,C语言程序设计 - 第4章 数组,18,二维数组元素的引用,表示形式 数组名下标下标 说明 用法与一维数组元素类似 注。

6、意避免下标越界 char a34; a15 _ a21,C语言程序设计 - 第4章 数组,19,二维数组的初始化 (1),分行给二维数组赋初值 int a34=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12; 对部分元素赋初值 int a34=1,0,6,9; int b34=1,5,6; int c34=1,0,0,11;,C语言程序设计 - 第4章 数组,20,二维数组的初始化 (2),对全部元素赋初值时,第一维长度可以省略,其他维长度不能省略 int a4=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12; 只对部分元素赋初值时,第一维长度也可以。

7、省略,但是要用分行,即能够判断第一维长度 int a4=0,0,3,0,10,11;,C语言程序设计 - 第4章 数组,21,二维数组与一维数组,可以用一维数组描述二维数组 char a23;char a6; aij ai*3+j,C语言程序设计 - 第4章 数组,22,二维数组程序举例,矩阵乘法,C语言程序设计 - 第4章 数组,23,例4:矩阵乘法 (04-04.C),. . int aMP, bPN, cMN=0; . . for (i=0; iM; i+) for (j=0; jN; j+) for (k=0; kP; k+) cij+=aik*bkj; . .,C语言程序设计 - 第。

8、4章 数组,24,字符数组,字符数组的使用 字符数组与字符串 字符数组的初始化 字符串结束标志 字符串的输入输出 字符串处理函数 字符串程序举例,C语言程序设计 - 第4章 数组,25,字符数组的使用,与其他类型数组用法类似 char a10; a5=f; a7=n; a9=105; a0=a3*4-a4; char c=a, , *, n; 用作字符串变量 字符串作为一维字符数组处理 用字符数组名来引用字符串变量 字符数组元素包括字符串结束标志0,C语言程序设计 - 第4章 数组,26,字符数组与字符串,字符串作为一维字符数组来处理 China,char str6=C,h, i,n,a,0;。

9、,C语言程序设计 - 第4章 数组,27,字符数组的初始化,字符数组初始化的方法 逐个字符赋值给各元素 用字符串常量赋初值 举例 char s=T,E,S,T,0; char s=TEST; char s=TEST; char s6=China, Anhui, Hefei, USTC;,C语言程序设计 - 第4章 数组,28,字符串结束标志,字符串结束标志0 以0作为判断字符串结束的唯一标志 与存放字符串的字符数组的长度无关 所有字符串操作都以0作为结束条件 如果对字符数组每个元素分别赋值,并作为字符串使用,必须在最后手工添加0 系统在字符串常量后自动添加0 举例 char s=U,S,T,C。

10、,0;,C语言程序设计 - 第4章 数组,29,字符串的输入输出,整个字符串一次输入输出 输出到第一个0结束,但不输出0 输入输出时,用一维字符数组名表示字符串 格式化输入时,不需要在数组名前加,C语言程序设计 - 第4章 数组,30,字符串输入输出举例,char str=China; printf(%s, str); scanf(%s, str);/* 不用/* 得到什么结果? */,C语言程序设计 - 第4章 数组,31,字符串处理函数,C语言程序设计 - 第4章 数组,32,字符串程序举例,实现字符串复制功能 strcpy(str1, str2); 实现字符串比较功能 strcmp(st。

11、r1, str2);,C语言程序设计 - 第4章 数组,33,例5:字符串复制 (04-05.C),. . char sMAX, tMAX; int i; . . for (i=0; si!=0; i+) ti = si; ti = 0; for (i=0; ti=si; i+);,C语言程序设计 - 第4章 数组,34,例6:字符串比较 (04-06.C),. . char sMAX, tMAX; int i; . . for (i=0; si=ti; i+) if (si=0) return 0;/* 字符串相等 */ return si-ti;/* 字符串不等 */,C语言程序设计 - 第4章 数组,35,结束,The End。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值