c语言程序设计13第12讲[第6章上].pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言程序设计13第12讲[第6章上]

编程就是不断编程!;高级语言程序设计;课程内容;第六章 数组;语言需要提供一套数据机制,描述与数据有关的问题: 必须足够丰富,以满足需要; 不能过庞杂,臃肿难用; 也不能太低级,使描述过于烦琐。;;问题:输入学生的学号,成绩, 计算平均成绩, 计算每个学生的成绩与平均成绩的差, 差=10 成绩等级 A 0=差10 成绩等级 B 其它 成绩等级 C 设:学号 double n1,n2,n3,n4,…, n30; 成绩 double s1,s2,s3,s4,…, s30;;数组的概念、定义和使用 数组程序实例 数组作为函数参数 字符数组和字符串 两维和多维数组 编程实例;6.1 数组的概念、定义和使用 数组(array):是多个同类型数据对象的组合。 一个数组汇集了多个数据项,数组元素。 可从数组出发处理各元素,以统一方式处理一批/所有元素,是数组和一组独立变量的主要区别。;数组变量定义  定义数组变量(定义数组)时需说明: 数组元素类型 数组(变量)名 数组(变量)的元素个数(也称数组大小或长度) 定义方式: 数据类型 数组名[常量表达式]; ;可定义外部数组和局部数组,包括局部静态数组(用static),作用域与存在期与简单变量相同。 数组的外部说明不必描述数组大小。例: extern int a[]; extern double a1[];;基本操作是元素访问。元素顺序编号,首元素序号0,其余顺序编号。n元数组元素编号是0到n-1。定义:  int b[100]; 元素编号为0、1、2、…、99。称为下标或指标。 元素访问通过[]运算符,优先级最高,运算对象是数组名和括号里表示下标的表达式。 表达式、语句里的 b[3]称为下标表达式或带下标的变量。;数组的真正意义在于能以统一方式描述对一组数据的处理。下标表达式可用一般的整型表达式。如:  b[i] = b[i-1] + b[i-2]; 访问哪个元素由i值确定。同一语句可访问不同元素,可用在循环里访问一批元素。;#include stdio.h int main () { long fib[30]; int n; fib[0] = 1; fib[1] = 1; for (n = 2; n 30; ++n) fib[n] = fib[n-1] + fib[n-2]; for (n = 0; n 30; ++n)   { printf(%d, fib[n]); putchar(n%6 == 5 ? \n : ); } /* 6个数输出一行 */ return 0; };对数组的多个或全部元素操作,常用for语句。 令循环变量遍历数组下标:  for (n = 0; n 数组长度; ++n) ...;数组的实现 数组占据一片连续存储区,元素顺序排列,0号元素在最前面,各元素占相同空间。如有:  int a[8]; a的存储恰好能存放8个整型数据,情况如图:;在一些系统里越界访问可能导致动态错,系统强行终止出错的程序。越界可能破坏本程序的数据/程序本身/其他软件,甚至 是整个系统。 编程者要保证数组下标值的合法性,保证不越界。;这种写法只能用于数组初始化,不能用在语句里。 若定义时未初始化,外部和局部静态数组的元素自动初始化为0;自动数组处在不明确的状态。;说明: 数组必须先定义,后使用 只能逐个引用数组元素,不能一次引用整个数组 数组元素表示形式: 数组名[下标] 其中:下标可以是常量或整型表达式;数组的概念、定义和使用 数组程序实例 数组作为函数参数 字符数组和字符串 两维和多维数组 编程实例;6.2 数组处理程序实例;int cs[10]; 用cs[0]记录0出现次数,余类推。若c是数字,对应计数器加1可以写成: ++cs[c-0]; /* c-0正是对应计数器的下标*/;例1 筛法求素数 筛法是求素数的著名方法:用空间换时间,1亿以内的素数只需要十几秒的时间(如不考虑输出) 具体算法:取2开始的整数序列: 令n等于2,它是素数; 划掉序列中所有n的倍数; 令n等于下一未划元素(它是素数),回到步骤2。;假设NUM是给定范围: /* 建数组an,元素初始化1, 将an[0]和an[1]置0(它们不是素数)*/ for (int i = 2; i值不大于某个数; ++i) if (an[i] == 1) // i是素数 for (int j = i*2; j NUM; j += i) an[j]

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档