内容正文:
《C语言程序设计教程》
(第二版)
《C语言程序设计教程》(第二版)
第5章 数组和字符串
◆ 了解数组概念及应用场合
◆ 掌握一维数组的定义及初始化方法
◆ 掌握二维数组的定义及初始化方法
◆ 掌握字符数组的定义、初始化及字符数组使用
◆ 了解常用字符串处理函数原型、作用及返回值
◆ 熟练掌握利用数组编程方法
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
第5章 数组和字符串
目 录
5.1 一维数组
5.2 二维数组
5.3 字符数组与字符串处理函数
5.4 程序实例
小结
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
第5章 数组和字符串
数组是一种自定义数据类型,它是相同数据类型的数据有序集合,数组中的分量称为数组元素,对数组元素的操作处理通过数组下标进行。正是因为数组元素具有序号这个特性,就可以解决许多基本数据类型无法解决的一些实际问题。例如:一组数据的从小到大的排序、行列式矩阵运算等。这类问题如果使用基本数据类型编程,需要对每个数据都要定义变量名,如果有1万个数就要定义1万个变量,编程也相当繁琐,这肯定是不现实也不可取的。而用数组类型使用时只需操作同一个数组名就解决了,数据元素下标不同就代表不同的变量,使用时利用同一个数组名和循环结构的配合编程简洁方便多了。
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
5.1 一维数组
5.1.1 一维数组的定义及初始化
一维数组将相同类型的若干变量按有序的形式组织起来,它相当于数学中的向量。
1. 一维数组的定义格式
类型说明符 数组名[常量表达式];
例如:
int a[10];
该语句说明了一个int型数组,数组名为a,数组元素为a[0]、a[1]、a[2]、……、a[9]共10个,数组元素的数据类型为int型。
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
5.1 一维数组
5.1.1 一维数组的定义及初始化
2. 说明
(1)数组名的命名应符合标识符的规定,而且数组名不能和程序中其它变量同名。
(2)数组元素的数据类型为数组类型说明符所说明的类型。
(3)常量表达式的值表示数组元素的个数,即数组长度,下标从0开始。。
(4)常量表达式只能是常量或符号常量,不允许是变量。也就是说数组长度不能动态定义,不能依赖于程序中的某个变量。
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
5.1 一维数组
5.1.1 一维数组的定义及初始化
3. 一维数组的初始化
1)定义数组时如果没有进行初始化,则数组元素的值为随机值。如果在定义数组时规定其存储类别为static或extern,则编译系统自动将没有初始化的数组元素赋默认初值为0。
2)初始化可以在定义数组时进行。例如:
int a[10]={1,3,5,7,9,11,13,15,17,19};
char b[5]={'a','b','c','d','e'};
3)只对数组中的部分元素初始化。例如:
int a[8]={-1,-2,-3,-4};
则a[0]~a[3]有值。而a[4]~a[7]为随机值。
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
5.1 一维数组
5.1.1 一维数组的定义及初始化
3. 一维数组的初始化
4)在对数组所有元素赋初值时,可以不指定数组的长度,系统会根据初值的个数自动确定数组的长度,例如:
int a[]={10,20,30,40,50};
因为大括号内共有5个数据,因此所定义的数组为a[5]。
5)只能逐个给数组元素赋初值,而不能给数组(名)整体赋值。 。
《C语言程序设计教程》(第二版)
《C语言程序设计教程》(第二版)
5.1 一维数组
【例5.1】 输入某班40名学生某门课程的成绩,计算该门课程的平均成绩,并输出每个学生的成绩与平均成绩之差。
如果只计算课程平均成绩,40名学生课程成绩只需一个变量,但该变量不能同时保存40个数据,只保留最后一次输入的成绩。当同时还要计算每个学生的成绩与平均成绩之差时,因为每个同学的成绩没有保留需要再次输入。而采用数组编程就简单多了。
为了符合人们从1开始顺序给学生定义学号的习惯,定义数组为score[