什么是一维数组介绍
一维数组,是由数字组成的以单纯的排序结构排列的结构单一的数组,是计算机程序中最基本的数组。二维及多维数组可以看作是一维数组的多次叠加产生的。
在程序中可以使用下标变量,即说明这些变量的整体为数组,数组中的每个变量的数据类型是相同的。
当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。
数组是计算机编程中的重要概念,运用数组可以方便地处理大规模的数据。
一维数组定义
数组的定义格式如下:
类型标识符 数组名
说明:
①数组名的命名规则与变量名的命名规则一致
②常量表达式表示数组元素的个数。可以是常量或符号常量,不能为变量。
例如:
int a; //数组a的定义是合法的 int a; //若n为变量,则数组a的定义是非法的
一维数组性质
一维数组引用
通过给出的数组名称和这个元素在数组中的位置编号(即下标),程序可以引用数组中的任意一个元素。
在C++中,一维数组的引用格式为:数组名
例如: int a;
其中,a是一维数组的数组名,该数组有10个元素,依次表示为a a a a a a a a a a。需要注意的是,a不属于这一个数组的空间范围中。当在说明部分定义了一个数组变量后,编译程序会在内存空间中开辟一串连续的存储单元。对于数组而言,程序的执行部分使用的是数组变量而不是数组类型。需要注意的是:在引用时,下标可以是整型变量或整型表达式。如果使用表达式,会先计算表达式以确定下标。程序只能逐个应用数组中的元素而不能一次引用整个数组。如:
int a,b; a=b; //这是非法的
数组名不能与其他变量名相同,如:
int a;float a; //这是非法的
不能在方括号中用变量来表示元素的个数,如:
int n=5;int a; //这是非法的
但可以是符号常数或常量表达式
int a; //这是合法的
一维数组初始化
数组的初始化可以在定义时一并完成。格式如下:
int a={1,2,3,4,5};
c++语言对数组的初始化赋值还有以下几点规定:
(1)可以只给部分元素赋初值
当{}中值的个数小于元素的个数时,只给前面部分元素赋值,例如:
int a={0,1,2,3,4};
表示只给a~a五个元素赋值,后面的元素自动赋0。
(2)只能给元素逐个赋值,不能给数组整体赋值。
例如给十个元素全部赋1值,只能写成
int a={1,1,1,1,1,1,1,1,1,1};
而不能写成
int a=1;
(3)如给全部元素赋值,则在数组中说明,可以不给出数组元素的个数,例如:
int a={1,2,3,4,5}
可写成
int a={1,2,3,4,5}
一维数组应用
一维数组成员操作函数
以下函数的应用可以简单、快捷地操作数组内的部分或所有变量。使用以下函数时,必须包含头文件或。
memcpy(b,a,sizeof(int)*k):memcpy函数用于将数组a中复制k个元素至数组b中,定义式中的int应根据需要选择合适的数据类型。特别地,当要把全部数据复制到另一数组中时,可以简写为:memcpy(b,a,sizeof(a))。
memset(a,0,sizeof(a)):memset函数的作用是把数组a清零。这个函数的作用可以用for循环实现:
for(int i=1;i<=n;i++)a=0;
表达式中的“0”可以为1,。
一维数组实例
C++语言:输入n个数,要求程序按输入时的逆序把这n个数输出,已知整数为10个。
#include using namespace std;int main(){ int i,a; for(i=0;i=0;i--) { cout<<a; } return 0;}
C语言:输入n个数,要求程序按输入时的逆序把这n个数输出,已知整数不超过一百个。
#include int a;int main(){ int a,n = 0; while(scanf(\"d\",&x)==1) a=x; //相当于a=x;n++; for(int i = n-1;i>=1;--i) printf(\"%d \",a; printf(\"%dn\",a; return 0; }