- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计第06章概要
6.1 一维数组的定义和应用 6.1.1 一维数组的定义 6.1.2 一维数组元素的引用 6.1.3 一维数组元素的初始化 6.1.4 一维数组应用举例 特别说明:在数组定义时,“常量表达式”外的方括号;以及元素引用时,“下标表达式”外的方括号,都是C语言语法规则所要求的,不是以前所约定的可选项的描述符号! (4)数组元素的下标,是元素相对于数组起始地址的偏移量,所以从0开始顺序编号。 (5)数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元。 6.1.2 一维数组元素的引用 引用数组中的任意一个元素的形式: 数组名[下标表达式] 1.“下标表达式”可以是任何非负整型数据,取值范围是0~(元素个数-1)。 特别强调:在运行C语言程序过程中,系统并不自动检验数组元素的下标是否越界。因此在编写程序时,保证数组下标不越界是十分重要的。 2.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和各种运算。 3.在C语言中,数组作为一个整体,不能参加数据运算,只能对单个的数组元素进行处理! 6.1.3 一维数组元素的初始化 初始化格式: 数据类型 数组名[常量表达式]={初值表} (1)如果对数组的全部元素赋以初值,定义时可以不指定数组长度(系统根据初值个数自动确定)。如果被定义数组的长度,与初值个数不同,则数组长度不能省略。 (2)“初值表”中的初值个数,可以少于元素个数,即允许只给部分元素赋初值。 (3)根据存储类型的不同,数组有静态数组(static)和动态数组(auto)之分;根据定义的位置不同,数组有内部数组(在函数内部定义的数组)和外部数组(在函数外部定义的数组)之分。 #include stdio.h #define NUM 10 /*定义符号常量*/ main() { int data[NUM]; /*定义1个1维整型数组data*/ int i,j,temp; /*定义循环变量和临时变量*/ clrscr(); /*库函数clrscr():清屏*/ printf(Please input 10 numbers:\n); for(i=0; iNUM; i++) scanf(%d, data[i]); 6.2 二维数组的定义和引用 6.2.1 二维数组的定义 6.2.2 二维数组元素的引用 6.2.3 二维数组元素的初始化 6.2.4 二维数组应用举例 6.2.1 二维数组的定义 定义形式 类型 数组名[常量表达式][常量表达式]; 可以看作元素是一维数组的一维数组 举例 char a[3][4]; /* 3行4列 */ 二维数组的存储形式 按行存放,先行后列 char a[3][4]; 6.2.1 二维数组的定义 [例6.3] 给一个2*3的二维数组各元素赋值,并输出全部元素的值。 #define Row 2 #define Col 3 #include stdio.h main() { int i, j, array[Row][Col]; for(i=0; iRow; i++) /*外循环:控制二维数组的行*/ for(j=0; jCol; j++) /*内循环:控制2维数组的列*/ {printf(please input array[%2d][%2d]:,i,j); scanf(%d,array[i][j]); /*从键盘输入a[i][j]的值*/ } printf(\n); /*输出2维数组array*/ for(i=0;iRow;i++) { for(j=0;jCol;j++) printf(%8d,array[i][j]); printf(\n); } } 二维数组的定义方式如下: 数据类型 数组名[行常量表达式][列常量表达式] ; 1.数组元素在内存中的排列顺序为“按行存放”,即先顺序存放第一行的元素,再存放第二行,以此类推。 2. 设有一个m*n的数组x,则第i行第j列的元素x[i][j]在数组中的位置为:i*n+j(注意:行号、列号均从0开始计数)。 3.可以把二
您可能关注的文档
- CH1绪论概要.ppt
- ch1导论概要.ppt
- ch2跨文化管理概要.ppt
- ch1单纯形法概要.ppt
- Ch04市场营销环境概要.ppt
- CFD概念及应用概要.ppt
- CH3问题识别与文献回顾概要.ppt
- Ch5计算机网络习题课_V概要.ppt
- ch6定时器及应用概要.ppt
- ch2-3概要.ppt
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)