粉丝5.4万获赞29.5万

一提到谭浩强的 c 语言程序设计,评论区就容易炸,好像大家对这本书的争议都比较大,于是我找到了这本书,看看究竟是怎么回事。 里面关于 c 语言的讲解确实存在一些误区,我随机挑选了几个。首先关于慢函数的返回值,书里面几乎都是没有写,最后也没有返回,有些地方直接写的 void, 而 c 标准也明确规定慢函数应该长这样,有个 int 类型的返回值。 第二个关于自增预算符,书里面有很多 i 加加, i 加加加 i 加加,这样的写法也确实在期末考试的时候让不少同学栽了跟头。这种连续的加加行为在 c 元中属于未定义行为,换个 b、 e、 g 可能结果就不一样。开发中也应该尽量避免这样的代码, 类似这样炫技的代码还有很多,比如这样的一个表达式,里面融合了加法、赋值、逗号表达式,写这样的代码,领导指定饶不了你。不过这样的代码没有语法错误,作为教学讲解某个知识点也没什么大问题。 第三个关于指征数组 a 和指征 pa, 让 pa 等于 a 没有问题, pa 指向了数组的第一个元素,但是下面的描述是数组名表示数组的首地址固可赋予指向数组的指征变量 pa, pa 只是指向了数组的第一个元素,跟指向数组完全不是一个意思。第四个还是关于指征高级指征, 这里提到 a 加 i ai, 新括号 a 加 i 取地址 ai 零是等同的,这里的 a 是 二维数组,可能作者想表达的是它们的值是一样的,但是直接说等同的还是有点不妥。 六个关于数值指征。数值指征变量说明的一般形式为,类型说明符星号、指征变量名。并且下面还附上一句,从一般形式可以看出,指向数值的指征变量和指向普通变量的指征变量的说明是相同的。 这里也存在较大的问题,数族职称和普通职称差距还是比较大的。当然这本书我也没有详细看,可能还有其他表述不当的地方,这也导致了一提到这本书,评论区就容易暴躁。不 过放在二十多年前国内计算机教材极度匮乏的时期,这本书以浅显易懂、价格低廉的特点,确实也极大推动了 c 语言的普及,让无数人得以入门。

谭浩强 c 程序设计第五版笔记和课后习题详解,正在学习这门课的宝子们可以看下,对复习和考试涨分都很有帮助的。

