文档详情

c语言数组和字符串.pptx

发布:2020-02-22约1.65万字共76页下载文档
文本预览下载声明
第8章 数组与字符串 本章重点介绍 :8.1 一维数组8.2 二维数组8.3 字符数组与字符串8.4动态分配与void类型指针 整型基本类型: 实型 字符型 、 枚举类型 数组类型 构造类型: 结构体类型 公用体类型指针类型空类型C语言的数据类型引言 简单变量:如a, b2, x3, day ,sum,如同一个姓名代表一个人一样,变量间没有任何联系。 有一些变量可以归结为同一类型,如s1,s2,s3,s4,s5,…s10代表同一个班中10个学生每个学生的成绩。这些变量都用相同的名字,只是下角标有所区别,即用相同的名字不同的下标代表同一类型的一组数据,这种变量称为下标变量。 C语言中同样也可以用下标变量,只是把下标用方括号括起来。即s[1],s[2],…s[10],这就是数组类型变量。a14a13a11a12a22a23a24a212×4什么构造类型? 所谓构造类型是指由基本类型数据按一定的规则组成的,是用户自己按规则定义的。数组是构造类型之一。在数学中我们学过数列、矩阵的概念,数列通常表示为:a1 、a2 、a3、….、an 矩阵通常表示为:在C语言中表示数组和矩阵的方法是:数组:a[0]、a[1]、a[2]、a[3]、a[4]、a[5]其中 a :称为数组名。 方括号中的数:称为下标 下标是一个数时,也就是数列,称为一维数组。下标是两个数时,也就是矩阵,称为二维数组。还有三维数组、四维数组等。 第8章 数组与字符串一个人N门课的成绩怎样存储和处理?一个班N门课的成绩怎样存储和处理?......这些数据的特点:具有相同的数据类型。 为了方便地使用这些数据,C语言提供了一种构造数据类型:数组。例如:存储学生成绩用实型数组 score[5]其中:score是数组名。该数组可以存放5个成绩,分别用下标变量表示:score[0],score[1],…score[4]。 下标变量也称为数组元素。引言 数组的特点: 1、 数组是有序数据的集合; 2、数组中的每一个元素都属于同一个数据类型; 3、用一个统一的数组名和下标来唯一的确定数组中的元素。8.1 一维数组8.1.1 一维数组的定义数据类型 数组名[常量表达式];例如: int a[10]; float score[5]; “数据类型”: 是数组元素的数据类型。“数组名”:遵循C语言标识符规则。“常量表达式”:表示数组中有多少个元素,即数组的长度。它可以是整型常量、整型常量表达式或符号常量。 8.1.1 一维数组的定义(续)以下数组定义是正确的:#define N 10……float score1[N], score2[N];int num[10+N];char c[26];以下数组定义是不正确的:int array(10);int n; float score[n];double b[a.. d];char str[ ]; 数组在内存的存放低地址高地址91.534.567.572.084.0score[0]score[1]score[2]score[3]score[4]数组下标从0开始。一维数组的数组元素在内存里按顺序存放。数组名代表数组的首地址,即score的值与score[0] 的地址值相同。 score数组8.1.2 数组元素的引用 格式:数组名[下标表达式]例如:输入学生成绩 for(i=0;i5;i++) scanf(%f,score[i]);例如:fib[n]=fib[n-1]+fib[n-2];下标表达式的值必须是整型表达式。8.1.2 数组元素的引用(续)说明:① 下标从0开始(下界为0),数组的最大下标(上界)是数组长度减1。 例如: int a[10]; scanf (%d,a[10]); /* 下标越界 */ C编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。8.1.2 数组元素的引用(续)91.534.567.572.084.0score[0]score[1]score[2]score[3]score[4]2000H2004H2008H200CH218CH如引用 score[2]:(1)计算 2000+2*4=2008(2)取出2008的内容 ② [ ]是下标运算符,引用数组元素时,根据数组的首地址和下标数,计算出该元素的实际地址,取出该地址的内容进行操作。a[0]0a[1]12a[2]3a[3]4a[4]5a[5]a一维数组的定义定义方式:类型说明符 数组名[常量表达式]; [ ]:数组运算符单目运算符例 int a[6];合法标识符表示元素个数引用时下标从0开始编译时分配连续内存内存字节数=数组大小* sizeof(元素数据类型)数组名表示内存首地址,是地址常
显示全部
相似文档