资源描述:
《C语言数组和字符串ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章数组与字符串本章重点介绍:8.1一维数组8.2二维数组8.3字符数组与字符串8.4动态分配与void类型指针2021/9/151整型基本类型:实型字符型、枚举类型数组类型构造类型:结构体类型公用体类型指针类型空类型C语言的数据类型2021/9/152引言简单变量:如a,b2,x3,day,sum,如同一个姓名代表一个人一样,变量间没有任何联系。有一些变量可以归结为同一类型,如s1,s2,s3,s4,s5,…s10代表同一个班中10个学生每个学生的成绩。这些变量都用相同的名字,只是下角标有所区别
2、,即用相同的名字不同的下标代表同一类型的一组数据,这种变量称为下标变量。C语言中同样也可以用下标变量,只是把下标用方括号括起来。即s[1],s[2],…s[10],这就是数组类型变量。2021/9/153什么构造类型?所谓构造类型是指由基本类型数据按一定的规则组成的,是用户自己按规则定义的。数组是构造类型之一。在数学中我们学过数列、矩阵的概念,数列通常表示为:a1、a2、a3、….、an矩阵通常表示为:a11a12a13a14a21a22a23a242×42021/9/154在C语言中表示数组和矩阵
3、的方法是:数组:a[0]、a[1]、a[2]、a[3]、a[4]、a[5]其中a:称为数组名。方括号中的数:称为下标下标是一个数时,也就是数列,称为一维数组。下标是两个数时,也就是矩阵,称为二维数组。还有三维数组、四维数组等。2021/9/155第8章数组与字符串一个人N门课的成绩怎样存储和处理?一个班N门课的成绩怎样存储和处理?......这些数据的特点:具有相同的数据类型。为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。例如:存储学生成绩用实型数组score[5]其中:score是数
4、组名。该数组可以存放5个成绩,分别用下标变量表示:score[0],score[1],…score[4]。下标变量也称为数组元素。2021/9/156引言数组的特点:1、数组是有序数据的集合;2、数组中的每一个元素都属于同一个数据类型;3、用一个统一的数组名和下标来唯一的确定数组中的元素。2021/9/1578.1一维数组例如:inta[10];floatscore[5];“数据类型”:是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可
5、以是整型常量、整型常量表达式或符号常量。8.1.1一维数组的定义数据类型数组名[常量表达式];2021/9/158以下数组定义是正确的:#defineN10……floatscore1[N],score2[N];intnum[10+N];charc[26];以下数组定义是不正确的:intarray(10);intn;floatscore[n];doubleb['a'..'d'];charstr[];8.1.1一维数组的定义(续)2021/9/159数组在内存的存放数组下标从0开始。一维数组的数组元素在
6、内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0]的地址值相同。score[0]score[1]score[2]score[3]score[4]91.534.567.572.084.0低地址高地址score数组2021/9/15108.1.2数组元素的引用格式:例如:输入学生成绩for(i=0;i<5;i++)scanf("%f",&score[i]);例如:fib[n]=fib[n-1]+fib[n-2];下标表达式的值必须是整型表达式。数组名[下标表达式]2021/9/
7、15118.1.2数组元素的引用(续)说明:①下标从0开始(下界为0),数组的最大下标(上界)是数组长度减1。例如:inta[10];scanf("%d",&a[10]);/*下标越界*/C编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2021/9/15128.1.2数组元素的引用(续)②[]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。如引用score[2]:(1)计算2000+2*4=2008(2)取出2008
8、的内容2000H2004H2008H200CH218CHscore[0]score[1]score[2]score[3]score[4]91.534.567.572.084.02021/9/1513合法标识符表示元素个数引用时下标从0开始[]:数组运算符单目运算符例inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a编译时分配连续内存内存字节数=数组大小*sizeof(元素数据类型)数组名表示内存首地址,是地址常量一维数组的定义定义方式:类型