啊,今天我们终于开始讲第一集了啊,可能中间的这个顺序我会稍微打乱一下,因为我看了一下他好像这本书,嗯,就是怎么说呢,有点像那个什么动作都没教,什么招式都没教上来。先跟你讲 这个武功就是一块打慢,就是用你最坚硬的地方去攻击人家最薄弱的地方,就讲了一堆这种 比较喜欢上的道理。那这一堆道理呢?我觉得如果你学过一段时间,回头再来看,可能会体会深一点,但是一上来就讲这些东西可能 不是很明白。第一张第二张基本上都是有点这个概念,程序啥的都没讲,代码倒是不少,然后还有一堆的行啊,上的什么罗 手机啊,什么设计方式啊,类似于设计理念这种概念,所以新人可能看头两张就已经 特别不好理解的。第三第四张突然一下憋憋不住了,塞过来一堆的基础语法。那可能跟谭老师认为这些东西烦恼简单一些,他可能迫切的烦恼想跟你们讲一些他自己的体会, 所以对入门来讲我可能会调整一些这个顺序和讲的方式。嗯,第一章我还是会这样讲的,但是从第二章开始的可能我就会, 嗯,按照自己的方式调整一下。所以如果你们在听我的课的时候,呃,可以先不要看那本书,或者你看过书的时候先把这本书放在一边,直接听我讲完这一这一陆续的东西,讲完之后 心里有概念了,回去再去看这本书,然后你可能有些地方就能串起来,也许我讲的顺序啊,我讲什么跟他都是不一样的, 但是你听完了之后回头再去看,这一点可能就能捡起来啊,我用我的方式尝试着这么讲一下吧,至于哎有没有效果大家反馈一下啊。 第一章呢,还比较简单,第一章这个这一节我就当历史讲啊,这些出遣的概念吧。 什么是计算机程序呢?书上是这么讲了一下。什么叫计算机程序,一组计算机呢?识别和执行的指令,只要让计算机执行这个程序,计算机就会自动的有条不稳的进行工作,计算机的一 一切操作都是程序控制的,离开程序计算机将一事无成。哎呀,这个怎么理解?这个程序我们可能平时都讲了很多啊,当时讲的运行一下程序啊,运行一下什么?这个 程序到底是什么东西呢啊?计算机是最傻的,天底下最傻的也是天底下最老实的,你叫他这么干他就一定会这么干,一点想法都没有,他会踏踏实实忠实的执行你所有的想法,你叫他往右他绝不往左,你叫他往东他绝不往西。 所以呢你这个跟傻子讲话你就得这么讲啊。湖南台那个骑士大兵还记得吗?那哈里有去去走亲戚啊,给他两块钱叫他去亲戚那里啊,一块钱买甘蔗, 一块钱做中巴是吧。啊,去那里的时候看到中巴直接做,这就是傻子的做法,这个就是程序, 你教他干什么事情啊?遇到什么事情怎么做?这个就是程序,计算机呢,就是这个傻子计算机特别傻的一个玩意,你教他怎么干就怎么干,所以学计算机学久了的人呢也会变傻。哎,我们都知道的,那个 回去买几个苹果,如果看到西瓜就买一个,那他就是这么傻。哈哈。这个看到苹果就买三个,看到西瓜就买一个。这个完全匹配计算机 执行程序的问题,所以自算计算机是不会出错的,要出错就是你的,你的程序有错,你这个程序有奇异,他就会出错。所以程序这个概念呢?哎, 你们自己考试就考试吧,背,如果要怎么背,那就你们自己背吧,反正理解一下。你去找领导干什么事?领导说这个事情可以啊,但是我们要按程序来办。是不是程序代表着什么?就是死板,流程 就是一种规范的比较死板的流程,该怎么来就怎么来,他不会那么灵活变通的,如果他很灵活类,只能说明程序设计的比较灵活,但是程序这两个字代表的就是什么东西了, 小孩子就变成了那个什么呃,块去加他就是这样的。你现在去看一下幼儿编程,他第一步是干什么?就是让这个人从这一头走到那一头,你得先往前走三步,然后右转,往下走两步,再左转往前走三步,这就是成语 程序就这么死板,那个计算机就那个傻子,你让他多走一步,他就多走一步,前面是悬崖,他也掉下去了啊。这个。所以程序就是什么?就是叫傻子干活的东西, 你就是教这个天底下最傻的电脑干活,所以你就要写程序,所以电脑厉不厉害?电脑厉害个屁,最厉害的就是你们写程序的人,你的程序写的好嘞,电脑就聪明的很,程序写的傻嘞,他就比比傻子还傻。 那什么是计算机语言?计算机语言就是人和计算机交流信息的,计算机和人都能识别的语言。 哎,这个怎么讲呢?计算机语言其实就是计算机这么傻,傻子也 傻子的语言吗?是不是你跟傻子说话就只能用这几个语言跟他讲?你跟他讲一堆什么道可道,非常道,名可名非常名,什么?你要认识自我和本我什么这些东西傻子是听不懂的。你跟傻子说话就只能说这个, 哎,一块钱买甘蔗,一块钱做做梦吧,你就记住这两个事情就行了啊,或者傻子的语言里面就只有只有记住啊,不能让别人摸你的口袋啊,不能把你钱拿走啊,他就只记得这几个东西,你就只能让他记住这几个东西。 那所以你跟计算机这个傻子讲话呢?你就只能记住这些词语和那么几个固定的逻辑设计方式,用这些东西来教跟他讲话,抛开这些东西他听不懂的,计算机语言就是这么个事情。 当然傻子还有很多种,英国傻子,法国傻子,美国傻子,是吧,你得用他的语言跟他讲话。哎,计算机语言就这样的,还有哑巴傻子呢,你还得用手语是吧?啊,所以这个这个,这个计算机语言就是跟这个计算机傻子交流的语言。 这个叫你傻子,有有利利克斯的吧,有尤利克斯的吧,有温诺斯的吧?啊,有马克的吧,那你跟这些人就要用不同的 不同的傻傻子语言交流啊。这个傻子语言也不多啊,就这么一点东西啊,这个计算机语言就这么事, 但是你要用这么傻的语言来表达出这么丰富的内容,比如你用用手语来跟一个聋哑人,你用手语来表达一本这个悲惨世界,那当然很难呀,是不是 这个烦恼更加考验你的工地的其他救援几个发展阶段?第一个阶段就不用说了,最早的了。那你知道就哪个条在这里打孔? 零二一啊,零二一啊,这个三个零几个一代表什么?四个零几个一代表什么?后面那个零和一就代表个数字,在后面那个就代表什么,这是记在心里的啊。这是最早的零和一 机器语言,就打孔就行了。所以严格来讲那个发泡机的时候滴滴答答那个也也是一种语言呢。是不是长短的符号?嗯, 然后这样搞肯定记不住吗?也不好表达吗?所以后来就有了符号语言了。符号语言像会编这样的,哎,他就有从他就能 近乎于人的方式来表达了吧。至少不是三个零,一个一代表加法,后面两个数代表要把这两个相加,他会写一个 a 的, a 的后面再是这个计算器里的数字取出来跟那个相加,这个就比这个好理解多了吧。 这个英文和数字是够清楚了,但是逻辑啊什么的都跟意念结合的比较紧密,然后要记得指令也特别多,而且每个的指令都不太一样,直到后来就有了这个高级语言了。 高级语言这个我就不多讲了,这个因为我也不强,哈哈。什么什么会编语言?这个我只是稍微的以前玩过一点点,或者你们在学校里到时候会觉得 我要大面积光学,大面积的可能会会会接触到一些,但是你要把整体这个搞出来其实还挺复杂的,然后再到后来就高级远了, 高救援,其实你要知道我们今天还讲什么生意语言佳话,什么看起来好复杂,这么多东西,其实他已经比前面那个东西不知道先进了多少倍了。 就是一个函数,函数里面调用函数命名,可能用基本上能用你认识的那个方式去表达,比如说这是个 a 的函数,那我肯定知道加法吧,后面一个参数 boss 和一个色坑的,那我就知道是第一个加第二个,是不是 啊?你是在 a 的都不会,英语都不会,我就积压加啊,这个函数积压加 fr 加法是不是?然后你们是 加速和被加速两个秘密,那不就明白了吗?你看这多好。所以高级语言比起前面的那个进展来讲,其实就,哎,真的是不知道高多少,高级了多少了啊。现在我们都叫 包括这个软件这个事情的发展,现在都还有了什么叫结构化的,非结构化的,面向对象的,其实从意识形态和形案上来讲 发展了很多了啊,已经发展的非常多了,那现在我就不在这个地方吹太多了,吹太多了,讲的好像有点 又容易错,然后又容易显显得自己有多无知啊。这个这个东西你们现在大概了解,有这么个发展过程就行了,如果有机会的话,你看你想象一下让您会编的写的话,你就知道有多痛苦了。 简单的写一个开关控制都要写的你想死,那你就知道像 c 语啊什么的写这个东西他进步到了什么程度?包括现在的拍摄啊,或者什么的那些结实啊, 这些让你写的很爽的。这个语言的发展就这样,越早的语言就越贴近于傻子语言,就你为了跟那个傻子说话,你得完全理解这个傻子了 啊。来来来,哦,勾走勾走啊,然后哦,左边,左边,左边,右右右右,然后,哎呀啊,好痛痛。然后怎么说?你得完全用他的语言跟他讲, 语言越来越发展,越来越发展,你看发现这个语言就开始偏向于用我们的语言,且用我们的语言讲,他也能听得懂的,说明这个傻子就进步了嘛。啊,我就说往左边,然后你再往右边,然后买个冰棒就回来, 他也听得懂的。哎,所以这个傻子经过了一九六几年到现在五六十年的发展,这傻子还是有进步的啊,你一开始跟傻子讲话多少 是多傻,他要念零一代表主啊,零一,然后零零一啊,他只能听懂这个,你说这傻子啊,现在就不一样了吗?是不是?所以这个傻子进步就代表着我们人类审视,所以语言就会变得越来越简单。

