- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;理解数组概念及其在内存中的存储结构
一维数组定义、初始化、引用
二维数组定义、初始化、引用
字符数组及字符串
使用数组处理批量同类型数据问题
应用所学知识灵活处理数据存储问题;例5-1考试成绩统计,输入一组学生成绩以-1作为结束标记,计算所有成绩的平均分并统计高于平均分人数。
分析:
输入一组数据求平均分,使用循环就可以解决,读入数据累加,然后计算平均分(后读入数据覆盖先读入数据)
若要统计高于平均分人数,就需要遍历之前所有输入的成绩数据,但是之前所学知识无法解决这个问题。
使用数组存储读入的成绩数据,再求出平均分后,再遍历成绩数组,统计出高于平均分的人数。;;一维数组的定义形式:
类型名数组名[数组长度]
说明:
类型名确定每个数组元素的数据类型
数组名是数组变量的名称,需要满足标识符命名原则
数组长度,必须是确定的值
;;数组初始化格式
类型名数组名[数组长度]={数组元素初值表};
例如:
intnum[5]={25,13,-12,36,54};
intnum[]={25,13,-12,36,54};
intnum[5]={25,13};
说明:
定义同时为数组元素赋值
若对所有元素赋值,可以省略数组长度
;数组元素引用:数组名[下标]
例如:num[i+1]=num[i]*2;
说明:
数组下标从0开始,可以使用的范围为0~数组长度-1
注意数组下标不能越界
数组定义完成后,只能通过下标对数组每个元素进行单独的使用,而不能单独使用数组名对整个数组进行访问
;1、遍历数组;;2、查找数组;;3、数组中插入数据;;4、借助数组计数;;5、排序问题;从第0个元素开始,找到数组的最大值的下标
;;;;;;6、借助数组使程序易于维护;;【例5-8】输入一个专业所有学生的学业平均成绩、竞赛获奖成绩、班级贡献成绩、活动参与成绩,并且按照学业平均成绩80%,竞赛获奖10%,班级贡献5%,活动参与5%来计算每个学生的综合成绩,请编写程序完成这个任务。
二维数组解决该问题
每个学生有四项成绩,需要使用数组记录(一个维度)
多个学生构成另一个维度;;二维数组定义形式:类型名数组名[行长度][列长度]
intnum[2][3];
;2、二维数组初始化;3、二维数组引用
;1、与矩阵相关操作;;2、二维数组的排序问题;;;【例5-11】图灵在中学时代就对密码产生浓厚的兴趣,他与好朋友使用加密的内容传递小纸条。加密的规则是确定好一个秘钥key(绝对值10以内的数字),然后将消息中的字母使用字母表顺序该字母后key个字母替换。例如key是1,则消息中”A”用”B”替换,”B”用”C”替换,以此类推,最后”Z”用”A”替换。有一天图灵收到一条消息”WIICSYMEXASPSRKAIIOWHIEVIWXJVMIRH”已知秘钥是-4,请编写程序破译一下这条消息吧。
分析:
读入消息,将字符对应的ASCII码加秘钥后输出对应的字符
批量的字符处理方式;;字符串常量
“IloveProgramming!”是一个字符串常量
字符串特点
字符串由字符序列和字符串结束符’\0’构成,字符串结束符’\0’对应ASCII表0,是不可见字符,占用存储空间。
字符串“IloveProgramming!”由字符序列IloveProgramming!和不可见的’\0’构成。字符串中的字符序列称为字符串的有效字符。;C语言没有字符串类型,字符串使用一维字符数组存储。
charstr[20]=“LOVE”
用字符串对字符数组初始化时,字符数组长度可以省略不写,但其真实长度是字符串长度+1。
charstr1[]=“LOVE”
charstr2[]={‘L’,‘O’,‘V’,‘E’}
通过判断字符串结束符’\0’来判断字符串的结束
for(length=0;str[length]!=‘\0’;length++);;1、字符串输入输出函数;1、字符串输入输出函数
;【例5-12】从键盘读入一个单词,统计单词中每个字母出现的次数。
分析:
程序要求读入一个单词,因此中间没有空格,可以使用scanf语句读入。
要统计每个字母出现的次数,字母的个数是有限的26个,结合一维数组中介绍的方法,可以使用一个长度为26的整型数组依次存储字母A(a)到Z(z)出现的次数,将每个字母的ASCII码转换为对应字母的下标,进行计数。
;;【例5-13】键盘输入一个段落,统计其中一共出现多少个单词。
分析:
要统计段落中出现的单词数,因此输入包括空格,字符串读入使用gets函数。统计单词个数就需要在每次遇到新单词时进行计数,如何才能确定当前字符是新单词的开始
您可能关注的文档
- 工业机器人系统操作员 高级 课件 卫家鹏 项目2 电气系统装调.pptx
- 工业机器人系统操作员 高级 课件 卫家鹏 项目1 机械系统装调.pptx
- 冲压工艺与模具设计(第二版)课件 第9、10章 精冲模、级进模.pptx
- 冲压工艺与模具设计(第二版)课件 第6--8章 拉伸、其他冲模、汽车模具.pptx
- 冲压工艺与模具设计(第二版)课件 第10、11章 级进模、工艺规程.ppt
- 冲压工艺与模具设计(第二版)课件 第1--3章 绪论、冲压加工基、设备.pptx
- 冲压工艺与模具设计(第二版)课件 第4、5章 冲裁、弯曲.pptx
- 工厂供电 试卷B.doc
- 《财务管理学(第10版)》参考答案 王化成.pdf
- 《文献检索与论文写作》教学大纲思政版.docx
- 山东省德州市平原县江山国际学校八年级(下册)月考生物试卷(4月份)解析版.pdf
- 山西省农业大学附属中学七年级上册期中考试道德与法治试卷.pdf
- 三年级下册语文部编版 古诗三首课时练习(含答案)(1).pdf
- 数学人教版(2024版)课时练习 含答案七年级初一上册 6.1.1 立体图形与平面图形 03.pdf
- 生物人教版(2024新教材)七年级初一上册2.3.1 微生物的分布 课时练含答案(1).pdf
- 数学人教版(2024版)课时练习 含答案七年级初一上册 6.1.2 点、线、面、体 01.pdf
- 三年级下册数学人教版-面积单位间的进率 课时练 (2)-(含答案).pdf
- 三年级下册数学人教版-简单的小数加减法 课时练 (5)-(含答案).pdf
- 上学期高一期末备考金卷 生物(A卷)教师版含答案.pdf
- 数学人教版(2024新教材)一年级上册 第5章 20以内的进位加法(第2课时 8、7、6加几) 课时练含答案(1).pdf
文档评论(0)