C语言之数组

2023-05-16

目录

一、一维数组 

1、一维数组的定义

2、一维数组初始化

3、一维数组的引用

4、一维数组程序举例

二、二维数组

1、二维数组的定义

2、二维数组的初始化

3、二维数组的引用

4、二维数组的举例

三、字符数组

1、字符数组的定义

2、字符数组的初始化

3、字符数组的输入输出


所谓数组就是一组具有相同数据类型的数据的有序集合。这里主要介绍一维数组、二维数组以及字符数组。

一、一维数组 

1、一维数组的定义

一般形式:类型说明符 数组名[常量表达式];   其中,类型说明符指数据的类型,数组名命名规则和变量名相同,遵循标识符命名规则,常量表达式指明数组中元素的个数,必须大于零。 例如:int a[10];float b[10];

2、一维数组初始化

在数组定义时为数组元素赋初值称为数组初始化。初始化方法如下:

  1. 在定义数组时对数组元素赋以初值。例如,int a[10]={2,3,5,6,7,18,20,45,43,90};
  2. 可以只给一部分元素赋值,其他的按零来处理。例如,int a[10]={0,1,2,3,4};表示只给前面五个元素赋值,后五个元素值为零。
  3. 对全部数组元素赋初值时,可以不指定数组长度。例如,int a[ ]={1,2,3,4,5};
  4. 一维数组赋初值的个数不能超过数组总元素的个数。例如,int a[3]={1,2,3,4};是错误的。

3、一维数组的引用

  1. C语言规定,只能引用单个数组元素,不能一次引用整个数组。数组元素的引用形式:数组名[下标] 。下标是指在数组中第几个元素,可以是整型常量、整形变量和整型表达式,下标的值是数组元素序号,从0开始到n-1结束。注意区分数组定义和数组元素引用(数组定义时有类型说明符)。
  2. 可以对数组中任何一个元素进行单独的输入和输出,每个元素等同于一个普通变量。
  3. 数组的引用离不开循环,将数组的下标作为循环变量,通过循环就可以对数组的所有元素逐个进行处理。

4、一维数组程序举例

例如,用数组来处理求Fibonacci数列问题。程序如下:

#include<stdio.h>
void main()
{
	int i;
	int f[20]={1,1};
	
	for(i=2;i<20;i++)
		f[i]=f[i-2]+f[i-1];
		
	for(i=0;i<20;i++)
	{
		if(i%5==0) printf("\n");
		printf("%12d",f[i]);
	}
	
	printf("\n");
}

运行结果如下: 

二、二维数组

1、二维数组的定义

  1. 一般形式:类型说明符 数组名[常量表达式1] [常量表达式2];其中,常量表达式1为行数,常量表达式2为列数,例如:float a[3][4]; int b[5][6];
  2. 理解:二维数组可被看作一种特殊的一维数组,它的元素又是一个一维数组。

2、二维数组的初始化

二维数组初始化的方法:

  1. 分行给二维数组赋初值(最清楚直观)。例如:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
  2. 可以将所有的数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。例如:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
  3. 可以对部分元素赋初值,也可对各行中的某一元素赋初值。例如:int a[3][4]={{1},{5},{9}};

3、二维数组的引用

  1. 二维数组引用形式:数组名 [下标1][下标2];其中,下标1和下标2可以是整型常量、整形变量和整型表达式,其编号从零开始。
  2. 二维数组采用双重循环方式进行输入和输出。

4、二维数组的举例

例:有一个3*4的矩阵,求出其中值最大的那个元素的值,以及其所在的行号和列号。程序如下:

#include<stdio.h>
void main()
{
	int i,j,row=0,column=0,max;
	int a[3][4]={{1,2,3,4},{5,6,7,8},{-1,2,3,-5}};
	max=a[3][4];
	for(i=0;i<=2;i++)
	{
		for(j=0;j<=3;j++)
		{
			if(a[i][j]>max)
			{
				max=a[i][j];
				row=i;
				column=j;
			}
		}
	}
	printf("max=%d,row=%d,column=%d",max,row,column);
}

//运行结果为 max=8,row=1,column=3

三、字符数组

1、字符数组的定义

  1. 用来存放字符数据的数组是字符数组,C语言用字符数组存放字符串,字符数组中的各元素依次存放字符串的各字符。
  2. 一般格式:char 数组名[常量表达式];例如:char a[6];
  3. 字符串实际占有单元的数量等于字符串长度+1,定义时注意考虑元素总个数应比实际长度多1。

2、字符数组的初始化

  1. 用单个字符对字符数组初始化。例如:char c[6]={'C','h','i','n','a','\0'};
  2. 用字符串常量对字符数组初始化。例如:char str[6]={"China"}; char str[6]="China"; char str[]="China";