大家好,今天我们看整形数据的一出,所谓一出,也就是这个数超出了整形所能表示的范围。 比如我们所说的整形,也就是短整形,他所表示的范围是负三二七六八到正三二七六七之间。那么如果超出这个范围会怎么样呢?我们拿一个例子来看一下。 定义整形 a b, a 的指是三二七六七, 也是整形所能表示最大的数, b 等于 a 加一,这样 a 加一的值已经超出了 整形 b 所能表示的范围。我们打印一下看看。结果 a 的值是三二七六七, b 的值呢是负三二七六八加一之后变成了他所能表示最小的数。 我们分析一下,为什么 在计算机中数据都是以补码的形式存储的,所谓补码 是第一位表示符号位,第一位如果是零,表示为正数。第一位如果是一,表示为负数,那么三二七六七 七在计算机中存储形式为零十五个一,因为第一位零代表的是正后边呢,是他的数据的大小,如果加上一后变成一十五个零, 这样画呢,他的第一位是一,这个数变成了复制, 然后我们根据补码到原码,通过取返加一得到,那这样原码到补码呢?我们是减一取返的原则, 这是减一取反的原则,那么我们得到一十五个零,他的值应该是负的三二七六 六八, 这个好好分析一下哈。补码到原码取返,再加一 原码到补码减去一,再去返。所以呢,这个一五个零,他是补码,他的值表示的是负的三二七六八。 这是我们看的根据计算机在内存中存储的方式来具体的研究了,为什么三二七六七加一变成了富的三二七六八。


