一、二维数组定义的一般形式为:
类型说明符 数组名[常量表达式][常量表达式];
二维数组可被看作是一种特殊的一维数组:它的元素又是一个一维数组。
二、二维数组的引用:
二维数组元素的表示形式为
数组名[下标][下标]
三、二维数组的初始化:
可以用下面的方法对二维数组初始化。
(1)分行给二维数组赋初值。例如:
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
这种赋初值方法比较直观,把第1个花括号内的数据给第1行的元素,第2个花括号
的数据赋给第2行的元素 …… 即按行赋初值。
(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}};
它的作用是只对各行第1列(即序号为0的列)的元素赋初值,其余元素值自动为0。
(4)可以省略行数不能省略列数。
(5) 行数:int rows = sizeof(a) / sizeof(a[0]);
列数:int cols = sizeof(a[0]) / sizeof(a[0][0]);
(6)二维数组的赋值与求和
(7)求最外边一圈的和
(8)逆序
(9)二分法
四、函数
1. 在定义两个函数时指定函数的类型为void,意为函数无类型,即无函数值,也
就是说,执行这两个函数后不会把任何值带回main函数。
函数定义的一般形式:
函数类型 函数名(形式参数表) /*函数首部*/
{
函数实现过程 /*函数体*/
}
函数的调用的形式
函数调用的一般形式为:
函数名(实际参数表);
说明:
(1)一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。
(2)一个源程序文件由一个或多个函数以及其他有关内容(如命令行、数据定义等)
组成。一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译
的,而不是以函数为单位进行编译的。
(3)C程序的执行是从main函数开始的,如是在main函数中调用其他函数,在调用
后流程返回到main函数,在main函数中结束整个程序的运行。
(4)所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。函数间可以互相调用,但不能调用main函数。main函数是系统调用的
(6)从函数的形式看,函数分两类。
1无参函数。在调用无参函数时,主调函数不向被调用函数传递数据。无参函数一般用来执行指定的一组操作。无参函数一般不带回函数值。
2有参函数。在调用函数时,主调函数在调用被调用函数时,通过参数向被调用函数传递数据,一般情况下,执行被调用函数时会得到一个函数值,供主调函数使用。
2.有参函数的一般形式
类型标识符 函数名()
(1)类型标识符为函数返回值的类型。
(2)()函数形参表,每个形参的数据类型必须单独给出
形参和实参个数相同,类型匹配。
(3)主调函数和被调函数:—————— 被调放前,主调放后。
被调函数一定是在主调函数之前被声明的 ,另外主函数是main,只要看到main() 就可见主函数了。被调函数就是一个可以实行一系列功能的函数,需要它有什么用就可以定义它的功能,但是调用函数却一定在主函数中实现的。
return语句会终止当前函数的执行,返回到主调函数。
没有写返回值类型的函数默认其返回值为int型。