书签 分享 收藏 举报 版权申诉 / 37
上传文档赚钱

类型C语言程序设计课件:第4章-数组1(语法).ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:2048348
  • 上传时间:2022-01-22
  • 格式:PPT
  • 页数:37
  • 大小:2.11MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《C语言程序设计课件:第4章-数组1(语法).ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言程序设计 课件 数组 语法
    资源描述:

    1、数组的概念数组的概念概念引入概念引入 30 30 名?名?float x,y,z;float a,b,c,d,e,f;数组的概念数组的概念6.1.1 6.1.1 一维数组的定义及使用一维数组的定义及使用可以是可以是常量常量 和和 符号常量符号常量,不能用变量不能用变量,下标从下标从0开始开始n引用引用 数组名数组名下标下标n必须必须先定义先定义,后使用。,后使用。n只能逐个引用数组只能逐个引用数组元素元素,每个元素的引用方法与一,每个元素的引用方法与一般变量相同。例如:般变量相同。例如:a0=a5+a7-a2*3数组名的构成方法与一般变量名相同数组名的构成方法与一般变量名相同无无a10 一维数

    2、组一维数组初始化初始化所赋初值元所赋初值元素从数组的素从数组的第第0个元素开个元素开始始,无赋初值无赋初值元素均为元素均为00,1,2,3,0,0,0,0,0,0数组数组名字名字是数组是数组首元素的内存地址首元素的内存地址。数组名是一个数组名是一个常量常量,不能被赋值。,不能被赋值。a0 a1a2 a3 a4a5 a6 a7 a8 a9a 一维数组一维数组 存储顺序存储顺序#include void main() int i, j; float x20, y, z; int a97.8; xi+j*2 = i+j; z = xy*2; printf(“%f”, x0); printf(“%f”

    3、, x20); scanf(“%f”,&x); scanf(“%f”,&x3); printf(“%f”, x); float y20; y = x; y10 = x10;下标表达式的值必须是一个整数下标表达式的值必须是一个整数下标表达式的值应大于等于下标表达式的值应大于等于0小于数组的大小小于数组的大小定义数组的大小必须是一个定义数组的大小必须是一个正整数常量正整数常量数组不能作为一个整体直接输数组不能作为一个整体直接输入输出,用元素入输出,用元素数组不能作为一个整体相赋值,数组不能作为一个整体相赋值,用元素用元素main() int a4 = 1,2,3,4, b4; b = a; 解决方

    4、法解决方法 法法1:1:逐个元素赋值逐个元素赋值 b0=a0; b1=a1; b2=a2; b3=a3; 法法2:2:通过循环赋值通过循环赋值 int i; for (i=0;i4;i+) bi = ai; 数组名表示数组的首地址数组名表示数组的首地址, ,其值不可改变其值不可改变! !int a10,i;scanf( %d ,&ai);for (i=0;i10;i+) scanf( %d ,&ai);printf( %d ,ai);for (i=0;i10;i+) printf( %d ,ai);只能逐个对数组元素进行操作(字符数组例外)只能逐个对数组元素进行操作(字符数组例外)n例例1 输

    5、入五个实数,并求出这五个实数的平均值输入五个实数,并求出这五个实数的平均值# include void main(void)int i;float x5,sum=0;printf(输入五个数输入五个数: “);for (i=0;i5;i+)scanf(“%f”,&xi);sum+=xi; printf(五个数字是:五个数字是:“);for (i=0;i5;i+)printf(“%f ”,xi);printf(n平均数是平均数是: %f n“,sum/5);利用循环语句获得数组的值利用循环语句获得数组的值利用循环语句输出数组的值利用循环语句输出数组的值max(i=0)max(i=2)max(i=

    6、3)n例例 用选择排序的方法对输入的用选择排序的方法对输入的1010个整数进行排序个整数进行排序( (从小到大从小到大) )n思路:思路:1.1.用用f0f0与与fj(1=j=9)fj(1=jfj,f0fj,则则f0f0与与fjfj交换,然后用新的交换,然后用新的f0f0与与fjfj后面的元素比较。比较完后面的元素比较。比较完9 9个元素后,个元素后,0 0号位置号位置的元素的元素f0f0就是就是1010个元素中最小的。个元素中最小的。2.2.用用f1f1作为新的比较基准,与作为新的比较基准,与fj(2=j=9)fj(2=jfj,就交换两个数值,就交换两个数值6.1.2 6.1.2 二维数组的

    7、定义及使用二维数组的定义及使用a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23行数行数列数列数二维数组理解二维数组理解例例 int a34;20161720181920202120222320089201011201213201415200012002320045200067a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23每个元素每个元素ai由包含由包含4个个元素的一维数组组成元素的一维数组组成a0a1a2行名行

    8、名014523a01a02a03a10a11a00a13a20a21a22a23a1267101189a0a1a2二维数组二维数组初始化初始化1 0 0 00 6 0 0 0 0 11 0 注意外面的注意外面的 不能省略不能省略 1 0 0 2 0 0 3 4 5 通过双重循环赋值通过双重循环赋值 int a42=1,2,3,4,5,6,7,8; int b42; int i,j; for (i=0; i4; i+) for (j=0; j2; j+) bij = aij; 使用双重循环使用双重循环 int a42; int i,j; for (i=0; i4; i+) for (j=0; j

    9、2; j+) scanf(%d, &aij); n例例5 5 输入一个输入一个3 3行行4 4列的二维数组,设计一程序,求列的二维数组,设计一程序,求出数组元素中的最大值和最小值,以及最大值和最出数组元素中的最大值和最小值,以及最大值和最小值所在的行号和列号。小值所在的行号和列号。用户输入二维数组的初值用户输入二维数组的初值初始认为初始认为a00是最小和是最小和最大值,初始化最小最大最大值,初始化最小最大值的行列号值的行列号2016172018192020212022232008920101120121320141520023a00a01a02a03a10a11a12a13a20a21a22a

    10、232016172018192020212022232008920101120121320141520023a00 a01 a02 a03a10 a11 a12 a13a20 a21 a22 a23遍历二维数组,求出极值遍历二维数组,求出极值n例例4 4 设计一程序,将一个设计一程序,将一个4 4行行4 4列的二维数组中行和列的二维数组中行和列元素互换(数学上称为矩阵的转置),并存放到列元素互换(数学上称为矩阵的转置),并存放到另一个数组中。例如:另一个数组中。例如:11 12 13 1415 16 17 1819 20 21 2223 24 25 26a = 11 15 19 2312 16

    11、 20 2413 17 21 2514 18 22 26b = 二维数组赋初值二维数组赋初值将数组元素将数组元素aij 赋给数赋给数组元素组元素bji,实现矩阵,实现矩阵的行列元素互换(转置)的行列元素互换(转置)输出显示二维数组输出显示二维数组a的值的值输出显示二维数组输出显示二维数组b的值的值输出显示的模块应该用输出显示的模块应该用函数实现!函数实现!C语言程序设计语言程序设计/*算法:求两个整数算法:求两个整数a和和b的最大公约数的最大公约数返回值:返回返回值:返回a和和b的最大公约数的最大公约数*/int gcd(int a,int b)int r,t;if(ab) /*确保第一个参数

    12、大于第二个参数确保第一个参数大于第二个参数*/ t=a; a=b; b=t; r=a%b; while(r!=0) a=b; b=r; r=a%b; return b; 求最大公约数的算法求最大公约数的算法 2022-1-2230例:例: 求学生的平均成绩求学生的平均成绩 #include float average(int stu10, int n); main() int score10, i; float av; printf(Input 10 scores:n); for( i=0; i10; i+ ) scanf(%d, &scorei); av=average(score , 10

    13、); printf(Average is:%.2f, av); float average(int stu , int n) int i; float av,total=0; for( i=0; in; i+ ) total += stui; av = total/n; return av; 实参用数组名实参用数组名形参用数组定义形参用数组定义.2109score569372.88stu实参和形参数组类型应一致实参和形参数组类型应一致2022-1-2231a00a01a02a10a11a12a00a01a02a10a11a12实际传送的是数组第一个元素的地址实际传送的是数组第一个元素的地址【例例】(矩阵转置)求矩阵(矩阵转置)求矩阵a a的转置矩阵,所谓矩阵转的转置矩阵,所谓矩阵转置就是将矩阵的行变成列,列变成行,要求输置就是将矩阵的行变成列,列变成行,要求输出转置前后的矩阵。出转置前后的矩阵。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计课件:第4章-数组1(语法).ppt
    链接地址:https://www.163wenku.com/p-2048348.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库