数组中几个重要概念_第1页
数组中几个重要概念_第2页
数组中几个重要概念_第3页
数组中几个重要概念_第4页
数组中几个重要概念_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、跳转到第一页 第五章第五章 数数 组组 数组中几个重要概念数组中几个重要概念 C语言数据类型分为:语言数据类型分为: (1)基本类型(整形、字符型、浮点型)基本类型(整形、字符型、浮点型) (2)组合类型(数据类型)数据。)组合类型(数据类型)数据。 组合类型:组合类型: 数组类型、结构体类型、共用体类型。数组类型、结构体类型、共用体类型。 数组定义:是指一组同类型数据组成的序列。数组定义:是指一组同类型数据组成的序列。 数组表示方法:数组表示方法: (1)用一个统一的数组名称来标识这一组数据;)用一个统一的数组名称来标识这一组数据; (2)用下标来指示数组中元素的序号。)用下标来指示数组中元

2、素的序号。 E.g. age1, age2, age3Notes:同一数组中的所有元素必须属于同一数据类型。同一数组中的所有元素必须属于同一数据类型。TC IDE跳转到第一页 第五章第五章 数数 组组 第一节第一节 一维数组一维数组 一、一维数组的定义方法:一、一维数组的定义方法: 类型标识符类型标识符 数组名数组名元素个数元素个数; E.g. int a5; char c10; 二、一维数组的初始化二、一维数组的初始化 定义:指在定义数组时对各元素指定初始值。定义:指在定义数组时对各元素指定初始值。 E.g. static char7=c, , l, a, n, g, u; static i

3、nt a=1,3,5,7,9; (全体赋初值)全体赋初值) static int a5=1,3,5; (部分初始化)部分初始化)TC IDE跳转到第一页 第五章第五章 数数 组组 第一节第一节 一维数组一维数组 三、数组元素的引用:三、数组元素的引用: 数组元素的引用形式如下:数组元素的引用形式如下: 数组名数组名下标下标; E.g. int a5; a1=3; a2=a1; printf(“%d”,a1); Notes:(1)数组只有在定义后,方可引用。数组只有在定义后,方可引用。 (2)C编译不检查下标是否编译不检查下标是否“越界越界”。TC IDE跳转到第一页 第五章第五章 数数 组组

4、第一节第一节 一维数组一维数组 四、数组用作函数的参数:四、数组用作函数的参数: 1、 将数组元素作为参数:将数组元素作为参数: (1)和变量作为参数的用法相同;)和变量作为参数的用法相同; (2)这种传送方式仍然是)这种传送方式仍然是“值传送值传送”方式,即方式,即只只 能从实参传给形参,而不能从形参传给实参。能从实参传给形参,而不能从形参传给实参。 E.g. ave=fun (a0,a1,a2) ; float fun(float a,float b,float c) float sum;aver; sum=a+b+c; aver=sum/3.0; return (aver);TC IDE

5、跳转到第一页 第五章第五章 数数 组组 第一节第一节 一维数组一维数组 四、数组用作函数的参数:四、数组用作函数的参数: 2、将数组名作为函数参数、将数组名作为函数参数:Ex5-0 Ex5-00 Notes:(1)实参数组和形参数组应分别在它们所在实参数组和形参数组应分别在它们所在 的函数中定义;的函数中定义; (2)当以数组名作参数时,采取的不是)当以数组名作参数时,采取的不是“值值传传 送送”方式,而是方式,而是“地址传送地址传送”方式。方式。 (3)以数组名作参数时,实参数组必须定)以数组名作参数时,实参数组必须定 义为具有确定长度的数组,而形参数组义为具有确定长度的数组,而形参数组 可

6、以不定义长度。可以不定义长度。 五、一维数组应用举例:五、一维数组应用举例: Ex5-1 Ex5-2TC IDE跳转到第一页 第五章第五章 数数 组组 第二节第二节 二维和多维数组二维和多维数组 一、二维数组和多维数组的概念:一、二维数组和多维数组的概念: 1、二维数组:如果有一个一维数组,它的每一个、二维数组:如果有一个一维数组,它的每一个 元素又是类型相同的一维数组时,就形成一个二元素又是类型相同的一维数组时,就形成一个二 维数组。维数组。 Notes:数组的类型相同指:(:数组的类型相同指:(1)大小相同;)大小相同; (2)其中元素的类型也相同。)其中元素的类型也相同。 2、二维数组定

7、义格式:、二维数组定义格式: 类型标识符类型标识符 数组名数组名常量表达式常量表达式 常量表达式常量表达式; E.g. int age35; 3、多维数组的定义方法与二维数组类似、多维数组的定义方法与二维数组类似: E.g. char a234; Notes:在内存中的存储,是先变化第三个下标,然在内存中的存储,是先变化第三个下标,然 后变化第二个下标,最后变化第一个下标后变化第二个下标,最后变化第一个下标。TC IDE跳转到第一页 第五章第五章 数数 组组 第二节第二节 二维和多维数组二维和多维数组 二、二维数组和多维数组的引用:二、二维数组和多维数组的引用: 引用二维数组元素的形式为:引用

