
C语言程序设计第8章数组
C语言程序设计 第8章 数组

本章重点1理解数组元素在内存中的存放形式;2 掌握一维数组和二维数组的定义、初始化和数组元素的引用;3掌握字符串与字符数组的区别;4了解一维数组及数组元素作为函数的参数的使用;5掌握常用字符串库函数的用法
⚫ 本章重点 1 理解数组元素在内存中的存放形式; 2 掌握一维数组和二维数组的定义、初 始化和数组元素的引用; 3 掌握字符串与字符数组的区别; 4 了解一维数组及数组元素作为函数的 参数的使用; 5 掌握常用字符串库函数的用法

主要内容8.1 一维数组8.2 二维数组的定义和引用8.3字符数组和字符串8.4 数组元素或数组名作为函数的参数8.5程序举例
主要内容 8.1 一维数组 8.2 二维数组的定义和引用 8.3 字符数组和字符串 8.4 数组元素或数组名作为函数的参数 8.5 程序举例

数组的概念数组是一组排列有序的具有相同名字和相同数据类型的变量的集合,是一种带有下标结构的数据组织方式。从物理结构上来说数组是一组连续的存储空间而这个空间的名称就是数组的名称。其中单个的存储空间称为数组元素,它的作用和单个的变量相同所有的数组元素其存储内容的数据类型一致不同的数组元素使用不同的下标值来区分
数组的概念 ◼ 数组是一组排列有序的具有相同名字和相同数据 类型的变量的集合,是一种带有下标结构的数据 组织方式。 ◼ 从物理结构上来说数组是一组连续的存储空间, 而这个空间的名称就是数组的名称。其中单个的 存储空间称为数组元素,它的作用和单个的变量 相同 ◼ 所有的数组元素其存储内容的数据类型一致 ◼ 不同的数组元素使用不同的下标值来区分

a1一维数组的定义方式a[0]数组类型数组名[常量表达式];a[1]int a[5];表示定义了一个整型数组,数组a[2]名为a,有5个元素,每个元素的值为不定的机器数。a[3]注意:数组元素的下标是从0开始a[4]不存在数组元素a[5]定义数组的个数可以包括常量和符号常量,但不能包含变量floata[O];//数组个数为0没有意义
int a[5]; 1 一维数组的定义方式 注意: 数组元素的下标是从0开始 不存在数组元素a[5] a[0] a[1] a[2] a[3] a[4] 定义数组的个数可以包括常量和符号常量,但不能包含变量。 数组类型 数组名 [常量表达式]; float a[0]; // 数组个数为0没有意义 表示定义了一个整型数组,数组 名为a,有5个元素,每个元素的 值为不定的机器数。 a

1一维数组的定义方式a[0]achar a[10];a[1]a[2]a[3]表示定义了一个字符型数组,数a[4]组名为a,有10个元素,每个元a[5]素的值为不定的机器数。a[6]a[7]数组名是数组变量在内存中的起始地址a[8]一旦定义了数组变量,就不能改变,相a[9]当于一个地址常量
char a[10]; 1 一维数组的定义方式 表示定义了一个字符型数组,数 组名为a,有10个元素,每个元 素的值为不定的机器数。 a a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 数组名是数组变量在内存中的起始地址 一旦定义了数组变量,就不能改变,相 当于一个地址常量

2一维数组元素的引用数组名[下标]其中:下标只能为整型常量或整型表达式例如:a[0]=a[5]+a[7]-a[2*3]数组元素通常也称为下标变量。必须先定义数组,才能使用下标变量。在C语言中只能逐个地使用下标变量。数组元素的下标不能越界
数组名[下标] 2 一维数组元素的引用 其中:下标只能为整型常量或整型表达式。 例如: a[0]=a[5]+a[7]-a[2*3] 数组元素通常也称为下标变量。 必须先定义数组,才能使用下标变量。 在C语言中只能逐个地使用下标变量。 数组元素的下标不能越界

补充例1:数组元素的引用,执行结果如小图。char a[5];口X"D:\2020-2021-1\C...元音为:aei40U存放元音字母数据为:bo=2int b[10]=4-6-8存放2到20的所1有偶数完成:=1618=18数据的输入b[9]=20数据的输出(显示)Press any key to continue
补充例1:数组元素的引用,执行结果如小图。 char a[5]; int b[10] 存放元音字母 存放2到20的所 有偶数 完成: 数据的输入 数据的输出(显示)

2bf0]b[0]数组元素的数据的输入b[1]4b[1]#include 6b[2]void main(b[3]8a[2]b[4]1097b[3]char a[5];a[0]12b[5]int b[10],k;101a[1]14b[6]a[4]a[0]='a';a[2]105b[7]16a[1]='e':b[5]a[3]111b[8]18a[2] ="i';a[4]117b[9]20b[6]a[3]='o';a[4] ='u';'a'a[0]b[7]for(k=0;k<=9;k++)e'a[1]b[k]=(k+1)*2;b[8]"a[2]'o'a[3]b[9]10k'u'a[4]
#include void main() { char a[5]; int b[10],k; a[0]='a'; a[1]='e'; a[2]='i'; a[3]='o'; a[4]='u'; for(k=0;k<=9;k++) b[k]=(k+1)*2; 数组元素的数据的输入 a[0] a[1] a[2] a[3] a[4] b[0] b[1] a[2] b[3] a[4] b[5] b[6] b[7] b[8] b[9] b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9] k 97 101 105 111 117 a[0] 'a' a[1] 'e' a[2] 'i' a[3] 'o' a[4] 'u' 910021 246 208 10 12 14 16 18

2b[0]10数组元素的数据的输出k4b[1]printf("元音为:");6b[2]for(k=0;k<=4;k++)8b[3]printf("%c ",a[k]):10b[4]printf("\n数据为:\n");12for(k=0;k<=9;k+ +)b[5]printf("b[%d]=%d\n",k,b[k]);14b[6]16b[7]元音为:aeio18b[8]数据为:b[0]=220b[9]b[ij=4b[2]=6'a'a[0]b[3]=8'e'a[1]b[4]=10b[5]=12"a[2]b[6]=14b[7]=16'o'a[3]b[8]=18'u'a[4]b[9]=20
数组元素的数据的输出 printf("元音为:"); for(k=0;k<=4;k++ ) printf("%c ",a[k]); printf(" \ n数据为: \ n"); for(k=0;k<=9;k++ ) printf("b[%d]=%d \n", k ,b[k]); } b[0] 2 b[1] 4 b[2] 6 b[3] 8 b[4] 10 b[5] 12 b[6] 14 b[7] 16 b[8] 18 b[9] 20 a[0] 'a' a[1] 'e' a[2] 'i' a[3] 'o' a[4] 'u' k 10 元音为: 012345 a e i o u b[ 0]= 2 数据为: 910012 b[ 1]= 4 b[ 2]= 6 b[ 3]= 8 b[ 4]=10 b[ 5]=12 b[ 6]=14 b[ 7]=16 b[ 8]=18 b[ 9]=20