3、字符数组的输入输出

  1. 单个字符输入输出(用格式符%c或字符输入函数)
  2. 字符串整体或部分输入输出(用格式符%s)。例如:char str[6]; scanf("%s",str);
  3. 注意字符数组输入输出项必须是以字符串的地址形式出现,只能输入不包括空格、\t和\n的字符串,输入时数组名前不加&符号。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言之数组 的相关文章

  • 插上u盘显示格式化怎么办?

    生活中 xff0c 基本上每个小伙伴都会有一个u盘 xff0c 这给予小伙伴们存储信息资料带来了很多方便 而在使用过程中都遇到过这样的问题 当你插上u盘 xff0c 就显示要格式化 xff0c 这时就不要立即格式化 xff0c 不然会丢失掉
  • 内存卡损坏了怎么恢复?

    内存卡损坏了怎么恢复 现在我们身边有不少电子设备都是用存储卡来存储数据的 一旦需要方便我们直接导出使用 但这存储的数据也不是一定安全的 xff0c 当我们将内存卡连接到电脑时 xff0c 难免会碰到病毒 格式化等提示 xff0c 在这些情况
  • 电脑视频删除怎么恢复

    电脑视频删除怎么恢复 生活中 xff0c 有很多人喜欢用录视频的方式 xff0c 来记录自己的生活 通常会将几个不错的视频剪辑在一起 xff0c 去掉多余的部分 xff0c 以呈现更好的效果 xff0c 然后在上传分享 但随着视频文件的增多
  • 苹果手机删除照片怎么恢复

    手机拍照可以边拍边存 随拍随用 xff0c 已然成为我们生活中的小助手 同时也让我们的手机保存有大量的照片 xff0c 不可避免的要清理手机上的照片 但清理过程中可能会因为各种原因导致误删了照片 xff0c 该怎么办呢 苹果手机删除照片怎么
  • 怎样恢复微信删除的聊天记录

    微信是我们生活中比较常用的的社交软件 但使用中 xff0c 有时我们不经意间删除了一些微信聊天记录 xff0c 里面可能有着一些重要的照片或文件 遇到这种情况 xff0c 我们要怎样恢复微信删除的聊天记录呢 有可以帮你快速恢复被删除的微信聊
  • android 获取当前时间精确到毫秒的两种方法

    1 概述 在android app开发中 xff0c 在项目中有些功能需求要求要获取当前时间精确到毫秒 xff0c 已便于完成功能开发的需要 xff0c 而在android 的系统api中提供了SimpleDateFormat和Calend
  • 基于51单片机小板的led灯全亮全灭

    include lt reg51 h gt led灯在小板里用P0口 unsigned char i 61 5000 定义一个短暂的延时 void main xff08 xff09 xff5b P0 61 0x00 while xff08
  • linux防火墙

    目录 一 Linux防火墙 二 iptables的表结构链结构 规则表 xff1a 规则链 xff1a 三 编写防火墙规则 1 安装iptables 2 编写的基本语法 3 常用的控制类型 4 常用的管理选项 四 增 xff0c 查 xff
  • 软件测试十大必问面试题(附答案和解析)

    01 介绍之前负责的项目 参考答案 xff1a 先大概描述一下这个项目是做什么的 xff08 主要功能 xff09 xff0c 包括哪些模块 xff0c 是什么架构的 xff08 B S C S 移动端 xff1f xff09 xff0c
  • 黑客零基础入门教程及方法,从零开始学习黑客技术,看这一篇就够了

    黑客 xff0c 对于很多人来说 xff0c 是一个神秘的代名词 xff0c 加之影视作品夸张的艺术表现 xff0c 使得黑客这个本来只专注于技术的群体 xff0c 散发出亦正亦邪的神秘色彩 黑客源自英文hacker一词 xff0c 最初曾
  • 30岁本科男,在测试行业干了五年还只会功能测试,难道真的要去送外卖吗?

    在网上看到一个帖子 从发帖内容可以看出 xff0c 题主是一位拥有五年功能测试经验的IT从业者 xff0c 他也深知功能测试现在的处境艰难 xff0c 想改变 xff0c 却又因为年龄和经济压力的原因迟迟不敢迈出第一步 xff0c 其实这是
  • 面了一位5年老测试哥们,只会功能测试,敢要17K薪资,自认为挺牛逼的......

    由于朋友临时有事 xff0c 所以今天我代替朋友进行一次面试 xff0c 第一次面试他人 xff08 不是应聘我们公司 xff09 xff0c 我以很认真负责的态度完成这个过程 xff0c 大概近30分钟 主要是技术面试 xff0c 在近3
  • 软件测试行业5年经验,薪资不如刚入行的应届生,真是日了狗了,问题究竟出在哪里?

    最近公司新招了一位刚入行的应届生 xff0c 作为组长我深刻体验到新人入行的痛楚 xff0c 对此我十分照顾他 xff0c 都是手把手教他公司业务流程 直到15号他工资到账15400元短信提示音响起 xff0c 我才想起这是多么幼稚的行为
  • 网络安全学习路线,入门到入坟,史上最全网络安全学习路线整理

    很多小伙伴在网上搜索网络安全时 xff0c 会出来网络安全工程师这样一个职位 xff0c 它的范围很广 xff0c 只要是与网络安全挂钩的技术人员都算网络安全工程师 xff0c 一些小伙伴就有疑问了 xff0c 网络安全现在真的很火吗 xf
  • 网络安全必会的基础知识

    一 前言 提到网络安全 xff0c 一般人们将它看作是信息安全的一个分支 xff0c 信息安全是更加广义的一个概念 防止对知识 事实 数据或能力非授权使用 误用 篡改或拒绝使用所采取的措施 说白了 xff0c 信息安全就是保护敏感重要的信息
  • 如何科学地、系统地学习网络安全?

    如何系统地学习网络安全 xff1f 网络安全是一个综合性和系统性很强的领域 xff0c 需要从多个角度学习才能够比较系统和科学地理解和掌握 以下是一些建议的学习角度 xff1a 计算机网络基础知识 xff1a 网络安全是建立在计算机网络基础
  • Shell 脚本进入编辑模式和保存退出

    1 概述 Shell 既是一个连接用户和 Linux 内核的程序 xff0c 又是一门管理 Linux 系统的脚本语言 xff0c shell 脚本类似 windows 的批处理文件 shell 脚本就是将连续执行的命令写成一个文件 she
  • 什么样的人适合学习网络安全?怎么学?

    前言 有很多想要转行网络安全或者选择网络安全专业的人在进行决定之前一定会有的问题 xff1a 什么样的人适合学习网络安全 xff1f 我适不适合学习网络安全 xff1f 会产生这样的疑惑并不奇怪 xff0c 毕竟网络安全这个专业在2017年
  • kali更新源(源、软件更新,附kali源)

    很多系统安装好以后都需要进行更新源 xff0c 或者软件需要更新 xff0c 小编在这里进行一次更新源和软件的记录 xff0c 还请路过大牛指出不足 1 在 etc apt下有文件sources list文件 xff0c 将下方提供的源粘贴
  • 求一组数的平均值、最大值和最小值。

    include lt stdio h gt int main 从键盘上输入n个int型整数 xff0c 其中1 lt 61 n lt 61 100 xff0c 求得这组数的平均值 最大值和最小值 int i n b 平均值 xff08 浮点

