ch6数组、函数和指针解读.pptx

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

第6章 数组、函数和指针 一、数 组 数组 问题的引出: 实际应用的程序设计中,只用几个变量的情况是极少的;更多的情况是处理大批量的相同类型或不同类型的数据。 相同类型数据举例: 统计交大1500学生英语4级统考成绩; 不同类型数据举例: 管理交大1500学生学籍信息记录,包括:姓名、学号、出生日期、班级、各科成绩等。 3 用什么样的数据结构来描述这类应用更简洁? 数组 数组: 具有相同数据类型的变量集合。集合中各数据的排列具有一定的规律。 数组中的各数据必须具有相同的数据类型,用下标代表数据在数组中的序号。 数组中的数据也称为元素,它们具有相同的名字,但具有不同的下标。 这些元素称为数组元素,各元素通过下标区分。 4 一维数组 多维数组 1. 一维数组 特点: 每个元素只有一个下标 程序中使用数组时,必须先定义 5 例如: int array[10]; 1) 一维数组定义 一维数组的定义格式: 类型名 数组名 [常量表达式] 例如: int a[10]; 说明: 方括弧括中的下标表示元素在数组中的位置。 C语言的下标从0开始,必须是常量或符号常量,不能是变量。 例如:以下语句非法 int n; scanf(“%d”,n); int array[n]; 数组在内存中存储时,是按下标递增的顺序连续存储各元素的值的。 6 一维数组的定义 说明: 数组名的命名规则和变量名相同,遵循标识符命名规则。 定义数组时需要在方括号中用常量表达式指定数组中的元素个数,即数组长度。 在被调用函数中定义数组时,其长度可以是变量或变量表达式,此时的变量可以通过参数传递获取。每次调用时可以传递不同的变量值,称为“可变长数组”。 例: void func(int n) { int array[n]; …… } 7 2) 一维数组的引用和初始化 一维数组的初始化 在定义数组时对数组元素赋以初值。 int data[5]={0,1,2,3,4} 可以只给数组中部分元素赋初值。 int data[5]={,4,,8,} 可通过循环语句为数组赋值。 数组中元素的引用形式: 数组名 [下标] 8 一维数组 例1: 定义一个含10个元素的整型数组,依次为其赋值0,1,2…9,并按逆序输出。 题目分析: 需要先定义一个长度为10的整型数组; 元素值很有规律,可通过循环对其赋初值; 输出时先输出最后一个元素,即按下标从大到小循环输出。 9 #includestdio.h int main() { int a[10],i; for (i = 0; i = 9; i++) a[i] = i; for (i = 9; i=0; i--) printf(%d ,a[i]); printf(\n); return 0; } 10 9 8 7 6 5 4 3 2 1 0 请按任意键继续… 一维数组例2: 找出数组中的最大数 题目分析: 定义一个数组a,以及存放最大数的变量max; 定义计数变量i(也是数组长度值),并设i=0; 令max=a[i](即:假设数组中第1个元素最大) ; 将a[i](0= i n)与max进行比较: 若a[i] max ,i=i+1,再执行3 否则,令max=a[i],i=i+1,再执行3 循环结束,求出最大元素并输出max。 11 #include stdio.h int main() { int a[7],i,j,max; printf(Please input an array with seven elements: \n); for(i=0; i7; i++) scanf(“%d”,a[i]); max = a[0]; for(j=0; j7; j++) { if(a[j]max) max = a[j]; } printf(max=%d\n,max); return 0; } 12 用数组求解Fibonacci问题。 题目分析: 每个数组元素代表数列中的一个数,依次求出各数并存于数组中。 数组中元素存放于内存,若按普通方法求解,数列中的各值将不会存于内存。 13 一维数组例3: #includestdio.h int main() { int F[28] = { 1, 1 }, i; for (i =2; i = 27; i++) F[i] =F[i-1]+F[i-2]; for (i = 0; i = 27; i++) { if (i % 5 == 0) printf(\n); pr

文档评论(0)

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

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

1亿VIP精品文档

相关文档