第八章 数组--学习总结

第八章、数组–学习总结
一、
具有相同性质的数据组合成一个新类型的变量,可以用简单的程序(比如循环50次)这个新变量的各个分量进行相同的处理,每个变量仍然保持这个变量的所有性质。
8.1一维数组
⑴数组的定义:
是一组具有相同类型的变量的集合。
使用一个统一的名字来标识这组相对类型的数据,这个名字称为数组名,构成数组的每个数据项称为数组元素,c程序通过数据的下标实现对数组元素的访问。
⑵数组定义的格式:类型标识符 数组名[常量表达式];
说明。:
①数组名的命名规则与变量名的命名规则一致。
②常量表达式表示数组元素的个数。可以是常量和符号常量,但不能是变量。
③c语言中数组的下标都是从零开始的。
④ 在定义数组时,不能使用变量定义数组的大小。
⑶①下标可以是任意值为整型的表达式,该表达式例包含变量和函数调用,引用时下标志应在数组定义的下标值范围内。
②数组的精妙在于下标可以是变量。
③c++语言只能逐个引用数组元素,而不能一次引用整个数组。
④一维数组的初始化
数组的初始化可以在定义时一并完成,格式为:
类型标识符 数组名[常量表达式]={值1,值2,…};
说明:
①在初值列表中可以写出数组元素的值,也可以写出部分。而若是以下方式:int a[10]={1,2,3,4,5};则尽对数组的前五个元素进行初始化,而其余值为零。
②对数组元素全部初始化为0,可以简写为:{}。
③语句。int a[100]声明了一个包含100个整型变量的数值,它是从a[0]开始的,最后一个是a[99]。
⑸要访问的数组元素并不在数组的存储空间,这种现象叫数组越界。
⑹一维数组的应用
说明:
①数组a被声明在main函数的外面时,数组a可以开的很大;放在。放在main函数内时数组稍大就会导致异常退出。
②数组不能够进行赋值操作,如果从数组a复制k个元素到数组b中,可以用memcpy(b,a,sizeof(int)k)。如果a和b都是浮点型的,复制时要写成memcpy(b,a,sizeof(double)k)。如果把数组a全部复制到数组b中,可以使用memcpy(b,a,sizeof(a))。使用memcpy函数要包含在头文件cstring。
③setw函数控制输出场宽,调用setw函数要调用iomanip。
④memset(a,0,sizeof(a))的作用是把数组a清零,它在cstring中定义一维数组可以解决类似于数组倒序输出、约瑟夫问题等的问题。
8.2二维数组
⑴二维数组定义的一般格式:
数据类型 数组名[常量表达式1][常量表达式2];
二维数组用两个下标确定各元素在数组中的顺序,可用排成i列j行元素表示。第一维的长度代表数组每一列的元素个数,第二维的长度代表数组每一行的元素个数。
⑵一维数组在内存中占用的字节数为:数组长度
sizeof(基类型),二维数组在内存中占用的字节维:第一维长度
第二维长度*sizeof(基类型)(注意:在不同编译系统中,int型所占的字节数是不同的)
(多维数组引用赋值等操作与二维数组类似)
⑶二维数组的初始化
二维数组的初始化和一维数组类似。可以将每一行分开来写在各自的括号里,也可以把所有数据写在一个括号里。
⑷二维数组的应用
二维数组可以解决矩阵交换行、计算鞍点等类似的问题。
8.3字符类型和字符数组
数组元素的类型可以是任何类型,当它是字符型时,称为字符数组。
⑴字符类型
字符类型为由一个字符组成的字符常量或字符变量。字符常量定义:字符常量=‘字符’ 字符变量定义:char 字符变量;
字符类型是一个有序类型,字符的大小顺序按其ASCII代码的大小而定。
⑵字符数组
字符数组是指元素为字符的数组。字符数组是用来存放字符序列或字符串的。字符数组也有一维、二维、三维之分。
⑴字符串的定义格式:[存储类型] char 数组名[常量表达式1]…
⑵应用
可以解决如统计数字字符个数、石头剪刀布等的问题。
二、感悟
学习数组这一章的第一节的知识点的很容易,但当看练习题时我觉得并没有什么那么简单,在做题之前我把知识点看了几遍才算是把数组基本理解掌握了,当真正静下心来、喜欢学习的时候才会觉得学习是件简单的事,否则学习真的很难。
当我心情烦躁时学习 c语言,真的觉得这门课太难了,而当我静下心来看课本、从网上搜索资料整理的时候,觉得c语言挺简单。学习怕认真二字,当一个人认真的学习一门课时,所有问题都是会得到解决的。

猜你喜欢

转载自blog.csdn.net/qq_43627355/article/details/85227355