[数学]07指针与数组.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[数学]07指针与数组

信息工程学院 张春芳 第7章 指针和数组 内容及要求: 理解指针的概念、掌握指针的使用方法 掌握一维数组、二维数组的使用方法 掌握排序、查找等典型问题的算法 理解指针与数组之间的关系,掌握用指针引用数组元素的方法 掌握用字符型指针操作字符串 学会常用字符串处理函数的使用 为什么要使用数组? #define N 10 main( ) { int i, j, t, a[ N ]; for(i=0; i N ; i++) scanf(%d, a[i]); for(j=1; j N ; j++) /*10 个数排序*/ for(i=0; i=N-1-j; i++) if(a[i]a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=0; i N ; i++) printf(%d ,a[i]); printf(\n); } (1)输入十个整数,把它们按照逆序输出。 (2)已知某班30名学生某门课的成绩,输出高于平均分的成绩。 什么是数组? 确定了顺序的具有相同数据类型的数据集合。 数组a [ 10 ]如何表示10个数? 一、一维数组 1、定义 类型名 数组名[整型常量表达式]; 如: int a[10]; float b[2+5]; 2、 数组元素的引用 下标法引用:数组名[下标] 下标法引用 例1:从键盘输入十个整数,把它们按照逆序输出。 3、一维数组的初始化 (1)与变量赋值相同,如:int a[10]; a[4]=3; (2)用scanf( )函数,给所有元素任意赋值,即 3、一维数组的初始化 3、一维数组的初始化 2)部分元素赋初值 如:int a[5]={ 2, 3}; 3、一维数组的初始化 3)对数组的所有元素赋初值0。 例如:int a[5]={0}; 例2:已知某班10名学生某门课的成绩,输出高于平均分的成绩。 例3:用起泡法对输入的五个整数按由小到大的次序排序。 main( ) { int i, j, t, a[11]; for(i=1; i11; i++) scanf(%d, a[i]); for(j=1; j=9; j++) for(i=1; i=10-j; i++) if(a[i]a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } for(i=1; i11; i++) printf(%d ,a[i]); } 二、二维数组 格式:数据类型 数组名[长度 ] ; 注意: 1)二维数组中的每个数组元素都有两个下标,且必须分别放在单独的[ ]内。 2)与一维数组的元素一样,使用时注意下标的范围。 行下标的取值范围是[ 0,行长度-1 ] 列下标的取值范围是[ 0,列长度-1 ] 定义同时赋初值 运行程序时任意赋值 定义二维数组的同时赋初值 1)分行赋初值 全部元素赋初值 例如:int a[3][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; 或: int a[ ][4]={{1,2,3,4}, {5,6,7,8}, {9,10,11,12}}; 2)不分行给二维数组所有元素赋初值 例如: int a[3][4]={ 1,2,3,4,5,6,7,8,9,10,11,12 }; 或 int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 行下标和列下标分别做为循环变量, 通过二重循环,依次对每个元素赋值,通常将行下标做为外循环的循环变量,列下标做为内循环的循环变量。 运行程序时二维数组的初始化 例:从键盘上给一个2×4的二维数组赋值,然后按矩阵格式输出,如: main() { int a[2][4], i, j; for(i=0; i2; i++) for(j=0; j4; j++) scanf(%d,a[i][j]); for(i=0; i2; i++) { for(j=0; j4; j++) printf(%4d,a[i][j]); printf(\n); } } 练习: 有一个3?4矩阵,编程求出其中值最大的那个元素,以及它所在的行号和列号。 分析: 1)算法 设最大值的元素为:max, If(

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档