随机推荐

  • 新型笔记本电脑装Linux没声音可能的解决办法(适用Arch和Debian系)

    问题起因 很多人可能会因为Linux没声音而上百度搜索 xff0c 结果没有一个靠谱的方案 xff0c 只能装回Windows吧 其实 xff0c 你只需要安装几个软件包就行 xff08 本人用的是Arch系的ArchLinux xff0c
  • 2022秋季C语言专题实验07

    2022秋季C语言专题实验07 指针应用 查找数组元素请编写函数CHG char S 7 1 秋天的第一杯奶茶7 2 统计单词7 3 找最大字符串7 4 字符串排序7 5 缩写期刊名7 6 魔镜7 7 书号判断与纠错7 8 检查密码7 9
  • 分解质因数(java解决)

    问题描述 求出区间 a b 中所有整数的质因数分解 输入格式 输入两个整数a xff0c b 输出格式 每行输出一个数的分解 xff0c 形如k 61 a1 a2 a3 a1 lt 61 a2 lt 61 a3 xff0c k也是从小到大的
  • FFmpeg工具使用总结

    一 FFmpeg是什么 xff1f 简单说 xff0c FFmpeg就是一个很好的 xff0c 免费的 xff0c 开源的视频转换工具 详细说 xff0c FFmpeg是一个开源免费跨平台的视频和音频流方案 xff0c 属于自由软件 xff
  • kali中的kalitools首页讲解

    提示 xff1a 看完别忘了关注 xff0c 点赞谢谢 文章目录 前言 一 查询器是什么 xff1f 二 使用步骤 1 打开firefox xff0c 启动页就是 xff08 kalitools xff09 查询器 2 工具查询 3 kal
  • 汉诺塔问题

    汉诺塔 题目描述 古代有一个梵塔 xff0c 塔内有3个座A xff0c B xff0c C 开始时A座上有n个盘子 xff0c 盘子大小不等 xff0c 大的在下 xff0c 小的在上 有一个老和尚想把这n个盘子从A座移到C座 xff0c
  • Ubuntu(虚拟机)的Anaconda 及使用

    安装Anaconda 使用firefox打开Ananconda网址Anaconda The World 39 s Most Popular Data Science Platform 下载后有 sh文件 xff1a Anaconda3 20
  • android 10.0 SystemUI屏蔽某个app的通知

    1 概述 在10 0的系统产品开发中 产品有需求 需要状态栏不显示某个app的通知 根据SystemUI源码通知显示流程可以得知NoticationFilter java中可以处理过滤通知 2 SystemUI屏蔽某个app的通知的核心类
  • 如何从windows host快速访问wsl文件夹

    背景 习惯在linux环境做开发活动 但也喜欢windows生态下的很多软件 如 web开发 xff0c 在windows下做视频 图片 文档编写等工作 qt开发 xff0c qt linguist在windows下原生支持简体中文 pyt
  • mysql分组查询

    概念 分组查询主要是用来统计的 xff0c 一般都是按照某一个列进行统计分组 统计类型 xff1a 求平均 xff0c 求最大 xff0c 求最小 xff0c 求和等等 分组查询需要结合分组函数一起完成 xff0c 常用的分组函数 xff1
  • Ubuntu 22.04自动挂起后无法唤醒

    可实现在键盘 鼠标断电后的唤醒 xff0c 前提是合上笔记本 但是为了以防万一 xff0c 建议在设置中将挂起有关选项全部关闭 一 安装 xff08 这个不知道干嘛的 xff09 sudo apt get install pm utils
  • C语言入门——1000以内的完数

    完数定义 如果一个数恰好等于它的真因子之和 xff0c 则称该数为 完全数 2 各个小于它的约数 xff08 真约数 列出某数的约数 xff0c 去掉该数本身 xff0c 剩下的就是它的真约数 xff09 的和等于它本身的自然数叫做完全数
  • 利用数组进行排序(选择排序)

    排序过程 1 首先通过n 1次比较 xff0c 从n个数中找出最小的 xff0c 将它与第一个数交换 第一趟选择排序 xff0c 结果最小 的数被安置在第一个元素位置上 xff08 2 xff09 再通过n 2次比较 xff0c 从剩余的n
  • C语言 : 矩阵转置 (二维数组)

    题目描述 xff1a 输入N N的矩阵 xff0c 输出它的转置矩阵 矩阵的转置操作 xff0c 即把矩阵的行元素变为列元素 列元素变为行元素的过程 输入 xff1a 第一行为整数N xff0c 接着是一个N N的矩阵 输出 xff1a 转
  • C++打卡12-百鸡百钱

    一 实验目标 公鸡1只5钱 xff0c 母鸡1只3钱 xff0c 小鸡3只1钱 xff0c 用百钱买百鸡 xff0c 问有几种购买的方案 xff1f 输入格式 输入n和m 表示用n钱买m只鸡 输出格式 输出购买的方案数 输入 100 100
  • 【C语言】十六进制转换为十进制

    目录 题目描述 补充知识 xff1a 算法分析 优化算法 写在最后 题目描述 输入一个十六进制数字串 xff0c 将其转换成为对应的整数并输出转换结果 xff0c 遇到非十六进制数字或字符串结束符 xff08 39 0 39 xff09 结
  • C语言程序入门之基本数据类型、常量与变量、运算符

    目录 一 基本数据类型 1 整型 2 浮点型 3 字符型 二 常量与变量 1 常量 2 变量 三 运算符 1 算术运算符 2 关系运算符 3 逻辑运算符 4 位运算符 5 自增自减运算符 6 赋值运算符 7 逗号运算符 8 条件运算符 9
  • C语言入门之分支与循环

    目录 一 分支语句 1 if语句 三种形式 if语句的嵌套 2 switch 二 循环语句 1 while语句 2 do while语句 3 for语言 一 分支语句 分支语句又叫选择结构语句 xff0c C语言中 xff0c 选择结构语句
  • Android 10.0 系统设置开启始终在后台运行的权限

    android 6 0系统中保活机制 所以在系统内存不够的时候 后台运行的app有可能会被系统杀掉 所以为了让app不能系统杀掉保持永久运行 就必须要增加权限 把app 添加到保活白名单里面 或者授予后台运行的权限 接下来看Settings
  • C语言之数组

    目录 一 一维数组 1 一维数组的定义 2 一维数组初始化 3 一维数组的引用 4 一维数组程序举例 二 二维数组 1 二维数组的定义 2 二维数组的初始化 3 二维数组的引用 4 二维数组的举例 三 字符数组 1 字符数组的定义 2 字符