大家好,随着计算机在各行各业的普及,计算机已经成为当代大学生的必修课, 而谭浩强老师的习语言也成为当代大学生学习软件编成的必选课程之一。 我们和大家一起把唐浩强老师的新语言程序设计第五版学习一遍,希望对大家在学习软件的路程中有一定的帮助。 我们首先看书里面的立幺零幺,这个程序的开头呢,第一行是井号 i, s, c, l, u, d, e, 然后加号 s, t, d, i, o 点 h。 第一行中的 i, s, c, l, u, d, e 是变异玉处理命令, 他后面调用的是 stdio 点 h, 调用的是标准的输入输出函数的头文件。 在这个 s, t, d, i, o 点儿 h 中,它具有常用的输入、打印等语句,翻译成英文就是斯丹达的音普的奥特普特标准输入输出。 我们在写序员的时候,第一行基本都把这个语句来写,上来时序员具有正常的输入和打印的功能。 如果我们不理解呢,就简单理解为每个信源的第一行都写这个标准的语句。随着我们的学习,对后面的主见进行了解。 第二行 i n t m a i n 括号,那么这里面的 m a, n 是主函数, 每个 c 元都有一个主函数,程序都是从主函数开始的,写法的是慢音。然后后面给你一个括号, 前面的 i n, t 表示这个主函数是整形,没有小分部分。 在主函说下面用大花扩起来,这是大花的开始,大花的结束 在大括号中是新语言的主,含出了主体。 最后一行蕊太灵,表示长期运行结束后半人储函数, 但反馈值是整数,是零,没有小数部分,因为我们在开头的时候,这个慢眼前面再来个 i n t, i n t 表示主函数的类型是整形,没有小数。 在这个程序中,我们在瑞特林后面加了一个注视,注视的写法是 斜线型号型号,斜线在这个中间写的内容是不起任何作用的,就是我们 的注视,说明 我们现在使用的新源的软件版本的是 tc 二点零版本不高,主要用了用来学习用。 我们看他的这个菜单,第一个呢是 fel, 那么我们可以用快捷键 lt 加 f 来打开菜单的文件。下集菜单里面有第一个是 load 吊用,也就是我们及时的打开,选择打开,可以打开当前目录下的西域岩的程序,比如说吊用力一点一,当然也 可以选择。六是新建,新建一个机缘的程序,那我写两个余字,然后呢按下一个保存, 可以给个名称幺零二确定,那么再新建一个,当我再次打开的时候,那么就要有有幺零二这个程序了。在这 然后还有一个是另臀外的兔,相当于另外屯一份幺零二二, 那么我们再打开,里面有幺零二和幺零二二,也可以说存一个备份指令存为, 这是文件菜单利文,我们经常用的。打开新建,保存内存,我们拿幺零幺来举例子来做 下一个菜单,我们经常用的是 lc, 这个里面的第一个是 gobj, 他指的是在新语言执行之前,先把我们的程序进行编译, 所谓别人也就是生成电脑可以识别的机器代码,也就是二级的软件, 然后先编辑之后第二个生成 ei 的文件,也就是生成可执行文件。所谓 ei 的可执行文件,就是脱离开序员的 环境,也可以独立执行的文件。那么我们在执行之前一般先生成 ob 型文件,然后再生成可执行文件。 之后呢,我也可以用软预警执行这个程序,执行完之后没看着什么结果, 那么我可以用 l 的 f 五来查看运行结果 显示的打印语句,这是一个系的程序,然后按 esg 返回, 也就是我们机缘程序呢,可以在边一和 生成,可直径每天之后用乱直行,当然我们也可以按盘出来不久 ctrl f 九是一样的,也可以 sf 五查看结果,按 ds 系返回, 这是对一个戏缘程序一般的操作方法。

