- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计课程介绍-第5章批量数据处理—数组参考
第5章 批量数据处理—数组 一维数组 排序和查找 二维数组 字符串 一维数组 有时,我们需要存储一批同类型的数据,如有十只羊,主人要保存每只羊的重量,并从中挑选一只最肥的羊。 解决方案:可以定义十个double型的变量sheep1, …, sheep10,然后比较十个值,找出一个最大值。 缺点: 定义了十个变量。要是有100只羊就要定义100个变量 程序只能用顺序结构 如果羊群规模发生变化,程序就得重写 数组 数组是保存一组同类元素的数据类型,它有两个特征: 数组元素是有序的 数组元素是同类的 定义数组要定义三个基本内容: 数组名字 数组元素的类型 数组的大小 数组的定义 格式: 类型 数组名[元素个数]; 其中,元素个数必须是常量。如: int intarray[10]; 但 int n = 10; int intarray[n]; 是错的 常用的方法是将元素个数定义为一个常量。如: #define NumOfElement 10 int intarray[NumOfElement]; 相当于 int intarray[10]; 初始化 定义数组时可以对数组初始化 float x[5] = { -1.1, 0.2, 33.0, 4.4, 5.05 }; 初始化表的长度短于要被初始化的数组元素数目,那么剩余元素被初始化为0。 带有初始化的数组可以不定义数组规模,编译器根据初值的个数决定数组的大小 int a[]={1,2,3,4,5}; 则默认数组大小为5 数组元素 数组元素的使用是通过数组名及元素的序号来指定,如intarray[2]。当数组的大小为n时,元素的序号为0 – n-1。 元素的序号称为下标。程序中,下标可为整数、整型变量或结果为整型的任意表达式。正是这一特性,使得数组的应用非常灵活。 数组在内存中 定义数组就是定义了一块连续的空间,空间的大小等于元素数*每个元素所占的空间大小。 数组元素按序存放在这块空间中。 为数组分配空间 如: int intarray[5];占用了20个字节,因为每个整型数占四个字节。如给intarray[3]赋值为3,如果这块空间的起始地址为100,那么在内存中的情况是: 当你引用变量intarray[idx]时,系统计算它的地址100+idx*4,对该地址的内容进行操作。 数组下标超界问题 C/C++语言不检查数组下标的超界。如定义数组 int intarray[10]; 合法的下标范围是0 – 9,但如果你引用intarray[10],系统不会报错。如数组intarray 的起始地址是1000,当引用intarray[10]时,系统对1040号内存进行操作。而1040可能是另一个变量的地址 解决方法:由程序员自己控制。在对下标变量进行操作前,先检查下标的合法性。 数组的操作 数组的操作主要是数组元素的操作。 不能直接对数组名进行赋值。如:intarray=30 是错的。事实上,数组名中存放的是该数组的起始地址。 eg. 数组的输入输出 使羊群问题的程序更通用 方案一:可以将羊的个数定义成一个符号常量。需要时,可以修改这个符号常量的值 方案二:定义一个足够大的数组存放羊群的信息,定义一个输入结束标志,用while循环解决这个问题。可参照分数统计程序 方案一 #define NUM 10 int main() {double sheep[NUM], max=0; int i, maxNum; for (i=0; iNUM; ++i) { cout “请输入第” i “只羊的重量”; cin sheep[i];} for (i=0; iNUM; ++i) if (sheep[i] max) { max = sheep[i]; maxNum = i; } cout “最重的羊是第” maxNum “只” endl; cout “它的重量是” max endl; return 0; } 数组应用 从终端输入一串字符,统计字符串中个字母出现的次数。 解决方法: 方法一:用26个整型变量计数26个字母,对输入字符串中的每一字符用switch语句分别计数。 方法二:用一个26个元素的数组,如num[26], 表示计数。num[0]存放a的个数, num[1]存放b的个数…。这样对每一个字符不必用switch,而只需用一个简单的计算: ++num[toupper(ch) -
您可能关注的文档
- 2017新版部编本二年级上册语文识字2《树之歌》参考.ppt
- 2017新版静夜思参考.ppt
- 2017新版部编本二年级上册语文语文难忘的泼水节参考.ppt
- 2017新版部编版《荷叶圆圆》参考.ppt
- 2017新版部编本二年级上册语文课难忘的泼水节参考.ppt
- 2017新苏教版一年级下册语文《叶子的眼睛》诵读课件参考.ppt
- 2017新苏教版一年级下册语文《会睡觉的植物》课件参考.ppt
- 2017新苏教版一年级下册语文《他得的红圈圈最多》课件参考.ppt
- 2017新版食物中的营养物质课件参考.ppt
- 2017新苏教版一年级下册语文《叶子的眼睛》赏析课件参考.ppt
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 矿用隔爆兼本安型控制器工艺流程图.doc VIP
- 政治学概论政治学概论编写组05政党与政党制度.ppt VIP
- 《乡村旅游规划与实践》课件——项目七 乡村旅游商品开发与设计.pptx VIP
- 国家义务教育质量监测心理健康测试题.pdf VIP
- 《分数加法和减法》单元整体设计 -2023-2024学年五年级下册数学人教版.doc VIP
- 《0~3岁婴幼儿保育与教育》PPT教学课件(全).pptx VIP
- 小学科学实验课学生合作学习策略与互动模式研究教学研究课题报告.docx
- 测绘工程管理与法律法规 测绘违法案例60讲 5测绘违法案例五.ppt
- 第六届中国国际“互联网+”大学生创新创业大赛项目计划书【模板】.pdf
- 政治学05 政党与政党制度.ppt VIP
文档评论(0)