第七章数组一、一维数组二、二维数组三、字符数组与字符串四、数组程序设计举例第七章目录1一、一维数组数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素(数组中的元素是按顺序排列的)。为什么要讲数组呢?第七章一维数组2a[0]a[1]…a[9]分配内存2)在内存分配若干连续空间给数组a[10].)类型说明符数组名[常量表达式]例:int a[10]; float b[20],c[15];第七章一维数组3(;(;(,即数组长度或大小;可为常量或符号常量,不能为变量。其值一般从0开始.(。(,只能逐个引用数组元素而不能一次引用整个数组。3)说明:第七章一维数组41)数组同变量一样,必须先定义后引用。2)引用数组元素的方法是:数组名[下标]、: /*以下是一个典型的错误定义方式!*/ int n; scanf(“%d”,&n); int a[n]; 数组的大小不依赖于程序运行过程中变量的值,即c不允许对数组的大小作动态定义。:数组元素引用举例,有定义int a[10]; /*可以引用元素的从a[0]到a[9]*/ a[5]=6; a[7]=a[5]++; a[6]=3; a[0]=a[5]+a[7]-a[2*3];51)初始化--在定义数组时对数组元素赋初值;2)初始化方法:[static] 数组类型数组名[数组长度]={数组元素值};static是静态存储的意思,c规定只有静态存储(Static)数组和外部存储(extern)数组才能初始化。①给全部元素赋初值:static int a[5]={0,1,2,3,4};②可以只给一部分元素赋初值:static float b[5]={,};相当b[0]=,b[1]=,b[2]=0,b[3]=0,b[4]=0;3、一维数组的初始化第七章一维数组③在对全部数组元素赋初值时,可以不指定数组长度。数组元素的个数和数组长度一致。如:int a[]={1,2,3};6第七章一维数组注意:static数组不进行初始化时,如果是数值类型数组(如整型、实型)默认值为0;如果是字符型数组默认值为空字符’\0’(ASCII码为零的字符)。4、数组的输入输出定义数组输入/,分别按顺序和逆序输出。#include <>main(){int I;static int a[10];printf("input 10 numbers:\n");for(i=0;i<10;i++) scanf("%d",&a[i]);printf("\n");for(i=0;i<=9;i++) printf("%d ",a[i]);printf("\n");for(i=9;i>=0;i--) printf("%d ",a[i]);}程序的运行情况:input 10 numbers:1 2 3 4 5 6 7 8 9 10↙1 2 3 4 5 6 7 8 9 1010 9 8 7 6 5 4 3 2 ,求斐波拉契数列的前10项。定义数组计算输出main( ){static int a[10]={1,1} int i;for(i=2;i<10;i++) a[i]=a[i-1]+a[i-2];for(i=0;i<10;i++) { printf(”%d”,a[i]);printf(“,”);} } #include ””第七章一维数组9[算法]:冒泡排序法对应位置a[1] a[2] a[3] a[4] a[5] a[6] a[7]第一次124 45 21 2 9 18第二次4 1245 21 2 9 18第三次4 12 4521 2 9 18第四次4 12 21 452 9 18第五次4 12 21 245 9 18第六次4 12 21 2 945 18第七次4 12 21 2 9 1845第七章一维数组10
c语言学习c7 来自淘豆网m.daumloan.com转载请标明出处.