同学们大家好,我们通过上一章的学习,对 c 语言呢有一个简单的认识,我们写了一些简单的 c 语言的程序,那么这一章呢,我们要对 c 语言的进行一个深入的学习, 我们看一下第二张算法啊,我们说他是程序的什么灵魂,那我们要想写一个比较好的程序,那就是这就是咱们说的什么算法。 首先大家看一下,我们在第一章啊,给大家说了一个什么概念,程序啊,程序。那么要想写一个好的程序,写一个好的程序,那这个程序呢,包括两方面的内容。在第一章大家知道了这个程序的什么概念 啊?知道程序概念,那我要想写一个好的程序啊,好的程序它包括两方面的内容,第一个就是在程序当中对数据的一个描述, 比如说我写这个程序,首先要对这个数据进行一个描述,那么数据的描述包括哪些内容? 在第一章的学习当中,大家知道我首先呢,我要写程序的时候,我用到程序当中,我用到哪些函数,那我要对这些函数呢进行一个什么定义?比如说我用到的函数是整形的还是实形的,还是自服型的,我都要进行定义, 那么这些就是咱们说的什么对数据的一个描述,我们对数据的描述指的是这些数据的什么,我用到哪些变量, 以及他相应的数据的类型啊?这就是咱们说的什么数据结构啊?数据结构。第二点,我们有了这些数据结构之后,有了这些数据结构,那么就是咱们说的什么算法, 算法,那么到底什么是算法呢?我给大家举个例子,比如说咱们大家都做过,在家都做饭是吧?做饭我有了这些什么材料,比如说我买过来好多的蔬菜, 买过来这些蔬菜之后呢?我要做什么?做菜,那么蔬菜相同的蔬菜做出来的味道是不一样的,做出来的菜也是什么也是不一样的。这就是说我们有了这些数据啊,有了对这些数据和它相应的描述之后, 那么我们写我们写出来的算法是不一样的啊。我给了数据之后,我要想写这个程序,那不同的人对这个写的算法是什么是不同的。所以咱们经常说说,你写这个程序很好, 结果是一样的,但是程序的写的过程是不一样的。有的人我们会说说你这个程序写的很好,你这个程序啊,写的太复杂了啊,太复杂了。在这个程序当中呢,有一些 我们认为不必要的语句,这就是什么?不同的人对于数据结构是相同的,但是他所使用的算法是不同的,所以那么程序就不一样。有的程序我们认为是一个很好的程序,有的程序我们认为不太好 啊,不太好。 所以咱们说 数据啊,是操作的什么对象啊?数据操作对象,我们有了这些数据啊,有了这些数据,那么我们操作的目的是什么?是对这个数据进行什么加工和处理,得到期望的结果。 所以一个著名的科学家给出一个公式,什么公式啊?程序就是算法加上数据结构,或者咱们说程序就是数据结构加上什么算法,也就是我刚才给大家解释的啊,给大家解释的,那么有了 数据结构了啊,有了对数据的相应的描述,大家再回忆一下,咱们在第一章的时候,那简单的 c 语言的程序给大家介绍了,那这些简单的 c 语言程序当中 呢?我们看到了,在程序的开始,首先我就要对我用到的这些数据进行一个什么描述啊?用到的这些数据进行一个描述,这就是什么数据结构,那么描述完之后,我紧接着要写程序了,这就是咱们说的什么算法, 所以算法加上数据结构就是咱们说的程序啊,那还是刚才那句话,相同的数据结构用的不同的算法啊,那写出来的程序也是不一样的啊,不一样的, 所以咱们说说,有的人呢,写出这个程序很好啊,很简练,很简洁,但是有的人呢,虽然是结果是一样的,但是他写的程序的用的方法太复杂啊,那这就不是一个好的程序,那我们看一下,我们要写 如何才能写一个什么呀?好的这样的一个程序。呃,在程序当中,除了刚才我给大家说的算法和数据结构以外啊,还有什么程序设计的方法和语言啊?还有语言,你就说我 有了数据了,我在写什么?哎,我有了这个算法了,那么我们要用到程序设计的什么方法啊?程序设计的方法和相应的语言和相应的语言,这样的话我才能写出一个好的 程序,比如说我现在我们用到的这个语言就是什么呀?就是 c 语言,你就说你同样的有数据了啊,有算法了啊,有数据了,有算法了,那么我想写这个程序啊,我用什么语言来写?这也 是你所要选择的啊,算法、数据结构加上程序设计方法和语言工具啊,这样的话就是我们作为一个程序设计人员所要具备的啊,这几点啊?需要具备的这样几点? 所以我们说算法是解决做什么和怎么做的问题啊,就是程序当中的基本的操作语句啊,基本操作语句, 这个算法是什么?是灵魂啊?因为我刚才说了,你不同的算法,不同的算法,那有的人用的算法,人家很简洁,这个程序就写完了,而你呢?虽然也能 求出这个什么呀,写出这个程序的结果,但是算法很拖拉啊,很拖拉,所以我们说那算法是什么?是灵魂啊?是灵魂。 好了,下面我们看一下。嗯, 第一节的内容啊。第一节呢?什么是算法啊?第一节什么是算法?算法啊,我们从广义上说就是为解决一个问题而采取的方法和步骤,我们把它叫做什么叫做算法 啊?你比如说我要进行一个求一加二加三,一直加到一百的和,那么你这个来怎么来解决这个问题 啊?所以咱们说是什么呀?采取的方法和这个步骤,这就是什么算法?那不同的人的算法是不一样的,比如说我要做这道题,那我可能是一加二啊,再结果是三三,再加什么?再加三啊?那六六再加什么四啊?我这样一个一个 计算出来,那爷爷可能有的人是什么?我一百,一百加什么?一百加上一加九十九啊,这是一个啊,就一加九,这是一个一百,然后二加九十八,这又是一个一百,我这又是一种算法, 结果是什么呀?是一样的,但是采取的算法是不同的啊,所以我们说啊,那么算法呢,就是为解决问题啊,采取的方法和步骤,那么不同的人呢,对于同一个问题,不同人呢,他可能有不同的什么算法, 所以我们为了有效的进行解题啊,不仅需要这个算法的正确,就像我刚才说的,你说一加到一百,我怎么来计算,我怎么来写这个程序啊,怎么来写这个程序,他都可以实现,但是呢,你要保证这个算法的质量啊,算法质量 选择合适的算法,也就是咱们说最优的一个算法啊,最优的算法。 对于这个算法啊,我们在计算机当中呢,他跟你分成两大类,一个是数值的,一个是什么呀?非数值的算法啊,数值的和非数值的算法。大家看一下, 对于数值的算法,就是求什么数的数值的几,比如说求一个方程的根啊,求一个函数的定积分等等,都属于什么数值的运算的范畴? 我们在第一章当中大家看到了啊,那么这里边呢,我们再给大家举例子的时候,大部分都是什么竖直的啊,计算方法啊,就是竖直的运算方法。那么还有一种就是 咱们说的什么非数值的运算方法,这个非数值的运算方法呀,就是包括的就十分广泛了,比如说像我给大家举个例子,说我这是个公司管理程序,这是个火车售票系统啊等等,那么这些呢,都属于什么非数值的运算的方法? 实际上大家看到了啊,在现实生活当中啊,这个非数值的运算方法的应用啊,远远超过了什么?在数值方面, 学会计算机基础的同学都知道,计算机在研制的时候,实际上第一台计算机在研制的时候,实际上是为了干什么用的? 是为了做导弹的飞行轨道的计算,对吧?那么是对,是专业人员来使的,发展到今天呢,咱们这个计算机呢,在非数值 方面的应用越来越广泛啊,那么在数值方面的应用呢,相对来说就是一些专业人员来使用啊,专业人员来使用,所以我们说计算机在非数值方面应用远远超过了什么?远远超过了在数值方面的使用。 那么对于在数值方面的这个运算呢,他往往有现成的什么模型啊,所以可以运用数值的分析方法啊, 因此对数值运算的这个方法的研究比较深入,比较成熟。为什么?因为他有现实的什么模型啊?现实模型,但是对于数非数值的这个运算的方法呀,就没有,为什么?因为他的范围太广了啊,太广了,所以我们不可能有一个非数 数值的一个什么这样的模型啊,非数的模型是没有的,那么对于数值在运算啊,这样的模型是什么?我们是,呃,有的,他的算法呢,也是比较成熟的啊,就是我说的非数值的运算方法的模型呢,他的范围太广,所以我们没有办法 啊,对啊,对非数值的预算呢啊,建了一个什么呀这样的模型。 好了,我们看第二节简单的这个,呃,算法啊,我们看看,呃, 对一个问题的解决,我们的算法是什么样的啊?算法是什么样的?大家看我这道题呢,是求一乘二乘三啊,一直乘到五,求什么?求这样的一个啊?这几个数的乘积。 那么我们用最原始的方法来做这个题啊,用最原始的方法,我们来写这个程序。怎么写? 用最原始的方法写对程序,大家看第一步,那我就只能是先求一乘二的什么呀?哎,乘一乘二的几啊,一乘二的几,乘完之后得到结果是二,然后再把这个结果步骤一个结果,再乘以什么啊? 啊?再乘以什么?再乘以三啊,把,哎,得到二啊,然后再乘以三啊,那咱们就结果就是几了,就是六了,然后六再乘以几呢?再乘以四,对吧?就得到这个, 那么我这个二十四,再乘以五啊,这样的,那大家看一下,对于这样的一个一乘二,一直乘到五,这几个数啊?五个数,那五个数 的话,我要是写这个什么?写这个程序的话,写几步?写四步才能把这个程序怎么计算出来,是吧?计算出来,那如果要求一乘到一千乘这样的成绩,你怎么算?难道我要写九百九十九个步骤吗? 这显然是啥?这是,这,这不可取,这个这个算法呀太繁琐,就是我刚才说的,你说这样算下来,比如说这个数很少很小啊,就就几个数,很少很少,那行,那你能够把这个程序什么呀?你写下来,那当。

