版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、YCF正版可修改PPT(中职)编程语言基础C语言模块4教学课件模块4 数组任务1 一维数组任务2 二维数组任务3 字符数组及字符串处理函数任务1一维数组 4.1.1 定义一维数组 定义一维数组的格式为:定义了一个一维数组,数组名称为a,数组中数组元素的个 数为100,数组元素的类型为整型,可用的下标范围是0 99 说明:(1)数组名的命名原则遵循标识符的命名规则,本例中数组名称为a(2)整型常量表达式表示数组元素的个数(数组的长度),可以是整型常量或符号常量,不允许是变量。整型常量表达式在说明数组元素个数的同时也确定了数组元素下标的范围,下标从0开始,至整型常量表达式减1。下一页返回任务1一维
2、数组(3)类型说明是指数据元素的类型,可以是基本数据类型,也可以是构造数据类型。类型说明确定了每个数据占用的内存字节数,如整型占2个字节,实型占4个字节,双精度占8个字节,字符占1个字节。(1)在同一个类型说明语句中可以同时定义几个数组,如(2)每个数组元素占用一个存储单元,数组的输入和输出、计算是对单个元素进行的。(3)数组元素的下标可以是表达式。(4)C语言编译程序为数组分配了一片连续的存储空间。(5)C语言规定,数组名是数组的首地址,即上一页返回下一页任务1一维数组4.1.2 引用一维数组元素数组必须先定义,然后使用。C语言规定,只能逐个引用数组元素,而不能一次引用整个数组。数组元素的表
3、示形式为:【例4-1】数组元素引用示例。上一页返回下一页任务1一维数组4.1.3 初始化一维数组可以用赋值语句或输入语句使数组中的元素得到值,但占运行时间。可以使数组在运行之前初始化,即在编译阶段使之得到初值。对数组元素的初始化,可以用以下方法实现。(1)在定义数组时对数组元素赋以初值。例如:(2)可以只给一部分元素赋值。例如:上一页返回下一页任务1一维数组(3)如果想使一个数组中全部元素的值为0,可以写成:(4)在对全部数组元素赋初值时,可以不指定数组长度。例如上一页返回下一页任务1一维数组 4.1.4 应用一维数组解决实际问题【例4-2】输入10个整数,存入数组,找出其中的最大值。上一页返
4、回下一页任务1一维数组【例4-3】输入10个整数,存入数组,将其按照从小到大的 顺序排列。上一页返回任务2二维数组4.2.1 二维数组的定义只有一个下标的数组称为一维数组,其数组元素称为单下标变量。有多个下标的数组称为多维数组,其数组元素称为多下标变量。在多维数组中最常用的是二维数组。定义二维数组的一般形式为:上一页返回下一页任务2二维数组4.2.2 引用二维数组元素二维数组中的元素也称为双下标变量,其表示形式为:数组说明的方括号中给出的是某一维的长度,即可取下标的最大值;而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量,后者可以是常量、变量或表达式。上一页返回下一页任务2二维数组
5、例4-4计算矩阵的两条对角线上元素的和。上一页返回下一页任务2二维数组4.2.3 初始化二维数组二维数组初始化也是在类型声明时给各个数组元素赋初值。二维数组可按行分段赋值,1也可按行连续赋值,这两种赋初值的结果相同。1. 按行分段赋值这时,把一行的内容括起来。例如:初始化后的数组元素为:上一页返回下一页任务2二维数组2. 按行连续赋值这时,给数组元素连续赋值,也就是把所有数据写在一起。例如初始化后的数组元素为:上一页返回下一页任务2二维数组4.2.4 应用二维数组解决实际问题【例4-5】找出3 x4矩阵所有元素中的最大值,并记录其行号和列号。解题思路:定义二维数组a34,最大值用变量max表示
6、,变量row表示最大值所在的行号,变量colum表示最大值所在的列号。先将矩阵中的第一个数看做是最大值,即起始状态为max=a00,则:row = 0 , colum=0。将后面的元素按行优先顺序依次和max进行比较,若当前值比最大值大,则将当前值代替原来的max值,同时记录当前值所在的行号和列号。上一页返回下一页任务2二维数组上一页返回下一页任务2二维数组上一页返回下一页任务2二维数组【例4-6】一个学习小组有5个人,每个人有3门课的考试成绩。求全组分科的平均成绩和各科总平均成绩。上一页返回下一页任务2二维数组可设一个二维数组a5 3,存放5个人3门课的成绩;再设一个一维数组v3,存放所求得
7、各分科的平均成绩,设变量1为全组各科总平均成绩。编程如下:上一页返回下一页任务2二维数组上一页返回任务3字符数组及字符串处理函数4.3.1 字符数组的定义、初始化及引用1. 字符数组的定义用来存放字符型数据的数组就是字符数组,一个元素存放一 个字符。字符数组的定义格式为:2. 字符数组的初始化字符数组的初始化有以下几种方法。将每个元素的字符逐一写出。例如:上一页返回下一页任务3字符数组及字符串处理函数只给部分元素赋初值,例如:用字符串常量为字符数组赋初值。例如:此时是将字符串常量中的每个字符顺序赋值给字符数组的元素。但要注意,字符串的末尾有一个结束标志,所以以字符串常量为字符数组赋初值时,数组
8、的长度至少要比字符串常量所含的字符数多1。上一页返回下一页任务3字符数组及字符串处理函数3. 字符数组的引用字符数组可以像前面介绍的数值型数组一样取用其数组元素,但由于字符数组通常用以处理字符串,所以对字符数组的处理一般是在输入输出时使用格式控制符”%s”,将字符数组名(数组存储首地址)置于相应的输入输出项位置。例如上一页返回下一页任务3字符数组及字符串处理函数字符串的输入与输出上一页返回下一页任务3字符数组及字符串处理函数4.3.2 字符串处理函数C语言提供了丰富的字符串处理函数,这些函数大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。使用这些函数可大大减轻编程的负担。
9、用于输入输出的字符串函数,在使用前应包含头文件“stdio. h ”;使用其他字符串函数前则应包含头文件”stringy. h。上一页返回下一页任务3字符数组及字符串处理函数1. 用scanf()函数输入字符串使用for循环来实现将输入的字符串存放到字符数组中,非常繁琐。其实,只需要使用一条scanf语句或者一条gets语句均可实现上述功能,用scanf语句实现的程序如下:使用格式上一页返回下一页任务3字符数组及字符串处理函数2. 用gets()函数输入字符串的格式使用格式:上一页返回下一页任务3字符数组及字符串处理函数3. 使用printf()函数输出字符串将一个字符数组中已存有的字符依次输
10、出,如果使用printf语句和puts语句实现,就比用for语句逐个字符输出相对简便。先看用printf语句实现该功能的完整程序。printf语句的使用格式为:上一页返回下一页任务3字符数组及字符串处理函数 4. 使用puts()函数输出字符串 使用格式上一页返回下一页任务3字符数组及字符串处理函数5. 字符串长度函数strlen ( )在字符数组的操作中,经常需要测试一个字符数组(串)的长度,实际上就是查看该字符数组中已占用的空间大小和计算该字符数组中剩余空间大小。求字符串的长度使用strlen()函数, strlen()函数的使用格式比较简单,其用法如下。上一页返回下一页任务3字符数组及字
11、符串处理函数6. 字符串的复制函数strcpy ()把一个字符数组中的字符复制到另1个字符数组中,可以使用字符串赋值函数strcpy ()来实现。相应的程序如下:上一页返回下一页任务3字符数组及字符串处理函数7. 字符串的比较函数strcmp ( )在数组的操作中,有时需要比较两个字符串的大小,这时就要用到strctmp()函数,strctmp语句的使用格式为:该语句的执行规则如下。两个数组按ASCII码的大小从左到右逐个字符进行比较,直到出现不同的字符为止。如果全部字符都相同,就认为两个字符数组相同;如出现不相同的字符,结果以第1个不同字符的比较结果为准。比较结果有以下3种情况:如果数组1(字符串1)=数组2(字符串2),函数返回0值。如果数组1(字符串1)数组2(字符串2),函数返回1个正数。如果数组1(字符串1)数组2(字符串2),函数返回1个负数。上一页返回下一页任务3字符数组及字符串处理函数4.3.3 字符函数的综合应用前面已介绍了有关字符串操作的几个常用函数及其用法,下面通过一个实例来说明这些函数的综合应用方法。【例4-8】定义两个字符数组,在其中存入随机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教A版安徽省合肥市普通高中联盟2023-2024学年高二上学期1月期末联考数学试题
- 武术说课稿课件
- 基层 工会 课件
- 介绍鲁滨逊课件
- 高考地理一轮复习第六章自然环境的整体性和差异性第一节植被与土壤课件
- 西京学院《微机原理与接口技术》2021-2022学年期末试卷
- 学管师工作核心说课
- 西京学院《教师语言艺术》2022-2023学年第一学期期末试卷
- 西京学院《电机控制技术》2021-2022学年期末试卷
- 学会读书 课件
- 24春国家开放大学《机电一体化系统综合实训》大作业参考答案
- 审计专业职业生涯规划总结报告
- 入职心理测试题目及答案300道
- 货车车辆定点维修合同协议书
- 英文版中国故事绘本愚公移山
- 恶性心律失常及常见心律失常识别与急诊处理课件
- 黄杨宁片对心脑血管疾病的保护机制
- 2024 年春国家开放大学《思想道德与法治》 形考作业参考答案
- 高标准农田项目施工部冬季施工已有设施和管线的加固保护等特殊情况下的施工措施
- 填埋场工艺流程设计
- 体量与力量雕塑的美感课件高中美术人美版美术鉴赏
评论
0/150
提交评论