C语言一维数组入门教程

一、一维数组

1、定义一个一维数组:
(1)格式:存储类别   类型标识符  数组名标识符[常量表达式]
(2)例子:static int a[10]
(3)注意:定义数组时数组的元素必须是常量,不能是变量,例如int n=3;int a[n] 这是不对的。

2、对数组的引用:

(1)引用形式:数组名[下标] 例如 a[2]
 ( 2) 注意数组的下标是由0开始,如a[3] 表示有三个元素 分别是a[0],a[1] ,a[2] .如果你用a[3]访问第三个元素是错误的。
(3)对数组的遍历:如果要一次访问数组的全部元素,则只能使用遍历的形式,如下

 代码如下 复制代码

for(int i=0;i<5;i++){
printf(“d%n”,a[i]);
}

(4)怎么输入数组?
 注意不能整体一下子输入数组,如果你想scanf(“%d,”,a);其中a是数组,这样只能够输入a[0],因为数组名代表的就是数组的首地址,它与scanf(“%d,”,&a[0]);等价。如果想全部输入,则需要使用循环的方式:
例如:

 代码如下 复制代码
for(int i=0;i<5;i++){
scanf(“d%n”,&a[i]);
}

3、数组的存储结构:
(1)有一个整型数组a,里面有4个元素,知道了第一个元素的内存地址是1000,怎么求出第三个元素的内存地址 ?
  解:c语言为数组开辟了连续的存储单元,每个元素都会占据一样的字节数,由于整型一般是占据2个字节,所以每个元素都会占据2个字节的内存空间,数组的其实地址是1000,所以第二个元素的地址是1002,第三个是1004,第四个是1006.
根据这个原理,可以得出一个公式:
数组的元素地址 = 数组的起始地址 + 元素下标 x  sizeof(数组类型)
 

数组的初始化:

解:初始化的方式有:int a[5] = {0,1} 或者 nt a[5] = {0,1,5,4,3}

注意:如果元素的长度不够,系统会自动为后面的元素补0,就像第一个a[5] = {0,1},就相当于a[5] = {0,1,0,0,0}。千万不要多了,这样会导致溢出,例如a[5] = {0,1,5,4,3,0,5}就是错误的行为。

例如:

 代码如下 复制代码

int a[10];           说明整型数组a,有10个元素。

float b[10],c[20];   说明实型数组b,有10个元素,实型数组c,有20个元素。

char ch[20];         说明字符数组ch,有20个元素。

利用数据进行排序(起泡排序)

从第一个数开始依次对相邻两数进行比较,如次序对则不做任何操作;如次序不对则使这两个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后,第二遍只需考虑(N-1)个数,以此类推直到第(N-1)遍比较后就可以完成排序。

源程序如下:

 代码如下 复制代码

#define N 10

#include"stdio.h"

main()

