| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C语言初步学习之数组 -> 正文阅读 |
|
[C++知识库]C语言初步学习之数组 |
目录 一:数组的基础知识? ? ? ? #什么是数组? ? ? ? ? ##数组的概念与定义二:数组的应用? ? ? ? #数组的初始化(赋值)? ? ? ? ##数组的相关应用? ? ? ? 2.判断数组中是否有某数,并找出其在数组中位置 三:对数组的补充(拓展)? ? ? ? #二维数组? ? ? ? #函数对字符数组的处理一:1 什么是数组。? ? ? ? 在C语言中,我们通常会输出某个或者某些东西,可以是数字,可以是字符,也可以是汉字。若是输出一两个较少量的话用printf()函数可以很好的解决,但若是输出十个甚至二十上百个数字,很明显printf()函数在这里显得不够看了。什么?有人说只相信眼见为实!!!那好,我们就用printf()函数输出一个3x3的整数矩形吧。
? ? ? 若使用printf()的话就单单一个3x3的整数矩阵就显得略为复杂。但是对于数组a[ ]来说,一句话来形容“just a piece of cake”甚至我们还能上点难度来个4x4的矩阵。请看下图。
结果如下
如上面代码块显示的,C语言中数组一般就用a(还可以是别的)加上一个[ ]组成。 2 数组的概念与定义C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。在我们定义一系列相同类型的变量时往往可以使用数组,但需要注意的是,数组中所有变量类型相同,而不同类型的变量是不可以存放于同一个数组当中。但是可以定义不同类型的数组来存放不同类型的变量。
我们像这样处理就可以定义不同的数组来储存不同类型的变量。 在我们定义概念时除了对数组类型进行定义以外,还可以对数组中变量的长度限定。
上面的“3”称为数组的下标,数组中的元素个数不能超过下标值 二.1.数组的赋值除了以上较为普遍的数组赋值以外,在给数组赋值时我们同样需要注意一下两点 1.在给数组赋值时,只给数组中前几个元素赋值的情况
在上面对数组进行赋值时,我们只给数组中前4个元素进行赋值,而后三个未进行赋值,所以在输出时,编译器将后面未进行赋值的三个元素全部赋值为0. 2.在给数组定义时,只给第n个元素赋值的情况
其实和第一种情况差不多,对未赋值的元素,在输出时全部赋值为0. 但我们需要注意的是,在上述数组中,元素是以a[0]开始的,到a[9]结束,正好十个元素,0到9就为该数组的下标,a[0]到a[9]就为该数组的各个元素 2.数组的的相关应用2.1数组例子:统计个数在定义数组并给数组赋值时,难免会遇到数组元素数量巨大的情况,若这时我们要想知道数组中所有元素的个数总不可能一个一个去数吧。在处理这样的问题时,我们可以使用sizeof()来解决,但据我们所知,sizeof()只能求出所有元素所占内存的大小,跟求出元素个数不沾边啊!!!这里我们便要引出数组元素储存的原理了,数组在存储元素时,必定会分配出一定的内存来存储这些数据,但是,各个元素存储所占内存的大小是相等的,我们只需再求出sizeof(a[0])的大小。利用sizeof(a)/sizeof(a[0]),其结果便是该数组中所含元素的个数。
可知数组中所有元素共占60个字节大小,而其中每个元素被平均分配了4个字节大小的内存,这样一计算便很快速地得出该数组的元素个数。(主要想要引出的内容) 2.2.判断数组中是否有某数,并找出其在数组中位置这里我们就举个例子来给大家展示吧。
三:数组的补充(拓展)1.二维数组二维数组在形式上与一维数组大同小异,二维数组的组成为a[][](数组名+两个方括号) 例如a[3][3],我们可以通俗地理解为一个三列三行的矩阵。注意,a[3,3]这样的方式表达二维数组是错误的。 在我们对二维数组进行初始化时有一些点需要我们注意
二维数组的初始化时,列数是必须给出的,行数则不用,可以由编译器自己判断,每一行的数据都用{}包起来。若没有赋值的元素则统一赋值为0. 2.函数对字符数组的处理C语言提供了丰富的字符串处理函数,可以对字符串进行输入、输出、合并、修改、比较、转换、复制、搜索等操作,使用这些现成的函数可以大大减轻我们的编程负担。
在引入该头文件后可以使用一些函数来处理字符数组。例如字符串连接函数 strcat(),字符串复制函数 strcpy(),字符串比较函数 strcmp(), strcat 是 string catenate 的缩写,意思是把两个字符串拼接在一起,语法格式为:
strcat() 将把 arrayName2 连接到 arrayName1 后面,并删除原来 arrayName1 最后的结束标志
strcpy 是 string copy 的缩写,意思是字符串复制,也即将字符串从一个地方复制到另外一个地方,语法格式为:
?
注意,将str2复制到str1中,需要保证str1有足够的空间存储str2 strcmp 是 string compare 的缩写,意思是字符串比较,语法格式为:
字符本身没有大小之分,strcmp() 以各个字符对应的 ASCII 码值进行比较。strcmp() 从两个字符串的第 0 个字符开始比较,如果它们相等,就继续比较下一个字符,直到遇见不同的字符,或者到字符串的末尾。 返回值:若 arrayName1 和 arrayName2 相同,则返回0;若 arrayName1 大于 arrayName2,则返回大于 0 的值;若 arrayName1 小于 arrayName2,则返回小于0 的值。这一个大家可以自己下去试一试。在这里我也不做过多的展示了(主要足够ASCII码表转换起来我觉得太麻烦) 感谢大家支持,如有不足也请指出
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:43:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |