新c语言程序设计下.pptxVIP

  • 1
  • 0
  • 约7.92千字
  • 约 52页
  • 2020-10-09 发布于上海
  • 举报
新版C语言程序设计(下集) 数组是构造类型的数据。6-1 一维数组的定义和引用 定义方式: 类型说明符 数组名[常量表达式]; 如int a [ 5 ] ; 数组引用时,只能引用数组的元素,而不能指望引用整个数组。数组元素的表示形式为: 数组名[下标]main( ){ int i, a[10] ; for ( i =0 ; i =10; i ++) a[ i ]=i ; for ( i =9 ; i = 0 ; i --) printf(”%d ”,a[ i ]) ; } C中数组元素下标从0开始 第六章数 组一维数组的初始化 定义数组时对数组元素赋初值, 如 static int a[10]={1,3,5,7,9,11,13,15,17,19};也可以 static int a[10]={1,3,5,7,9}; //不赋值的元素初值为0。 少于10个元素可以数组长度允许空缺还可以这样static int a[ ]={1,3,5,7,9};一维数组程序举例冒泡法排序 设有5 个数排序:排序后的数组原数组125625378562512783562578123567825123785625123第1次大循环后数组大循环 第1次 第2次 第3次 第4次小循环(比较) 4次 3次 2次 1次程序如下:main( ){ int a[5],i ,j ,t ; printf(”Input 5 numbers:\n”); for ( i=0;i5;i++) scanf(”%d”,a[i]); for (j=1;j=4;j++) { for(i=1;i=5-j;i++) if (a[i]a[i+1]) { t=a[i];a[i]=a[i+1];a[i+1]=t;} } for(i=0;i5 ;i++) printf(”\n%d”,a[i]);}大循环4次小循环元素上小下大则互换6-2 二维数组 二维数组的定义的一般形式: 类型说明符 数组名[常量表达式] [常量表达式]如 float a [3][4] ;数组a共有12个元素,即 a[0][0], a[0][1], a[0][2],a[0][3],a[1][0], a[1][1], a[1][2],a[1][3],a[2][0], a[2][1], a[2][2],a[2][3],在内存中的排列次序即如此,多维数组依此类推。二维数组的初始化 static int a[3][4] ={ {1,3,5,7}, {9,11,13,15}, {17,19,21,23}}; 或static int a[3][4] ={1,3,5,7,9,11,13,15, 17,19,21,23} ;也可以static int a[3][4] ={ {1,3,5,7}, {9}, {0,19,21} } ;还可以 static int a[ ][4] ={ {1,3,5,7},{ },{17,19} } ;缺省的数组元素为0二维数组程序举例main( ){ static int a[2][3] ={ {1,3,5}, {7,9,11} }; int b[3][2]; int i,j; printf(”array a :\n“); for (i=0;i=1;i++) { for (j=0;j=2;j++) { printf(”%5d“,a[i][j]); b[i][j]=a[i][j]; } printf(“\n”); }二维数组程序举例(续) printf(”array b :\n“) ; for ( i=0; i=2; i++ ) { for ( j=0; j=1; j++ ) printf(”%5d“, b[i][j] ); printf(“\n”); }}十进制 5位整数形式换行6-3 字符数组 字符数组的每一个元素为字符. 字符数组定义的形式: char 数组名 [常量表达式]; 可 定义同时赋值:static char ch1[ 6] = {’H’, ’e’, ’l’, ’l’, ’o’, ’!’ };static char ch1[ ] = {’H’, ’e’, ’l’, ’l’, ’o’, ’!’ };static char ch1[ ] = { ”Hello!” }; / *用字符串常量给字符数组赋值,字符串结尾有一个特殊字符 ’\0‘,因而字符数组长度为7。 */字符数组的输出 static char ch1[ ] = { ”Hello!” }; printf(”%s”,ch1) ;输出为 Hello! // 输出字符

文档评论(0)

1亿VIP精品文档

相关文档