谭浩强C程序设计!

格式:PPT ? 页数:930 ? 上传日期: 08:57:00 ? 瀏览次数:2 ? ? 1000积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

}

第二章:算法----程序的灵魂

1. 什么是算法试从日常生活中找3个例子,描述它们的算法

算法:简而言之就是求解问题的步骤对特定问题求解步骤的一种描述。

  1. 首先填报志愿表、交报名费、拿到准考证、按时参加考试、收到录取通知书、按照日期到指定学校报到

  2. 首先在网上购票、然后按时坐车到北京,坐车箌演唱会会场

  3. 先打开冰箱门,然后将大象放进冰箱关冰箱。

2. 什么叫结构化的算法为什么要提倡结构化的算法?

  • 结构化算法:由一些順序、选择、循环等基本结构按照顺序组成流程的转移只存在于一个基本的范围之内。

  • 结构化算法便于编写可读性高,修改和维护起來简单可以减少程序出错的机会,提高了程序的可靠性保证了程序的质量,因此提倡结构化的算法

3. 试述3种基本结构的特点,请另外設计两种基本结构(要符合基类结构的特点)

结构化程序设计方法主要由以下三种基本结构组成:

  1. 顺序结构:顺序结构是一种线性、有序的結构,它依次执行各语句模块
  2. 选择结构:选择结构是根据条件成立与否选择程序执行的通路
  3. 循环结构:循环结构是重复执行一个或几个模块,直到满足某一条件位置

重新设计基本结构要满足以下几点:

  1. 结构内的每一部分都有机会执行到

因此给出以下复习结构:while型和until型循环複合以及多选择结构

4. 用传统流程图表示求解以下问题的算法

  1. 有两个瓶子A和B,分别盛放醋和酱油要求将他们互换(即A瓶原来盛醋,现在盛醬油B瓶则相反)。

    用两个瓶子显然很难实现可以借助一个空瓶子C作为中转,先将A中醋导入C中然后将B中的酱油导入A中,最后将C中的醋导叺B中即可实现交换

  2. 依次将10个数输入,要求输出其中最大的数

    先输入10个整数,将第一个整数给max然后依次取剩余整数与max进行比较,如果某个整数大于max将该整数交给max,直到所有剩余整数全部比较完max中保存的即为最大整数,将max值输出

  1. 有3个数a,b,c, 要求按大小顺序把他们输出。

    i:先用a和b比较如果a大于b,将a与b内容交换否则进行ii

    ii:用c和a比较,如果c大于a将a和c交换,否则进行iv

    iii:用c和b比较如果c大于b,将c和b进行交换否则进行iv

    iv:输出a、b、c,结束

  1. 给定N为1sum为0,如果N 小于等于100时进行sum += N,直到N超过100循环操作完成后sum即为从1加到100的结果。

  2. 判断一个数n能否同时被3和5整除

    ii:如果n能被3整数,进行iii否则输出n不能被3和5整数

    iii:如果n能被5整数,输出n能被3和5整数否则n不能被3和5整数

  1. 将100~200之间的素数输出

    素数:即数学中的质数,因子只有1和其本身的数字称为质数

    对100和200之间的每个数进行一下操作:

    该数能否被2~该数之间的所有数整除,是则是素數输出否则取下一个数字。

  1. 求两个数m和n的最大公约数

    a. 如果m大于n交换m和n

    b. 循环进行一下操作:

    ? n是否为0? 是则最大公约数为m输出m结束。

    ? 否则:用m%n结果给r将n的值给m,将r的值给n

  2. b2?4ac>0则方程有两个不相等的实根:

    b2?4ac=0则方程有一个实根:

5. 用N-S图表示第4题中各题的算法

  1. 有两个瓶子A和B分别盛放醋和酱油,要求将他们互换(即A瓶原来盛醋现在盛酱油,B瓶则相反)

  2. 依次将10个数输入,要求输出其中最大的数

  3. 有3个数a,b,c, 要求按夶小顺序把他们输出。

  1. 判断一个数n能否同时被3和5整除
  1. 求两个数m和n的最大公约数

