数组

本文深入探讨了数组在编程中的重要性,解释了为何需要使用数组处理复杂数据,包括数组的基本概念、一维数组的引用、数组作为函数参数的用法、以及字符串的输入输出技巧。通过具体实例,如选择排序算法和函数参数传递方式,展示了数组在实际编程中的应用。

数组

为什么需要用数组
对于有些数据,只用简单的数据类型是不够的,难以反映出 数据的特点,也难以有效地进行处理。  例如:  记录一个教学班50名学生期末考试的成绩,如果每个学生有一个成 绩,需要求这50名学生的平均成绩并统计成绩高于平均成绩的学生 人数。 
如果用简单变量来存储,则需要s1,s2,s3,……,s50共50个变量分别 存储每个学生各自一门课程的成绩。如果需要存储成绩的课程不止 一门,则**需要定义的单个变量名将更多。**这在实际编程过程中将会 很不方便。

基本概念

基本概念: 
数组:具有一定顺序关系的若干相同类型数据的集合, 为构造数据类型之一。 
数组名:为该数据集合起的一个名字 。
数组元素:组成数组的数据。属同一数据类型,用数组 名和下标确定。
在这里插入图片描述

一维数组的引用

数组必须先定义,后使用 只能逐个引用数组元素,不能一次引用整个数组 数组元素表示形式: 数组名[下标] 其中:下标可以是常量或整型表达式

说明:

(1)数组不初始化,其元素值为随机数 
(2)可以只给部分数组元素赋初值,其余的自动赋以0 值 
(3)当全部数组元素赋初值时,可不指定数组长度

用简单选择法对10个数排序
排序过程:
(1)首先通过n-1次比较,从n个数中找出最小的,将它与第 一个数交换—第一趟选择排序,结果最小的数被安置 在第一个元素位置上
(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小 的记录,将它与第二个数交换—第二趟选择排序
(3)重复上述过程,共经过n-1趟排序后,排序结束
源代码:
在这里插入图片描述

数组作为函数的参数

数组元素作函数实参——值传递
数组名作函数参数 地址传递 在主调函数与被调函数分别定义数组,且类型应一致 形参数组大小(多维数组第一维)可不指定 形参数组名是地址变量

用数组名作函数参数的说明:

(1) 如果函数实参是数组名,形参也应为数组名,形参不能声 明为普通变量。实参数组与形参数组类型应一致,如不一致, 结果将出错。
(2) 数组名代表数组首元素的地址,并不代表数组中的全部 元素。
(3)用数组名作函数实参时,不是把实参数组的值传递给形参, 而只是将实参数组首元素的地址传递给形参。在调用函数时, 将实参数组首元素的地址传递给形参数组名。这样,实参数 组和形参数组就共占同一段内存单元。改变形参数组元素的 值将同时改变实参数组元素的值。
(4)用变量作函数参数时,只能将实参变量的值传给形参变量, 在调用函数过程中如果改变了形参的值,对实参没有影响, 即实参的值不因形参的值改变而改变。

字符串的输入输出

注意:
注意:  输出的字符不包括结束符’\0’  输出字符串时,cout流中用字符数组名,而不是数组元素 名。  如果数组长度大于字符串实际长度,也只输出到遇’\0’结 束。  如果一个字符数组中包含一个以上’\0’,则遇第一个’\0’ 时输出就结束。  用cin从键盘向计算机输入一个字符串时,从键盘输入的字 符串应短于已定义的字符数组的长度,否则会出现问题。  输入多个字符串时,以空格分隔;输入单个字符串时其中 不能有空格。  cin流中的getline函数,用于读入一行字符(或一行字符中前 若干个字符)
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值