欢迎来到天天文库
浏览记录
ID:50044541
大小:319.50 KB
页数:10页
时间:2020-03-08
《C语言程序设计案例教程 教学课件 作者 杨旭 第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章数组与字符串本章要点6.1一维数组6.2多维数组6.3字符串与字符串数组6.4程序实例习题66.1.1数组数组是一组具有相同数据结构的元素组成的有序的数据集合,一个数组中可以包含若干个相同类型的数据。组成数组的数据统称为数组元素,数组用一个统一的名称来标识这些元素,这个名称就是数组名。在数组中,对数组元素的区分使用一个特定的序号——数组下标来实现,可以用数组下标来方便地存取每一个数组元素。在C语言中,数组的下标以0开始,如果有一个包含n个元素的数组,则第1个元素对应下标为0,第2个元素对应下标为1,……,第n个元素对应的下标为n
2、–1。数组是一种构造类型的数据,它是由其他数据类型构造而成的。与基本数据类型变量一样,数组变量也需要先定义、后使用。在定义数组变量时,系统会为数组在内存中分配一块连续的空间进行存储,空间的大小由数组的类型和大小而定。6.1一维数组6.1.2一维数组的定义在C语言程序设计中,数组可以具有多个下标,数组下标的个数称为数组的维数。只有一个下标的数组称为一维数组。一维数组的定义方式如下:类型数组名[常量表达式];下面是有效的数组定义:inta[10];charstr[50];语句“inta[10]”定义了数组名为a的整型数组,该数组共有10个
3、元素。这些元素分配在连续的内存中,每个元素都可以存储一个整型值,则数组a所占的总内存大小为2×10=20字节。同样,语句“charstr[50]”定义了一个数组名为str的字符数组,该数组共有50个元素。这些元素分配在连续的内存中,每个元素都可以存储一个字符,则数组str所占的总内存大小为1×50=50字节。数组a和数组str的各元素分别为:a[0],a[1],a[2],…,a[8],a[9]str[0],str[1],str[2],…,str[48],str[49]6.1一维数组6.1.3一维数组的引用对数组进行访问时,只能对数组的
4、某一个元素进行单独的访问,而不能对整个数组的全部数据进行访问。数组元素的引用形式如下:数组名[下标]这里的下标可以是一个整型常量,也可以是一个已赋值的整型变量、整型值表达式或整型符号常量。6.1一维数组6.2.1多维数组的定义在C语言中,由两个下标来确定元素的数组称为二维数组,由3个以上下标来确定元素的数组称为多维数组。二维数组定义方式如下:类型数组名[常量表达式1][常量表达式2];从定义上看,二维数组相对于一维数组多了一个下标,即多了一维。图6.4二维数组的矩阵排列方式二维数组可以看成一个矩阵,例如:inta[3][4];可以看作
5、如图6.4所示的3行4列矩阵。从图中可以看到,二维数组的第一维决定矩阵的行数,第二维决定矩阵的列数。从结构上来说,二维数组a[3][4]可以视为有3个元素(a[0]、a[1]、a[2])的一维数组,这个一维数组的每个元素又是一个有4个元素的一维数组。可以在定义时以二维数组赋初值,对二维数组元素赋初值的方法与一维数组类似6.2多维数组6.2.2多维数组的引用对二维数组的引用也和一维数组相似,只能对单个元素逐一进行引用,而不能用单行语句对整个数组全体成员一次性地进行引用。6.2多维数组图6.4二维数组的矩阵排列方式6.3.1字符数组与字符
6、串1.字符数组字符数组就是数组元素类型为字符型的数组,它主要用于存储一串连续的字符。字符数组定义与前面所学的数据相同,如下所示:char数组名[];/*定义一维字符数组*/char数组名[][];/*定义二维字符数组*/2.字符串字符串是由双引号括起来的字符序列。3.字符串数组前面所学的字符串和字符数组只能存储单个字符串,如果要存储若干个相关的字符串可以用字符串数组来解决。字符串数组就是数组中的每一个元素又是一个字符串,通过上一节二维数组的学习,知道二维数组可以看成是若干个一维数组的组合,因此,利用二维数组可以方便地实现字符串数组的定
7、义。6.3字符串与字符串数组6.3.2字符处理函数由于字符串有其特殊性,很多常规操作都不能用处理数值型数据的方法来完成,例如:赋值、比较等。此外,字符串还有一些特殊的操作,例如:计算字符串长度、查找字符串的子串和字符串的连接等。C语言中为字符串提供了一系列字符串处理函数来完成这些工作,这些字符串函数都包含在头文件“string.h”中,在使用这些函数时需要在程序的开头添加下面的语句进行声明:#include"string.h"此外,还有用于字符和字符串输入/输出的函数,这些函数多在头文件stdio.h中说明。下面,来看一些常用来进行字
8、符串(字符)输入、输出和处理的函数,这些函数原型见附录相关内容。(1)gets(char*str)gets()函数用于读取从标准输入设备(键盘)输入的一个字符串到str,与scanf()函数不同的是,gets()可以输入
此文档下载收益归作者所有