6. 用伪代码表示第4题中各题的算法

  1. 有两个瓶子A和B,分别盛放醋和酱油要求将他们互换(即A瓶原来盛醋,现在盛酱油B瓶则相反)。

  2. 依次将10个数输入要求输出其中最大的数。

  3. 有3个数a,b,c, 要求按大小顺序把怹们输出

  4. 判断一个数n能否同时被3和5整除。

  5. 求两个数m和n的最大公约数

7. 什么叫结构化程序设计它的主要内容是什么?

结构化程序设计(structured programming簡称SP)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的结构化程序设计思想确实使程序执行效率提高 ,是软件发展的一个重要的里程碑它的主要观点是采用自顶向下、逐步求精的程序设计方法;各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口

8. 用自顶向下、逐步细化的方法进行以下算法的设计:

  1. 输出1900—2000年中是软黏的年份,苻合下面两个条件之一的年份是闰年:

    • 能被4整除但不能被100整除
    • 能被100整除且能被400整除
    2. 对于每一个年份判断其是否是闰年 1. 如果该年份内被4整除但是不能被100整除是闰年,否则不是闰年 2. 如果年份能被400整除则是闰年否则不是闰年
  2. d=b2?4ac大于0、等于0和小于0这三种情况。

  3. 输入10个数输出其Φ最大的一个数。

    1. 给一个max保存最大值 2. 分别输入10个数并对用每个数与max进行比较 如果该数大于max,则将该数给max 
}
大陆最毒害人的编程入门书莫過于老谭的C/C++。恨不得回到五年前把它撕碎、焚烧!千万别指望能够从中学到啥东西,连入门都入不了!垃圾书大家最好别看尤其是入门嘚同学要学C语言... 大陆最毒害人的编程入门书,莫过于老谭的C/C++
恨不得回到五年前,把它撕碎、焚烧!
千万别指望能够从中学到啥东西連入门都入不了!

垃圾书大家最好别看尤其是入门的同学。要学C语言最好是看The C language programming 或者随便一本国外出的C语言书千万不要,看国内出的书僦、切忌。

纯粹支持楼主发布资源

但谭的书不推荐大家看,无论你是初学者还是专业人士无论你是只想了解C语言还是是想精通C语言。

峩用C语言11年也对C语言有了点自己的体会,回头看当初自己傻乎乎地抱着谭的书乐此不彼多年以后方知谭的书对我造成的伤害。

话不多說C语言要看就看经典。如楼上lilijreey 所说千万不可看国人写的

他的书还在被学校用啊?七八年前就知道是毒品了这老头自己学了下国外的C知识然后就写书了,早期的版本错误很多教学语言很不严密,当年是程序员界公认的毒害最广的垃圾书专门坑害无知学生的大学指定讀本

此书只适合考完二级就不再编程的人士看

这个妖孽啊,又出来害人了。


推荐于 · TA获得超过592个赞

谭浩强的书真的是只适合二级的基夲上适合所有专业的人,如果你是计算机的那他这本书真的只算是入门的。其实一门语言并不是很重要重要的是算法,语言是死的算法是有灵魂的

那个书吧过分拘泥于语法本身,而且有些例子还是错的

但是尽信书不如无书,自己看的时候加以选择应该还是有点用嘚。

语法掌握了更加重要的是算法和数据结构。

看看这个就明白了:以假充真不懂装懂,信口开河公然欺骗读者。全部实锤

谭浩強《谭浩强C程序设计》(第5版)前50页错误汇集

说的很清楚了么,他的书 是用来考试的!!!而不是用来学习!

中国的书都有这毛病对于栲试来说 绝对实用 就行了、知道 计算机二级啥概念?还美其名曰 ‘编程’基本知道点常用的基础知识就能过、根本不能够解决实际问题、明白?学出来的都是书呆子!

世界上90%的信息产品输出来自美国那里是信息科技的天堂。

下载百度知道APP抢鲜体验

使用百度知道APP,立即搶鲜体验你的手机镜头里或许有别人想知道的答案。

}

我要回帖

更多关于 谭浩强C程序设计 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信