《C语言程序设计教程第6章数组课件.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计教程第6章数组课件.ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 数 组北京科技大学 计算机系C 语言程序设计1第6 章 数组 本章重点介绍:6.1 一维数组6.2 二维数组6.3 字符数组与字符串2023/6/12第6 章 数组l l一个人一个人NN门课的成绩怎样存储和处理?门课的成绩怎样存储和处理?l l一个班一个班NN门课的成绩怎样存储和处理?门课的成绩怎样存储和处理?.这些数据的特点这些数据的特点:具有相同的数据类型。:具有相同的数据类型。为了方便地使用这些数据,为了方便地使用这些数据,CC语言提供了一种语言提供了一种构造数据类型:构造数据类型:数组。数组。例如:存储学生成绩用例如:存储学生成绩用实型数组实型数组 score5score5其中
2、:其中:scorescore是数组名。是数组名。该数组可以存放该数组可以存放55个成绩,个成绩,分别用下标变量表示:分别用下标变量表示:score0,score1,score4score0,score1,score4。下标变量下标变量也称为也称为数组元素数组元素。2023/6/136.1 一维数组例如:例如:int a10;int a10;float float score5score5;“数据类型数据类型”:是数组元素的数据类型。是数组元素的数据类型。“数组名数组名”:”:遵循遵循CC语言语言标识符规则。标识符规则。“常量表达式常量表达式”:表示数组中有多少个元素,即数:表示数组中有多少个元
3、素,即数组的长度。它可以是整型常量、整型常量表达式组的长度。它可以是整型常量、整型常量表达式或符号常量。或符号常量。6.1.1 一维数组的定义数据类型 数组名常量表达式;2023/6/14以下数组定义是正确的:以下数组定义是正确的:#define N 10#define N 10float score1N,score2N;float score1N,score2N;int num10+N;int num10+N;char c26;char c26;以下数组定义是不正确的:以下数组定义是不正确的:int array(10);int array(10);int n;float scoren;int
4、 n;float scoren;double ba.d;double ba.d;char str;char str;6.1.1 一维数组的定义(续)2023/6/15数组在内存的存放l l数组下标从数组下标从00开始。开始。l l一维数组的数组元素一维数组的数组元素在内存里在内存里按顺序按顺序存放。存放。l l数组名代表数组的首数组名代表数组的首地址,即地址,即scorescore的值的值与与score0 score0 的地址的地址值相同。值相同。score0score1score2score3score491.534.567.572.084.0低地址高地址score数组2023/6/166.
5、1.2 数组元素的引用 格式:格式:例如:输入学生成绩例如:输入学生成绩 for(i=0;ifor(i=0;i55;i+);i+)scanf scanf(%f%f,&score&scorei);i);例如:例如:fibn=fibn-1+fibn-2;fibn=fibn-1+fibn-2;下标表达式下标表达式的值必须是的值必须是整型表达式整型表达式。数组名下标表达式2023/6/176.1.2 数组元素的引用(续)说明:下标从下标从00开始(下界为开始(下界为00),数组的最大下标),数组的最大下标(上界)是数组长度减(上界)是数组长度减11。例如:例如:int a10;int a10;scanf(%d,&a10);/*scanf(%d,&a10);/*下标越界下标越界*/C编译系统不做越界检查,如果引用的数组元素超出数组范围会破坏其他变量的值。2023/6/186.1.2 数组元素的引用(续)是下标运算下标运算符符,引用数组元素时,根据数组的首首地址地址和下标下标数,计算出该元素的实际地址,取出该地址的内容内容进行操作。如引用 score2:(1)计算 2000+2*4=2008(2)取出2008的内容2000H2004H2008H200CH218CHscore0score1score2score3score491.534.567.572.084.02023/6/19
限制150内