大家好,今天我们看例二点一八求五的阶层,五的阶层也就是一乘二乘三乘四乘五,那么他把他的机呢放到一个变量中,这个程序就结束了,我们看程序是怎么做的。 嗯,和以前一样,调用头文件五函数定义两个整形的边量 i 和 t, 那么 t 的初值呢?是一,也就 t, 也就是 t 放的是鸡,那我可以把第一个数放到 t 里面, 那么 i 控制的是循环的次数,那么刚开始的是二,其实我们可以从第二数开始成,因为第一个数已经放到题里面了, 那么判断微小是一个循环,下面这个大括号里边呢?是循环的字程序。 那我们看 vr 相当于,如果啊,如果 i 小于等于五,那么 i 现在等于二,它小于等于五,这个条件是满足了,成立就做这两条鱼就是。 然后呢, t 等于 t 乘以 i, 也就是把 t 乘 i 的值付给 t, t 是一 s 二,一乘二的值付给 t, 然后呢, i 等于 i 加一,相当于 i 加一,先做右半部分, i 加一的直付给 i, i 变成三, 然后到这个大块之后返回,返回到 wy 一句再次判断挨小于等于五吗?那现在挨的只是 是三,三小于等于五,那再把 t 乘 a 的值付给 t, 也相当于把三乘到这个 g 里面了,然后 a 再加一,变成四, 到大口号返回,四小于等于五做,然后呢记再加一等于五,五小于等于五也做,那也就是把四和五的记忆也乘到了这个 t 里面, 那当 i 再加一等于六的时候,六不小于等于五,那么这个循环结束,这时候呢, t 里面存储的就应该是一 乘二乘三乘四乘五的积,然后打印五的接乘,等于这个是原样输出的啊。把高 d, 把 t 的值带到这个位置换行,结果 左右是五的接成等于一个十,然后换到第二行,这是我们看的这个程序的运行,我们看他的结果是什么样?直行 结果是五的接成等于一百二十啊,这个程序是没有问题的。在这个程序里呢,我们主要接触了一个循环,循环语句就是 you, you 后面跟的是一个 条件,那这个条件如果是真的话,他下面的程序是做,如果这个条件是假的话,那下面不做, 那也就是相当于我们的这个如果,如果这个条件成立,就做下面的雨坠,如果条件不成立,这个循环就结束了啊,这是我们看的例二点一八。