{

int a[N],i,j,temp;

printf("please input %d numbersn",N);

for(i=0;i<N;i++)

scanf("%d",&a[i]);

for(i=0;i<N-1;i++)

for(j=0;j<N-1-i;j++)

{

if(a[j]>a[j+1])

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

printf("the array after sort:n");

for(i=0;i<N;i++)

printf("%5d",a[i]);

}

时间: 2024-10-24 19:12:03

C语言一维数组入门教程的相关文章

C语言一维数组初步学习笔记_C 语言

数组 可以存储一组或者多组数值的变量,里面包含多个元素,数组的每个成员都是一个数组元素. 一维数组 定义:类型 数组名[常量表达式] = {值1, 值2, 值3-}; int a[3] = {0, 1, 2}; float f[2] = {1.2, 2.3, 3.14}; char str[] = {'h', 'e', 'l', 'l', 'o'}; chat str1 = "iPhone";//这也是定义字符数组的方法,字符数组后面会详细讲解,这里先了解一下 当数组元素个数为变量时,

PHP 数组入门教程小结_php基础

这么多的数组函数我们该怎么学习?其实我们只需要清楚,我们需要对数组做哪些操作,然后把这些操作归类,心中就有了大概的印象,然后随着你的实践,这些函数你就很清楚了,在这里提醒大家的是手册要常备!废话不多说,数组函数一般归为以下几类(看到英文别怕哦):Outputting arraysCreating arraysTesting for an arrayLocating array elementsTraversing arraysDetermining array size and element

js数组入门教程-js 定义数组

文章主要讲的是关于如何定义数组,以及对数据长度进行动态修改. js数组赋值 var myarray = []; myarray[myarray.length] = 'new element'; 修改js数组长度   var myarray = [1,2,3]; myarray.length // 3 myarray.length = 2; //delete the last element myarray.length = 20 // add 18 elements to the array;

php数组入门教程与数据相关操作函数

array()可以声明一个空数组: array[] = $value 在数组存在时,追加一个数据:在数组不存时,生成一个数组,并追加数据. array[$index] = $value 在数组存在时,追加或修改一个数据:在数组不存时,生成一个数组,并追加数据 range($n, $m); 指定值的范围.如range(2,4)生成数组 array(2,3,4). count($array); 取得数组的大小. array_pad($array, $length, $value); 返回一个长度$l

jsp数组入门教程

1.针对对象的操作码 实例化一个新对象需要通过new操作码来实现. 对象的创建 操作码  操作数  说明   new  index  在堆中创建一个新的对象,将其引用压入栈   new操作码后面紧跟一个无符号16位数,表示常量池中的一个索引.在特定偏移量位置处的常量池入口给出了新对象所属类的信息.如果还没有这些信息,那么虚拟机会解析这个常量池入口.它会为这个堆中的对象建立一个新的实例,用默认初始化对象实例变量,然后把新对象的引用压入栈. 存取实例变量 操作码  操作数  说明   putfiel

Java语言入门教程(十一):Java语言中的数组

在教程(十)中,我们学习了Java类之间常见的两种关系,即关联和依赖. 如果A关联或依赖B,如果仅从A到B这个方向看,从数量上,可能有1对1和1对多 两种可能.面向对象的应用,都是映射现实世界的对象以及对象之间的关系的, 仔细考察一下我们身边的情况,对象与对象之间如果存在关联或依赖,其实1对 多的关系更为常见.如,一个部门有多个员工,一个学员有多个院系,一个人有 多张毕业证书- 上篇文章中的例子,学生只能选择一门免费课程学习,如果培训中心加大优 惠力度,每个学生最多可以选择3门课程学习,应该如何

php入门教程数组入门

一.如何定义数组:在PHP中创建数组主要有两种方式,下面就让我们来看看如何创建一个数组 (1)直接给每个元素赋值的方法创建数组. 格式为:$arrayname[key]=value; 其中arrayname为数组的名字,key为数组的元素的键,value为元素的值.键可以是0,1,2,3这一类数字,也可以是字符串.如下所示: 1 <?php教程 2  //用1,2,3的数值作为数组的键 3  echo '<p>数组$array1的键值为:</p>'; 4  $array1[1

C语言数组入门之数组的声明与二维数组的模拟_C 语言

语言中指针与数组这两个概念之间的联系是密不可分的,以至于如果不能理解一个概念,就无法彻底理解另一个概念. C语言中的数组值得注意的地方有以下两点: C语言中只有一维数组,而且数组的大小必须在编译期就作为一个常数确定下来.然而,C语言中数组的元素可以是任何类型的对象,当然也可以是另外一个数组.这样,要"仿真"出一个多维数组就不是一件难事. 对于一个数组,我们只能够做两件事:确定该数组的大小,以及获得指向该数组下标为0的元素的指针.其他有关数组的操作,哪怕它们看上去是以数组下标进行运算的,

ASP入门教程-ASP和脚本语言

什么是 ASP ASP 称活动服务器页面(英文全称Active Server Pages)就是一个编程环境,在其中,可以混合使用HTML.脚本语言以及组件来创建服务器端功能强大的Internet应用程序. 如果您以前创建过一个站点,其中混合了HTML.脚本语言以及组件,您就可以在其中加入ASP程序代码.并且,还可以通过使用组件包含一些商业逻辑规则.组件可以被脚本程序调用,也可以由其他的组件调用. ASP的工作原理: 当在Web站点中融入ASP功能后,将发生以下事情: 1.用户调出站点内容,默认页