8、二维数组元素的形式为: 数组名数组名下标下标下标下标; E.g. a02; a012;Notes:(:(1)每个下标都应当分别用方括号括起来;)每个下标都应当分别用方括号括起来; (2)数组必须)数组必须“先定义,后引用先定义,后引用”。 三、二维数组和多维数组的初始化:三、二维数组和多维数组的初始化: 对一个二维数组初始化可以分别对各元素进行赋值。对一个二维数组初始化可以分别对各元素进行赋值。 E.g. static int i23=1,2,3,4,5,6; 四、二维数组程序举例:四、二维数组程序举例: Ex5-4TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字

9、符串字符数组和字符串 一、字符串及其存储方法:一、字符串及其存储方法: 1、 定义:字符串是指若干有效字符的序列。定义:字符串是指若干有效字符的序列。 有效字符:是指系统允许使用的字符,包括字有效字符:是指系统允许使用的字符,包括字 母、数字、专用字符、转义字符等。母、数字、专用字符、转义字符等。 E.g. “China”, “a+b=c”, “%dn”; Notes:在:在C语言中,没有字符串变量;语言中,没有字符串变量; 字符串是存放在一个字符型数组中。字符串是存放在一个字符型数组中。 2、字符串在字符数组中的存储方式:、字符串在字符数组中的存储方式: (1)单个元素赋值的方法;)单个元素

10、赋值的方法; (2)字符串的整体处理。)字符串的整体处理。 C语言规定:以语言规定:以“0”字符作为字符串的结束标志。字符作为字符串的结束标志。TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 一、字符串及其存储方法:一、字符串及其存储方法: 3、 字符串的存储方式示意图:字符串的存储方式示意图: 4、 字符串与字符数组的关系:字符串与字符数组的关系: 字符串存放在字符数组中,但字符数组各和字字符串存放在字符数组中,但字符数组各和字符串可以不等长;符串可以不等长; 字符串以字符串以“0”作为结束标记。作为结束标记。 TC IDEChianC1C

11、2C0C4C6C3C5C7ChianC1C2C0C4C6C3C5C70跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 二、字符数组的初始化:二、字符数组的初始化: 1、 逐个地为数组中各元素指定初值字符。逐个地为数组中各元素指定初值字符。 char c=C,h,i,n,a; 2、对一个字符数组指定一个字符串初值。对一个字符数组指定一个字符串初值。 char c=“China”; char c12=“Computer & C”;Notes: (1)系统会自动在最后一个字符后面加系统会自动在最后一个字符后面加 一一“0”作为结束标记。作为结束标记。

12、(2)字符数组的长度至少应为字符的个数加)字符数组的长度至少应为字符的个数加1。 TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 三、字符串的输入:三、字符串的输入: 1、 逐个地为数组中各元素输入值。逐个地为数组中各元素输入值。 char str9; scanf(“%c”,&str0); 2、对一个字符数组一次输入一个串值。对一个字符数组一次输入一个串值。 char str9; scanf(“%s”,str);Notes: (1)数组名本身就代表地址。数组名本身就代表地址。 (2)系统会自动加上一个结束标记)系统会自动加上一个结束标

13、记“0”。 (3)字符串以空格和回车作为结束标记。)字符串以空格和回车作为结束标记。TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 三、字符串的输入:三、字符串的输入: 3、专门的字符串输入函数、专门的字符串输入函数gets(str): char str9; gets(str); /* 只只以回车作结束标记以回车作结束标记 */ 四、字符串的输出:四、字符串的输出: 1、格式化输出函数格式化输出函数printf(): char str9; printf(“%s,%c”,str,str0);Notes: (1)输出元素时,要带下标(输出元素时,

14、要带下标(%c); (2)输出)输出串时只要用数组名(串时只要用数组名(%s)即可;即可; (3)输出时不包括)输出时不包括“0”。 (4)字符串中)字符串中“0”以后的字符不予输出。以后的字符不予输出。 2、字符串输出函数字符串输出函数puts(str): E.g. puts(str);TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 五、字符串运算函数:五、字符串运算函数: 1、字符串拷贝函数、字符串拷贝函数strcpy(): 语法格式:语法格式:strcpy(str,”字符串常量字符串常量”); Notes: (1)C语言中不允许用赋值表

15、达式对字符数语言中不允许用赋值表达式对字符数 组赋值组赋值; (2)字符)字符串结束标记串结束标记“0”一起被复制到一个新串一起被复制到一个新串中;中; (3)可以将一个字符数组中的一个字符串复制到)可以将一个字符数组中的一个字符串复制到 另一个字符数组中。另一个字符数组中。 2、字符串连接函数字符串连接函数strcat(): 语法格式:语法格式: strcat(str1,str2);Notes: 字符串字符串1(str1)要定义的足够大。要定义的足够大。 TC IDE跳转到第一页 第五章第五章 数数 组组 第三节第三节 字符数组和字符串字符数组和字符串 五、字符串运算函数:五、字符串运算函数: 3、字符串比较函数字符串比较函数strcmp(): 语法格式:语法格式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论