第六章 数组(C语言).pptVIP

  • 9
  • 0
  • 约6.52千字
  • 约 43页
  • 2018-03-09 发布于湖北
  • 举报
第六章 数组(C语言)

目 标 掌握一维数组和二维数组的声明、初始化、及空间分配 掌握数组的应用 主要内容 一维数组 二维数组 字符数组 字符串 数组的运用 一、问题的提出 思考: 现对11电信5班中的10人进行英语的抽调考试,将所得成绩进行存档。 问题描述 若用电脑模拟实现。以现在所学知识,则需要使用10个变量来进行存储。 若人数再继续增加,使用不同命名的变量将带来定义的不便。 所谓数组,就是一组类型相同的变量。 它用一个数组名标识,每个数组元素都是通过数组名和元素的相对位置——下标来引用的。 数组可以是一维的,也可以是多维的。 int a1,a2,a3,…,a10 int a[10]; (a[0],a[1],a[3],…,a[9]) 其中下标从0开始,和前面不同的是,这些变量统一共享一个数组名a。 一组同类型的有序数据的集合。 数组是可以在内存中连续存储多个元素的结构 数组中的所有元素必须属于相同的数据类型 三、一维数组 1、定义 格式: 存储类别 类型 数组名[常量表达式 ] 例: int a [10 ]; char b[5]; float c[30]; long d[4*5]; 2、初始化 格式: 类型 数组名[长度]={初始值} 例: int a[4]={1,2,3,4}; char b[]={‘A’,’B’,’C’,’D’}; int c[5]={1,2,3}; int d[5]={3}; 3、引用 格式: 数组名[index ] index 是数组下标,可以是整型常量、整型变量或整型表达式.下标取值从0开始,直到数组长度减1. 例: int a[4]={1,2,3,4}; int x; x=a[1]; a[i*2-1]; i为整型变量 注意: C语言不允许对数组的大小作动态定义,即定义行中的数组长度可以包括常量和符号常量,但不能包括变量。例如,下面的定义是错误的。 int n=10; int a[n]; /*因为n为变量*/ 而下面的定义是正确的: #define N 10 main() { int a[N]; /*N为符号常量*/ …} 定义数组的同时可以对数组初始化。以下初始化的方法都是允许的: int a[10]={1,2,3,4,5,6,7,8,9,10};//完全初始化 int a[]={1,2,3,4,5,6,7,8,9,10}; //完全初始化,可省略长度 int a[10]={1,2,4,5};//部分元素a[0]、a[1]、a[3]、a[4]初始化 其余元素赋值0 注意: 数组元素的下标从0开始。 数组名不能像变量一样进行赋值操作。以下用法是错误的: int a[10],b[10]; a=b; /*错误*/ 正确的定义: int a[10]; /*定义整型数组a,它有10个元素*/ char s[20]; /*定义字符型数组s,它有20个元素*/ float f[5],g[10]; /*定义实型数组f和g,f数组有5个元素,g数组有10个元素*/ 解决问题---参考代码 #includestdio.h void main() { int i,a[10]; for(i=0;i10;i++) scanf(%d,a[i]); printf(成绩录入成功!); } 四、问题的升级 思考: 现对11电信6班中的10人进行英语、数学、c语言三门课程的抽调考试,将所得成绩由键盘输入进行电脑存档。 问题描述 五、二维数组 五、二维数组 1、定义 格式: 存储类别 类型 数组名[常量表达式1 ] [ 常量表达式2] 例: int a [3 ] [4 ]; char b[3][4]; int a[3][4] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] 2、初始化 格式: 类型 数组名[常量表达式1][常量表达式2]={初值1,初值2,………} 类型 数组名[常量表

文档评论(0)

1亿VIP精品文档

相关文档