[计算机软件及应用]第7章数组.pptVIP

  • 11
  • 0
  • 约7.21千字
  • 约 46页
  • 2018-03-04 发布于浙江
  • 举报
[计算机软件及应用]第7章数组

第7章 数组 7.1数组概述 具有相同数据类型的若干变量按一定次序组织、存储、访问。 数组:按序排列的同类数据元素的集合。 7.1.1 数组的引入及优点 从键盘随机输入3个整数,求三个数的和。 int a1, a2,a3; int sum; scanf(%d%d%d ,a1,a2,a3); sum=a1+a2+a3; 问题:假设这里在键盘上要输入的不是3个数,而是10个数,我们又该怎么做呢? 方法二:用循环语句来解决以上问题 int a1 ,sum=0; int i ,n=10; for(i=1;i=n;i++) { scanf(%d,a1); sum=sum+a1; } 对于在数据处理过程中只使用一次的变量,我们可以使用循环语句来减少变量定义的个数 从键盘输入3个数,按由小到大进行排序输出。 scanf(%d,%d,%d,a,b,c); if (ab) {temp=a;a=b;b=temp;} /*a≤b*/ if (ac) {temp=a;a=c;c=temp;} /*a≤b,且a≤c*/ if (bc) {temp=b;b=c;c=temp;} /*a≤b≤c*/ printf(Three numbers after sorted: %d,%d,%d\n,a,b,c); 7.1.2 C语言中数组的分类 1.根据数组元素的数据类型分类 int char float double 2.根据数组的维数分类 一维、二维、多维 7.2 一维数组 7.2.1 一维数组的定义 类型说明符 数组名[常量表达式]; (1)int a[10]; (2)float b[20]; (3)char c[20]; 下标从0开始计算 不能在方括号中用变量来表示数组元素的个数, 但是可以是符号常数或常量表达式 #define FD 5 main() { int a[3+2] , b[7+FD]; …… } 下述说明方式是错误的 main ( ) { int n=5; int a[n]; …… } 7.2.2 一维数组的初始化 1.一次性初始化 int a[5]={1,2,3,4,5}; float b[6]={4.2 , 2.3 , 1.0 , 6.3 , 7.4 , 9.1}; char c[3]={‘a’,’b’,’c’}; int a[ ]={1 , 2 , 3 , 4 , 5}; 部分元素赋初值 int a[8]={2,5,6,9}; 2.逐元素初始化 int a[5]; a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5; char c[3]; c[0]=’a’; c[1]=’b’; c[2]=’c’; 3.用循环语句初始化 int i; for(i=0;i10;i++) a[i]=i+1; 或者从键盘输入数据 for(i=0;i10;i++) scanf(“%d”,a[i]); 练习:给出运行结果 #includestdio.h void main( ) { int p[7]={5,6,7,8,16,17,18}; int i=0,j=0; while(i7p[i]%2==1) j+=p[i++]; printf(“%d\n”,j); } 7.2.3 一维数组的引用 数组元素的一般引用形式为: 数组名[下标] 数组元素赋值输出 #includestdio.h main( ) { int i,a[10]; for(i=0;i=9;i++) a[i]=i; for(i=9;i=0;i--) printf(%d ,a[i]); } 一维数组元素的输入输出 main() { int i,a[10]; for(i=0;i10;) a[i++]=2*i+1; for(i=0;i=9;i++) printf(%d ,a[i]); printf(\n%d %d\n,a[5.2],a[5.8]); } 读取10个整数存入数组,找出其中的最大值以及最大值所对应的下标 #includestdio.h main( ) { int a[10]; int i,max; for(i=0;i10;i++) scanf(“%d”,a[i]); max=a[0]; for(i=1;i10

文档评论(0)

1亿VIP精品文档

相关文档