C语言程序设计(第二版)-刘国成 第六章 数组_第1页
C语言程序设计(第二版)-刘国成 第六章 数组_第2页
C语言程序设计(第二版)-刘国成 第六章 数组_第3页
C语言程序设计(第二版)-刘国成 第六章 数组_第4页
C语言程序设计(第二版)-刘国成 第六章 数组_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

维数组 维数组 符数组与字符串 一、数组的引入 为了便于处理一批类型相同的数据 ,引入了数组类型 . 假设现在要保存每个学生的成绩 ,那就需要 40个变量 ,但这样一来输入、输出、计算都会变得繁琐。 在这种情况下 ,我们可以使用数组类型 ,声明一个含有 40个元素的数组 ,每个数组元素存放一个成绩 ,成绩的输入、输出、计算都可通过循环来 实现。 例 :某班有 40名学生 ,求该班成绩的平均分 #) j , s ; ; j=1; j ) j , s40 ; ; j=0; j ) i,a10; 0 n); i=0;ai; dn, 控制输入10个数据 核心算法语句 【 例 用冒泡排序法 对 行排序 (从小到大 ),用 6个演示 冒泡排序方法 : 依次比较相邻的两个数 ,将小数放前面 ,大数放后面 轮 (共 5次比较与交换 )后最大的数 9已沉底 。再对余下的前面 5个数进行第二轮比较 ,次大的数又被安置。 从第 1轮到第 各轮的比较次数依次为 : 1次, 第 9 7 2 5 4 1 a0 a1 a2 a3 a4 a5 7 2 5 4 1 9 277 547 12 5 4 1 7 9 45 15 2 4 1 5 7 9 2 1 4 5 7 9 141 2 9 7 2 5 4 1 99 9 9 9 7 2541初始状态 第 1轮 第 2轮 第 3轮 第 4轮 第 5轮 7 维数组 姓名 高等数学 大学英语 王青 80 82 86 陈丹 78 89 80 赵乐 76 72 81 李磊 53 67 70 罗鹏 87 82 91 该表共有 15个数值,我们可以把它看作是由 5行 3列组成的矩阵。在数学中,我们使用双下标变量来表示矩阵中的某个值,其中一个变量表示行,另一个变量表示列。 在 表在 v53; /* 5表示行数, 3表示列数, */ 维数组的定义 定义 形式 : 类型说明符 数组名 常量表达式 1 常量表达式 2 ; 如 : a34 ; 维数组的引用 数组 元素的表示形式 : 数组名 下标 下标 注意 : (1) 每个下标都要用 括 起来,如 a 2 1 不能写成 a 2,1 (2) 下标从 0开始 ,且不要 超过定义 的范围 维数组的初始化与赋值 1. 分行初始化 a34= 1, 2, 3, 4 , 5, 6, 7, 8 , 9, 10, 11, 12 ; 此方法较直观 , 第一对 内的数据赋给第一行数组元素 , 依次 类推 2. 按数据的排列顺序对数组元素赋初值 a34= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; 将数据依次赋给元素 a00 , a01 a23 1 2 3 4 5 6 7 8 9 10 11 12 注意 : 此方法数据无明显的界限 , 当数据较多时容易出错 3. 对数组的部分元素赋初值 ,未赋值元素自动取 0 a34= 1,2 , 3 ,4,5,6 ; a34= 1,2,3,4,5,6 ; 1 2 0 0 3 0 0 0 4 5 6 0 1 2 3 4 5 6 0 0 0 0 0 0 4. 对数组的全部元素赋初值时可以省略第一维的长度 (行下标 ), 系统会根据数据的个数和第二维的长度自动求出第一维长度 , 但第二维下标不可省 . b 2= 1, 2, 3, 4, 5, 6, 7, 8 ; 数组 a 第一维长度为 3 数组 b 第一维长度为 4 如仅对部分元素赋初值,要想省略数组的行数,则必须分行赋值。 a 4= 1, 2 , 0, 3, 4 , 5 ; 【 例 求一个 4 4矩阵的主对角线上各元素之和。 #) a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16; i,j,; i=0;i c10=I, ,a,m, ,a, ,b,o,y; i; i=0;i a15,b5,c5; %s%s%s,a,b,c); a=%sssn,a,b,c); %s,a); a=%sn,a); 运行情况: 输入: 输出: a=b=c=输入: 输出: a=遇空格或回车结束 H o w 0 a r e 0 y o u ? 0 3、常用的字符串处理函数 除 包含 在头文件 1)字符串输出函数 式: 符数组 ) 功能:向显示器输出字符串(输出完,换行) 说明:字符数组必须以 0结束 ( 2)字符串输入函数 式: 符数组 ) 功能:从键盘输入一以 回车结束 的字符串放入字符数组中, 并自动加 0 说明:输入串长度应小于字符数组维数 例 #) 0; a ); 输入 : 输出 : # a15,b5,c5; %s,a); a=%sn,a); 运行情况: 输入: 输出: a= a15,b5,c5; a); a=%sn,a); 使用 的 %空格 或 回车 结束 使用 函数,只以 回车键 结束输入 运行情况: 输入: 输出: a= 讨论: 的 %s与 函数的区别? ( 3)字符串连接函数 式: 符数组 1,字符数组 2) 功能:把字符数组 2连到字符数组 1后面 返值:返回字符数组 1的首地址 说明: 字符数组 1必须足够大 连接前 ,两串均以 0结束 ;连接后 ,串 1的 0取消 , 新串最后加 0 ( 4)字符串拷贝函数 式: 符数组 1,字符串 2) 功能:将字符串 2,拷贝到字符数组 1中去 返值:返回字符数组 1的首地址 说明: 字符数组 1必须足够大 拷贝时 0一同拷贝 不能使用赋值语句为一个字符数组赋值 例 0,0; “; () () ( 5)字符串比较函数 式: 符串 1,字符串 2) 功能:比较两个字符串 比较规则:对两串从左向右逐个字符比较( 直到遇到不同字符或 0为止 返值:返回 a. 若字符串 1 字符串 2, 返回 正整数 c. 若字符串 1= 字符串 2, 返回 零

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论