C语言程序设计六讲义.ppt
文本预览下载声明
《C语言程序设计》-第六章 6.1 一维数组 6.2 多维数组 6.3 字符数组 数组和数组元素 数 组:构造数据类型之一,是一种数据结构,处于这种结构中的变量具有相同的性质,并按一定的顺序排列。 数组的定义: 数据类型 数组名[数组长度]; 例: int a[6]; 一维数组:带有一个方括号的数组。a[6] 二维数组:带有两个方括号的数组。data[3][4] 三维数组:带有三个方括号的数组。c[3][4][5] …… n 维数组: 带有n个方括号的数组。b[4] …[4] [例6.2]一维数组元素的使用。 main() { int i,a[10]; for (i=0;i=9;i++) a[i]=i; for (i=9;i=0;i--) printf(%d ,a[i]); } [例6.3]整数数组的初始化。 #include”stdio.h” main() { int i; int a[]={0,1,0,0,1}; for (i=0;i5;i++) printf(%d ,a[i]); } [例6.4]冒泡法从小到大排序程序。 [例6.5]比较交换法从小到大排序程序。 [例6.6]选择法排序从大到小排序程序。 6.2 多维数组 6.2.1 二维数组的定义和使用 6.2.2 二维数组的初始化 6.2.3 二维数组程序举例 6.2.1 二维数组的定义和使用 1.二维数组的定义 类型 数组名[常量表达式1][常量表达式2]; 例:int a[3][4]; ? 三维数组int b[2][3][4]的存储结构: 6.2.2 二维数组的初始化 多维数组的初始化有两种方式: 直述型:将所有常量写在一个花括号内,各个常量之间用逗号分开,按数组元素存储的顺序对各元素赋初值。 [例6.8]输入一个3*3的数组,将其行和列互换。 6.2.3 二维数组程序举例 [例6.9]有一个3*4的矩阵,要求编程求出第i行、第j列元素的值。 main() { int i,j; static int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; printf(input integer i: ); scanf(%d,i); printf(input integer j: ); scanf(%d,j); printf(a[%d][%d]=%d,i-1,j-1,a[i-1][j-1]); } main() { int i,j,k,m=2,n=3,p=2; static int a[2][3]={ {6,8,7}, {3,4,5} }; static int b[3][2]={ {1,2}, {2,1}, {-1,0} }; static int c[2][2]={ {0,0}, {0,0}}; for(i=0;im;i++) for(j=0;jp;j++) { c[i][j]=0; for(k=0;kn;k++) c[i][j]=c[i][j]+a[i][k]*b[k][j]; } for(i=0;im;i++) { for(j=0;jp;j++) printf(%d ,c[i][j]); printf(\n); } } 6.3 字符数组 6.3.1 字符数组的定义 6.3.2 字符数组的初始化 6.3.3 字符串的输入和输出 6.3.4 用于字符处理的库函数 6.3.1 字符数组的定义 字符数组的定义: char/int 数组名[数组长度]; 6.3.2 字符数组的初始化 1 用字符常量对字符数组进行初始化 6.3.3 字符串的输入和输出 1 逐个字符的输入和输出 scanf( “%c”,ch); printf(“ %c”,ch); ch=getchar(); putchar( ch);? 2. 字符串的整体输入和输出 scanf( “ %s”,字符数组名); 注:输入时自动加’\0’。 printf(“%s”,字符数组名); 注:输出时遇第一个’\0’结束。 3. 整行输入和输出 gets(str); 注:读入由键盘输入的字符(包括空格),直至换行符为止(换行符不存入),且自动在结尾处加’\0’。 puts(str); 注:把字符串的内容显示在屏幕上。 123
显示全部