本文章来简单的介绍入门级的c语言入门教程,下面我来介绍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

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

for(i=0;i

for(j=0;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

printf("]",a[i]);

}

c语言用一维数组存储数据,C语言一维数组入门教程相关推荐

  1. java二维数组存储数据,从键盘上录入学生人数,考试科目数,以及每个学生每科分数,输出每个学生的最高分、最低分、总分、平均分

    java二维数组存储数据,从键盘上录入学生人数,考试科目数,以及每个学生每科分数,输出每个学生的最高分.最低分.总分.平均分 import java.util.Scanner;/* * 二维数组存储数 ...

  2. ECharts实现数据可视化超详细基础入门教程

    ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...

  3. c语言采用文件存储数据,C语言读写文件大全 之 基础篇

    一直想着把C语言和C++关于文件操作的相关内容总结一下,这样在使用的时候就可以顺手拈来,嗯,这就是好记性不如烂笔头.既然是文件操作,那么开篇就从"文件"的介绍开始. 1.文件 文件 ...

  4. 常量数组 python_python数据科学系列:numpy入门详解教程

    python数据科学基础库主要是三剑客:numpy,pandas以及matplotlib,每个库都集成了大量的方法接口,配合使用功能强大.平时虽然一直在用,也看过很多教程,但纸上得来终觉浅,还是需要自 ...

  5. python数组重复数据去重_JS实现数组去重(重复的元素只保留一个)

    1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[,,,,,, ...

  6. php数组保存txt,php将数组存储为文本文件方法汇总,_PHP教程

    php将数组存储为文本文件方法汇总, php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件.那么如何使用 php 将数 ...

  7. MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接

    MySQL连接退出命令 mysql –uroot -proot mysql –h127.0.0.1 –uroot -proot mysql --host=localhost --user=root - ...

  8. 取得数组下标_《零基础C++入门教程》——(8)搞定二维数组与循环嵌套

    一.学习目标 了解二维数组的使用方法 了解循环嵌套的使用方法 目录 预备第一篇,使用软件介绍在这一篇,C++与C使用的软件是一样的,查看这篇即可:<零基础看得懂的C语言入门教程>--(二) ...

  9. numpy 数组抽取_清晰易懂的Numpy入门教程

    原标题:清晰易懂的Numpy入门教程 翻译 | 石头 来源 | Machine Learning Plus Numpy是python语言中最基础和最强大的科学计算和数据处理的工具包,如数据分析工具pa ...

最新文章

  1. FFmpeg中libswresample库简介及测试代码
  2. 2017 多校3 hdu 6061 RXD and functions
  3. 强烈推荐8款高质量的网站,可以解决很多问题
  4. c均值算法的设计与实现_如何使用C链表实现 LRU 算法
  5. 【NOI2020】命运【树形dp】【线段树合并】
  6. matlab 读取文件夹底下所有txt文件
  7. java文件服务器_JavaWeb项目架构之NFS文件服务器
  8. 从零开始学编程——编程语言
  9. 黑马Java基础笔记大纲
  10. node 简繁体转换_简繁体转换
  11. 前端学习-----HTML
  12. Linux开发心得总结5 - Linux下OOM Killer机制详解
  13. python writeline_Python文件写入函数 write()和writelines()
  14. 机器学习笔记之狄利克雷过程(五)——基于狄利克雷过程的预测任务
  15. 鸭梨笔记本上市!!!超越苹果和微软!!
  16. 「快学springboot」SpringBoot多环境配置文件
  17. 远程工具之一---rsync用法介绍
  18. ILRuntime篇:前言
  19. PFM格式图像和读取middlebury 数据集
  20. 嵌入式Linux_USB_U盘自动检测识别

热门文章

  1. 透过大数据了解化妆品-BB霜行业概况
  2. Ubuntu 18.04.4 禁用 nouveau
  3. Redistribute
  4. 你的手机安全吗?谷歌披露安卓严重安全问题,恶意软件能够获取系统级权限
  5. 65条陈安之经典励志语录名言
  6. 什么样的人要学点python编程?对号入座,附赠教程
  7. 司法考试计算机操作不熟练,2019法考主观题考试,机考和笔试应该选哪个?要这样对号入座...
  8. mysql里面的问号怎么打出来的_mysql里面的问号怎么打出来的_mysql中的中文显示为问号怎么办...
  9. 阿里云移动研发平台体验报告
  10. markdown语法大全_Markdown超详细介绍