c程序设计课件语言第八次课_第1页
c程序设计课件语言第八次课_第2页
c程序设计课件语言第八次课_第3页
c程序设计课件语言第八次课_第4页
c程序设计课件语言第八次课_第5页
免费预览已结束,剩余26页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1请将您的手机铃声设置为震动2作业实验教程: 1.阅读程序 (第49页) 2.程序改错 (第49页) 4.编写程序 (第51页)3一维数组二维数组字符数组数 组一维数组二维数组4定义:数据类型 数组名常量表达式; 合法标识符数据元素个数下标运算符(p276)例子:int a4; char x2;一维数组int a4;xxxxxxxxa0a1a2a31000Ha1000H5#include stdio.hvoid main( ) int i; for(i=0;i3;i+) scanf(%d,&ai); printf(%dn,ai); error C2065: a : undeclared ide

2、ntifier一维数组的引用数组必须先定义,后使用6#include stdio.hvoid main() int i, a3, a=0; for(i=0;i3;i+) scanf(%d,&ai); a=a+ai; printf(%d,a);error C2040: a : int differs in levels of 一维数组的引用数组必须先定义,后使用数组名不能与程序中的其它变量同名 7代表数据长度的常量表达式不能使用变量 数据元素的下标起始值为0例 printf(%d,a); ()例 int data5; data5=10; () 数组必须先定义,后使用修改 for(j=0;j10;

3、j+) printf(%d ,aj);()一维数组的引用数组名不能与程序中的其它变量同名 只能逐个引用数组元素,不能整体使用例 int i=15; () int datai; 8数据元素的下标起始值为0数组必须先定义,后使用代表数据长度的常量表达式不能使用变量 一维数组的引用数组名不能与程序中的其它变量同名 只能逐个引用数组元素,不能整体使用对数组名不允许进行+或-运算例 int d5; d+; ()数组可以在定义时直接赋初值例 int a2=5,7; 例 int a5=5,7; 9例:求10个整数的最大值和最小值#include stdio.hvoid main() int x10,i,ma

4、x,min; for(i=0;i10;i+) scanf(%d,&xi);printf(Maximum is %dn,max); printf(Minimum is %dn,min);max=min=x0;for(i=1;i10;i+) if(maxxi) min=xi;10例:用变量求Fibonacci数列前20个数#include stdio.hvoid main( ) int i, f1=1, f2=1; for(i=1;i=10;i+) printf(%d,%d,f1,f2); f1=f1+f2; f2=f1+f2; 1, 1, 2, 3, 5, 8, 13, 21, 34, 5611

5、例: 求Fibonacci数列前20个数f0f1f2f3f4f5f1911f0=1;f1=1;fi=fi-1+fi-2; (i2).2358676512#include stdio.hvoid main( ) int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i20;i+) if(i%5=0) printf(n); printf(%12d,fi); 例:用数组求Fibonacci数列前20个数1338 49 65 76 1338 49 65 1338 49 1349 38 65 97 76 1338497697139713761

6、36597766513494938 1313383813例:用冒泡法对6个数排序14#include stdio.hvoid main( ) int a6,i,j,t; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf(%d ,ai);例:用冒泡法对6个数排序for(i=0;i5;i+) for(j=0;jaj+1) t=aj; aj=aj+1; aj+1=t; 1549 38 65 13 76 27例:用选择法对6个数排序493838131349 65 38 76 27493838272765 49 76 38496538493865 7

7、6 49 496549 76 65 6576657616#include stdio.hvoid main( ) int a6, i, j, t; for(i=0; i6; i+) scanf(%d, &ai); for(i=0;i6;i+) printf(%d ,ai);例:用选择法对6个数排序for(i=0;i5;i+) for(j=i+1;jaj) t=ai; ai=aj; aj=t; 17第一轮: 49 38 65 13 76 27 j i例:用简单选择法对a6数组升排序k18例:用简单选择法对a6数组升排序第一轮: 49 38 65 13 76 27j ikkjjkj jai与ak交

8、换49131319第一轮: 49 38 65 13 76 27j ikkjai与ak交换491313第二轮: 38 65 49 76 27j j273827例:用简单选择法对a6数组升排序20例:用简单选择法对a6数组升排序第一轮: 49 38 65 13 76 27ai与ak交换491313第二轮: 38 65 49 76 382727j第三轮: 65 49 76 38jj3865k i38kk21#include stdio.hvoid main() int a6,i,j,k,x; for(i=0;i6;i+) scanf(%d,&ai); for(i=0;i6;i+) printf(%d

9、 ,ai);例:用简单选择法对6个数排序for(i=0;i5;i+) k=i; for(j=i+1;j6;j+) if(ajak) k=j; if(i!=k) x=ai; ai=ak; ak=x;22二维数组二维数组的定义二维数组的初始化二维数组的简单示例23定义:数据类型 数组名常量表达式常量表达式;行数列数例 int a34; float b25; int a3,4; ()存放顺序:按列先变化存放在一维内存中a01a10a11a20a21a00int a32a00 a01a10 a11a20 a21二维数组24二维数组示例a01a02a03a10a11a00a13a20a21a22a23a

10、12a0a1a2a0a1a2行名a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23每个元素ai由包含4个元素的一维数组组成int a34;二维数组a是由3个元素组成25分行初始化 例 int a23=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化 例 int a23=1,2,4;a00a01a02a10a11a12120400部分初始化 例 int a3=1,2,3,4,5,6;a00a01a02a10a11a12123456第一维长度省略初始化二维数组元素的初始化26分行初始化按元素排列顺序初始化 例 int a23

11、=1,2,3,4,5,6;a00a01a02a10a11a12123456全部初始化 例 int a23=1,2,4;a00a01a02a10a11a12124000部分初始化二维数组元素的初始化 例 int a 3=1,2,3,4,5;a00a01a02a10a11a12123450第一维长度省略初始化27例:求二维数组中最大元素及其行列号#include stdio.hvoid main() int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; int i,j,r=0,c=0,max; max=a00; printf(max:%d,r:%d,c:%d,max,r+1,c

12、+1);for(i=0;i3;i+) for(j=0;jmax) max=aij; r=i; c=j; 28例:互换行列元素到并保存到另一数组a=1 2 34 5 6b=1 42 53 6bji=aij29#include stdio.hvoid main() int a23=1,2,3,4,5,6, b32,i,j; for(i=0;i3;i+) for(j=0;j2;j+) printf(%5d,bij); printf(n); 例:互换行列元素到并保存到另一数组for(i=0;i2;i+) for(j=0;j3;j+) bji=aij;302003年试题四/(3)分析:寻找各项之间的规律sign=-1*sign;t=(float)i/(i+1)*(i+1)*sign;s=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论