2017-2018-1 20179215 《从问题到程序》第六章

《从问题到程序》第六章读书笔记

这章主要介绍数组,通过实例对数组的用法进行说明。

一、数组的概念

 数组(array)是 C 语言中用于组合同类型数据对象的机制。一个数组里汇集一批对象(数组元素)。 程序中既能从数组出发处理其中的个别元素,也能以统一方式处理数组的一批元素或所有元素。 后一处理方式特别重要, 是由一批成员构成的数组和一批独立命名的变量间的主要区别。

二、数组的一个程序实例

例:求素数的一种著名方法叫“筛法”,其基本方法是取一个从 2 开始的整数序列, 通过不断划掉序列中非素数的整数(合数),逐步确定顺序的一个个素数。具体做法是:

  1. 令 n 等于 2,它是素数;
  2. 划掉序列中 n 的所有倍数(2n, 3n 等等);
  3. 找到 n 之后下一个未划掉的元素,它是素数,令 n 等于它,回到步骤 2。

现在要求写一个程序,输出从 2 到某个数之间的所有素数。

截图如下:

三、数组作为函数参数

在有数组参数的函数执行时,对形参数组的元素操作就是直接对函数调用时的实参数组的元素操作。

例:函数 rev 将参数数组中的元素颠倒位置,把最后元素与最前面元素交换,其余类推。截图如下:

四、字符数组与字符串

 字符数组就是以字符为元素的数组,可用于保存文本等。 由于人们常用C语言写与处理字符序列或文本的程序,C为处理字符数组提供了特别支持。

程序怎么才能从内部表示确定字符串结束的位置呢? 有了字符串末尾的空字符, 处理字符串的程序就可以顺序检查,遇到空字符就知道遇到了字符串结束。虽然空字符不是字符串内容的一部分,但却是字符串表示中不可缺少的部分。标准库的字符串处理函数都是基于这种表示定义的,我们自己写字符串处理程序时也应该遵守这种规则。

五、两维和多维数组

例:求乘积矩阵的元素 cij = ∑n k=1 aikbkj

六、练习

写一个程序,它能够计算并输出杨辉三角形(帕斯卡三角形)前面的 n 行。

posted @ 2017-12-31 21:27  20179215袁琳  阅读(475)  评论(1编辑  收藏  举报