c语言数组与字符串.pptx
《c语言数组与字符串.pptx》由会员分享,可在线阅读,更多相关《c语言数组与字符串.pptx(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 bytesnum0num1num2 num9.4 bytes.score00score01score02 score23功能:定义数组名,类型和大小。num 整型 10个元素score 实型 12个元素第1页/共34页数组元素赋初值数组元素赋初值 指在定义的同时可给数组各元素或部分元素赋初值,即初始化。在编译时除分配一定的单元,同时将初值赋给相应单元(元素),否则是随机值。如果给全部元素赋值,则在数组定义时,可以不给出数组长度,系统将根据初值的个数自动确定数组的长度。第2页/共34页num0num1.019static-表示静态存储;若定义成:static int num10;所有元素均赋
2、 0;部分元素赋初值:static int num10=0,1,2,3,4;其它元素均赋 0;num9一维数组:static int num10=0,1,2,3,4,5,6,7,8,9;第3页/共34页也可 static float score34=1,1,1,1,2,2,2,2,3,3,3,3;也可 static float score 4=1,1,1,1,2,2,2,2,3,3,3,3;而 static float score34;则所有元素均赋 0;部分元素赋初值:static float score34=1,2,3;表示score00;score10;score20分别赋1,2,3,其
3、它元素均为 0。static float score34=1,7,8;表示score 00=1;score10=7,score11=8,其它元素均为 0;二维数组static float score34=1,1,1,1,2,2,2,2,3,3,3,3,;第4页/共34页对数组元素的操作 在C中,只能对已定义的数组元素逐个的操作(赋值、输出等),不可对整个数组一次进行赋值,输出等。凡是变量可出现的地方,数组元素也可出现。数组元素引用格式:一维 数组名 二维 数组名 第5页/共34页一维数组各元素一维数组各元素:赋值赋值,输出输出main()int num10,i;for(i=0;i10;i+)n
4、umi=i+1;for(i=0;i10;i+)numi*=10;for(i=0;i10;i+)printf(num%d=%d n,i,numi);第6页/共34页main()int num10,i;for(i=0;i10;i+)scanf(%d,&numi);for(i=0;i10;i+)printf(num%d=%d n,i,numi);第7页/共34页二维数组各元素二维数组各元素:赋值赋值,输出输出main()int score34;int i,j;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&scoreij);for(i=0;i3;i+)for(j=0;j4
5、;j+)printf(score%d%d=%d,i,j,scoreij);printf(n);第8页/共34页数组在编程中应用数组在编程中应用例:某班例:某班3人人,2门课门课,试编程试编程:1.键盘输入每个人学号和2门课成绩;2.求出每人平均分和每门课的平均分。变量设置:num3 存放每个人的学号score32 存放30人,每人9门课成绩aver3 存放每人平均成绩aver12 存放每门课平均成绩 第9页/共34页main()int i,j;int score32,num3,sum;float aver3,aver12;for(i=0;i3;i+)scanf(%d,&numi);for(j=
6、0;j2;j+)scanf(%d,&scoreij);/*输入每人学号和2门课成绩*/第10页/共34页 for(i=0;i3;i+)sum=0;for(j=0;j2;j+)sum+=scoreij;averi=sum/2;/*求出每人平均分*/for(i=0;i3;i+)printf(Student.%d t%f n,i+1,averi);/*输出每门课平均分*/第11页/共34页 for(i=0;i2;i+)sum=0;for(j=0;j3;j+)sum+=scoreji;aver1i=sum/3;/*求每门课平均分*/for(i=0;i2;i+)printf(Course.%d t%f
7、n,i+1,aver1i);/*输出每门课平均分*/第12页/共34页例:已知三行三列数组各元素值,试分别求各行元素,各列元素和每个元素之和。main()int i,j;static int a44=3,5,6,0,2,1,4,0,3,5,4,0,0,0,0,0;for(i=0;i3;i+)for(j=0;j3;j+)ai3+=aij;a3j+=aij;a33+=aij;for(i=0;i4;i+)for(j=0;j4;j+)printf(%5d,aij);printf(n);第0列各元素之和所有元素之和第 0 行各 元素之和3 5 6 xx2 1 4 xx3 5 4 xxxx xx xx x
8、x第13页/共34页例:矩阵相乘:C=A*B条件:A阵的列数=B阵的行数 乘积矩阵的行数为A阵行,列为B阵列main()static int a33=1,2,3,4,5,6,7,8,9;static int b32=1,2,3,4,5,6;static int c32;int i,j,k;for(i=0;i3;i+)for(j=0;j2;j+)for(k=0;k3;k+)cij+=aik*bkj;for(i=0;i3;i+)for(j=0;j2;j+)printf(%5d,cij);printf(n);第14页/共34页main()int num10,i,j,k,tem;for(i=0;i10
9、;i+)scanf(%d,&numi);for(i=0;i9;i+)for(j=i+1;jnumj)tem=numi;numi=numj;numj=tem;for(k=0;k10;k+)printf(%d,numk);1 3 5 7 9 2 4 6 8 00 3 5 7 9 2 4 6 8 10 1 5 7 9 3 4 6 8 20 1 2 7 9 5 4 6 8 30 1 2 3 9 7 5 6 8 40 1 2 3 4 9 7 6 8 50 1 2 3 4 5 9 7 8 60 1 2 3 4 5 6 9 8 70 1 2 3 4 5 6 7 9 80 1 2 3 4 5 6 7 8 9第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数组 字符串
限制150内