大家好,今天我们来看例题三点二,这道题呢是计算存款利息,如果我们有一千一千元想存一年,有三种方法可以选择, 第一个是存活期,他的年利率是二十一。第二个是存一年期的定期,年利率为二十二。 第三种是存两次半年定期,年利率为二十三。那让我们分别计算出一年后按三种方法所得到的本息和。 我们先看这道题的解题思路,主要呢是确定计算本息和的公式,那么我们如果存款的额度为 p 零, 那么一年后的本息和为 p 一。第一种,如果存活期存款一年,本息和为 p 一等于 p 零乘以一,加上二一二一呢是年利率。 第二种,如果存一年定期存款,那么本息和 p 一等于存款额 p 零乘以一加上二二二二是一年期定期的年利率。 第三次呢是存两次半年定期,本息和 p 一等于 p 零乘以一,加上二三除以二。 因为我们存的是半年,所以呢用年利率二十三除以二。然后半年后,那么他的本期本金将 不是一千,而是一千乘以一,加上二三除以二。然后呢再去乘以后半年的利率一加上二三除以二。这是我们看的用三种方法计算的本息和。那么我们看具体到程序里面怎么写。 首先调用输入输出库 函数头 follows 的定义,单净度实行, p 零是一千元,二一呢是第一种, 纯活期的年利率是零点零零三六二二呢是存一年定期,他的利 率是零点零二五。第三种二二三,存的是半年定期,他的利率是零点零一九八。 那么 p 一、 p 二、 p 三分别是三种存法的本细和, 那么我们看第一种分活期, p 一等于本金, p 零乘以一,加上二十一。 第二种存一年定期, p 二等于本金, p 零乘以一加上年利率二二。 第三种存两次半年的定期, p 三,本金和 和尾七和等于本金, p 零乘以。由于存两次半年,所以第一次乘的是一加上二三除以二,半年后又乘以一加上二三除以二, 那这样的话呢,在半年之后存款的时候,他的本金就是再加上利息 的数,再乘以第二次的分集合那个免律率,然后呢打印一一等于 十,十型, p 二等于十型, p 三等于十型,那么分别量呢是第一 p 二, p 三,然后呢替换在引号里面的摆盘 f 亮点打出来了,三种方法的本集合,我们执行一下看看结果。 奥特阿富看着他们,分别是呢,一千零三点几几几,一千零二十五块几几几和一千零一十九块几几几啊,那这样的话呢,我们看还是存一年期的,定期是得到的本息和是最多的, 这是我们看的啊,求年利率,这个里提他主要呢应用的是我们使用了安全度实行定义, 然后呢计算了啊,这几种按照公式计算的这三种算法啊,算三种本集合的算法,然后打印的时候呢,我们要注意,第二呢 是按照实行打印啊,摆放 f, 这个是以前我们用的不太多的一个用的,以前用的是摆放 d, 多了一个类型,好,这是我们看的利益三点二。