下载的网站模板怎么去掉域名前的图标,网站程序源代码,当今做网站的流行趋势,兰州网站排名推广前言:在前面学习的程序中使用的变量都属于基本类型#xff0c;例如整型、字符型、浮点型数据#xff0c;这些都是简单的数据类型。对于简单的问题#xff0c;使用这些简单的数据类型就可以了。但是对于有些需要处理的数据#xff0c;只用以上简单的数据类型是不够的#x…前言:在前面学习的程序中使用的变量都属于基本类型例如整型、字符型、浮点型数据这些都是简单的数据类型。对于简单的问题使用这些简单的数据类型就可以了。但是对于有些需要处理的数据只用以上简单的数据类型是不够的难以反映出数据的特点也难以有效的进行处理。 博主CSDN主页:卫卫卫的个人主页 专栏分类:C程序设计谭浩强版本 代码仓库:卫卫周大胖的学习日记 关注博主和博主一起学习!一起努力 目录 怎样定义和引用一维数据怎样定义一维数组怎样引用一维数组 一维数组的初始化一维数组程序举例 怎样定义和引用二维数组怎样定义二维数组二维数组在内存中存放的顺序怎样引用二维数组二维数组的初始化二维数组程序举例 怎样定义和引用一维数据
一维数组是数组中最简单的它的元素只需要用数组名加一个下标就能唯一的地确定。数组是一组有序数据的集合数组中的每一个元素都属于同一个数据类型C语言规定用方括号中的数字表示下标如S[15]表示第15个元素
怎样定义一维数组 要使用数组必须在程序中先定义数组即通知计算机由哪些数据组成数组数组中有多少元素属于哪个数据类型。否则计算机不会自动的把一批数据作为数组处理。例如下面是对数组的定义 int a[10] ; 它表示定义了一个整型数组 数组名是a,此数组包含了 10个元素。 数组的一般形式为 类型说明符 数组名[常量表达式] 说明:
数组名的命名规则和变量名相同遵循标识符命名规则。在定义数组时莫须有指定数组中元素的个数方括号中的常量表达式用来表示元素的个数即数组的长度。常量表达式中可以包括常量和符号常量如 int a[3 5]是合法的的。用 “int a[10]”定义了数组后a后在内存中划出了一片存储空间下图所示存放了一个有10个整型元素的数组可以看到用一个 “int a[10]”就相当于定义了10个简单的整型变量显然简单方便。 怎样引用一维数组 在定义数组并对其各个元素赋值后就可以引用数组中的元素。应注意只能引用数组元素而不能一次整体调用整个数组全部元素的值。 引用数组元素的表示形式为: 数组名[下标] 例题: 对10个数组元素一次赋值为0123 … 8,9要求逆序输出。
int main()
{int i 0;int arr[10] { 0 };for (i 0; i 10; i){arr[i] i;//赋值}for (i 9; i 0; i--){printf(%d , arr[i]);//打印}printf(\n);return 0;
}
运行结果 一维数组的初始化
在定义数组时对全部数组元素赋予初值。例如
int a[10] {0,1,2,3,4,5,6,7,8,9);也可只给数组中的一部分元素赋值。例如
int a[10] {0,1,2,3,4};
//定义a数组有10个元素但花括号内只提供5个元素的初始值
//系统自动给后面5个元素的初始值赋值为0如果想一个数组中全部元素为0可以写成
int a[10] {0};在对全部数组元素赋初始值时由于数据的个数已经确定因此可以不指定数组长度。例如
int a[5] {1,2,3,4,5};
//或者
int a[] {1,2,3,4,5}; 一维数组程序举例
例题1用数组来处理求Fibonacci斐波那契数列问题。这个数列有以下特点第12两个数为11。从第3个数开始该数是其前面两个数之和。即该数列为11235813…求其前20个数。
int main()
{int i 0;int arr[20] {1,1};//前俩项赋值为1for (i 2; i 20; i){arr[i] arr[i - 1] arr[i - 2];}for (i 0; i 20; i){printf(%d , arr[i]);}printf(\n);return 0;
}运行结果 例题2(冒泡排序)有10个地区的面积要求对它们按由小到大的顺序排序。
int main()
{int area[10] { 0 };int i 0;int j 0;int min 0;printf(请分别输入10个田地的面积\n);for (i 0; i 10; i){scanf(%d, area[i]);}for (i 0; i 9; i)//排升序(趟数{for (j 0; j 9 - i; j)//两两交换{if (area[j] area[j 1]){min area[j 1];//将较小的放临时变量中area[j 1] area[j];//将两交换位置area[j] min;//将较小值赋值给较大值}}}for (i 0; i 10; i){printf(%d , area[i]);}printf(\n);return 0;
}
运行结果 怎样定义和引用二维数组 前面已经提到有的问题需要用二维数组来处理。例如3个小分队每队有6名队友需要把这些队友的工资用数组保存起来以备查。这就需要用到二维数组(如下图)。如果建立一个数组Pay它应当是二维的第一维用来表示第几个分队第二维用来表示第几个队员。 二维数组通常称为 矩阵 。把二维数组写成行(row)和列(column)的排列形式可以有助于形象化的理解二维数组的逻辑结构。 怎样定义二维数组
怎样定义二维数组呢 其基本概念与方法和一维数组相似。如 float pay[3][6] 以上定义了一个float类型的二维数组第1维有3个元素第2维有6个元素。每一维的长度分别用一对方括号扩起来。 二维数组的一般定义形式如下: 类型说明符 数组名[常量表达式][常量表达式]
例如: float a[3][4],b[5][10]; C语言对二维数组采用这样的定义方式使得二维数组可以被看作一种特殊的一维数组它的元素又是一个一维数组。例如可以把a看作一个一维数组它有3个元素a[0],a[1],a[2],每个元素又是一个包含4元素的一维数组如图所示 我们可以把a[0]a[1], a[2]看成三个一维数组的名字。上面定义的二维数组可以理解为定义了3个一维数组即相当于: float a[0][4],a[1][4],a[2][4] 此处把a[0],a[1],a[2]看作一维数组名。C语言的这种处理方法在数组初始化和用指针表示时显得很方便这在以后的使用中各位会经常体会到。 二维数组在内存中存放的顺序
C语言中二维数组中元素排放的顺序是按行存放的即在内存中先顺序存放第一行的元素接着存放第2行的元素。如下图所示
怎样引用二维数组
二维数组元素的表示形式为 数组名[下标][下标] 例如a[2][3]表示a数组中序号为2的行中序号为3的列元素。下标应是整型表达式如 a[2 - 1][2 * 2 - 1]形式。 数组元素可以出现在表示中也可以被赋值。
二维数组的初始化
分行给二维数组赋初始值。 这种赋初始值的方式比较直观把第一个花括号内的数据给第1行的元素第2个花括号内的值给第2行的元素。例如
int a[3][4] {{1,2,3,4},{5,6,7,8},{9,10,11,12}};可以将所有数据写在一个花括号内按数组元素在内存中的排列顺序对各元素赋初始值。例如
int a[3][4] {1,2,3,4,5,6,7,8,9,10,11,12,};可以对部分元素赋初始值例如
int a[3][4] {{1},{5},{9}};二维数组程序举例
例题:有一个3 * 4的矩阵要求编写程序求出求字最大的那个元素的值以及其所在的行号和列号。
int main()
{int arr[3][4] { {1,2,3,4},{5,55,7,8},{9,55,11,12} };int i 0;int j 0;int max 0;//最大值int col 0;//列坐标int row 0;//行坐标for (i 0; i 3; i){for (j 0; j 4; j){if (max arr[i][j])//将数组中的每一个元素和它进行比较找出最大的{max arr[i][j];row i;col j;}}}printf(row %d col %d max %d \n, row,col,max);return 0;
}运行结果: 结语今天的内容就到这里吧谢谢各位的观看如果有讲的不好的地方也请各位多多指出作者每一条评论都会读的谢谢各位。 祝各位接下来好运连连