国家级精品课程站(本书配套教学站)http---programming.ppt
《国家级精品课程站(本书配套教学站)http---programming.ppt》由会员分享,可在线阅读,更多相关《国家级精品课程站(本书配套教学站)http---programming.ppt(49页珍藏版)》请在麦多课文档分享上搜索。
1、国家级精品课程网站 (本书配套教学网站) http:/,1,第4章 数组与字符串,4.1 数组 1.一维数组 2.二维数组 3.多维数组 4.2 字符型数组和字符串处理库函数 1.字符型数组的定义和初始化 2.字符串的输入与输出 3.字符串处理库函数,2,4.1数组,数据类型 (1)基本类型:整型、字符型、实型 (2)构造类型: 由基本类型数据按一定规则组成的,包括数组、结构体、共用体 数组 (1)具有相同数据类型的变量集合,这些变量名称相同,下标不同,称为数组元素 (2)有一个下标一维数组 (3)有两个下标二维数组,3,4.1.1 一维数组,1、一维数组的定义格式 类型说明符 数组名常量表达
2、式 2、说明 (1) 数组名命名规则和变量名相同。 (2) 数组名后用方括弧括起来的常量表达式表示下标长度 (3) C语言的下标从0开始,必须是整型变量或常量。 (4) 数组在内存中存储时,按下标递增的顺序连续存储各元素例如: int array10;表示数组名为a,有10个元素,4,3、一维数组的初始化,(1) 定义数组时顺序对各元素赋以初值 例如:int a10=0,1,2,3,4,5,6,7,8,9; (2) 全部元素赋初值时,可以不指定数组长度 例如: int a5=1,2,3,4,5; 可以写成 int a =1,2,3,4,5; (3) 可以只给一部分元素赋值。 例如: int a
3、10=0,1,2,3,4; 前面5个元素赋初值,后5个元素值为0。,5,一维数组初始化,例:int A5; 在内存存储如图 数组的首地址是数组名A 数组的首地址也是第一个元素的地址赋值如图,6,例4-1,题目:给一维数组x输入10个整数,找出x数组中的最大数和最小数。 算法分析: 1、假设数组中第1个元素最大, 令xmax=a0 2、将ai(0= i n)与max进行比较, 若ai xmax ,i=i+1,再执行2 否则,令xmax=ai,i=i+1,再执行2 3、循环结束,求出最大元素并输出max。,输入 2 1 7 3 12 4 9 输出 max=12,7,/ Example 4-1:,#
4、include int main() int array7; coutarrayi;int big = array0;for(int j=0; jbig) big = arrayj;cout“max=“bigendl;return 0;,8,二维数组,定义格式: ; 例如,三个学生四门课程成绩数据如下:85 87 93 8886 90 95 8978 91 82 95 利用二维数组存放这些数据更能表现数据之间相互联系的特征。每一行数据表示该学生的各门课程的成绩,而每一列数据表示该门课程各学生的成绩。该数组定义为: int matrix34;,9,二维数组存储结构,逻辑结构:二维数组恰似一张表格
5、(或矩阵)。数组元素中的第一个下标值表示该元素在表格中的行号,第二个下标为列号。 M33具有如下逻辑结构:M00 M01 M02M10 M11 M12M20 M21 M22 存贮结构:二维数组在内存中按一维数组存放、占据一片连续的存贮单元;是“按行顺序”在内存中分配存贮单元。,10,二维数组初始化,1按照二维数组元素的物理存储次序给所有或部分数组元素提供数据值 int score34= 85,87,93,88,86,90,95,89,78,91,82,95; /给数组stu_score每个元素都提供初值 float matrix23= 1.0,3.0; /仅为数组matrix的前个元素提供初值
6、,11,2以行结构方式提供各数据值int score34= 85,87,93,88, 86,90,95,89,78,91,82,95 ;,12,4.2 字符型数组和字符串处理库函数,字符串用双引号括起来,例如,”abc”; 用字符型数组存放字符串,存放时,在有效字符后自动加0; 称0为空值,是字符串结束标志; 有效字符的个数称为字符串长度。 例如,”abc”的长度为3,但占4个字节(0占一位) 。,13,字符型数组的定义和初始化,char weekday 7= “MONDAY“; char weekday 7= “MONDAY“; 字符串的输入与输出 char name20; cinname;
7、 cin.get(name, n); /第一个是字符数组变量,第二个指定向这个变量/中读入几个字符 coutname;,14,例4-2 字符串的输入与输出,输入和输出 Please input a name with blank(within 19 characters): Cong Zhen Please input the name again Cong Zhen,15,例4-2 源程序,#include int main() char name120, name220;coutname2;cout“Using function get, the name storing in the v
8、ariable is: “name1endl;cout“Using operater , the name storing in the variable is: “name2endl;return 0; ,16,字符串处理库函数,需要添加#include stpcpy(): 字符串拷贝; strcat(): 字符串连接; strchr(): 在字符串中查找字符; strcmp(): 字符串比较; strlen(): 求字符串长度; strlwr(): 将字符串中的大写字母转换为小写字母; strrev(): 反转字符串; strstr(): 在字符串中查找另一个字符串; strupr():
9、将字符串中的小写字母转换为大写字母;,17,例4-3,编写一个用来计算字符串长度的函数mystrlen(),并用主函数验证 算法分析: 1)设一个计数器变量len=0 2)从数组slen第一个元素开始进行处理 3)若当前的元素值slen非空(0),则len+1,继续执行3;否则,退出循环。 4)打印结果len,18,程序逻辑功能框图,len = 0 strn,len=len+1,打印结果len,strlen=0?,是,否,19,/ Example 4-3:求字符串的长度,#include /计算字符串的长度的函数 int mystrlen(char string) int len = 0;wh
10、ile(stringlen!=0)len = len+1;return len; ,20,/测试计算字符串长度的主函数,int main() char string100; int len = 0;coutstring;cout“The length of the string is:“mystrlen(string)endl;return 0; ,输入 china 输出 The length of the string is:5,21,4.3 结构体类型,迄今为止,已介绍了基本类型(或称简单类型)的变量(如整型、实型、字符型变量等),也介绍了一种构造类型数据数组,数组中的各元素是属于同一个类
11、型的。 但是只有这些数据类型是不够的。有时需要将不同类型的数据组合成一个有机的整体,以便于引用。这些组合在一个整体中的数据是互相联系的。,22,例如,工人工资单:姓名、单位、编号. 例如,学生成绩单:学号、姓名、性别、各科成绩等 这些项都与某一学生相联系。 可以看到性别(sex)、年龄(age)、成绩(score)、地址(addr)是属于学号为10010和名为“Li Fun”的学生的。 如果将num、name、sex、age、score、addr分别定义为互相独立的简单变量,难以反映它们之间的内在联系。,23,4.3.1 结构体类型的定义,结构体作为一种数据构造类型,在C 语言程序中也许需要经
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国家级 精品课程 配套 教学 HTTPPROGRAMMINGPPT
