听翁恺老师mooc笔记(16)--程序设计与C语言

问题1:计算机遍布生活的各个方面,若你需要一个功能可以下载APP,我们需要的大部分功能都可以找到对应的APP,如果没有可以自己写一个软件,但是很少人需要这么做,那么我们为什么学习计算机编程语言?

学习语言重要的不是写软件而是1)通过学习语言去理解计算机是如何工作的?2)计算机擅长做什么?能够做什么?擅长做什么?不能够做什么?

问题2:计算机是如何解决问题的?

比如你在餐馆,想要一杯水。那么如果你跟一个服务员交流,只需要告诉服务员:“请给我一杯水”,那么服务员知道怎么打一杯水给你,他会去厨房拿一个杯子,倒一杯水放在您的桌子上。但是如果你想让计算机为你做这件事情,可能没有这么好的自动化的程度。
你需要一步一步的告诉计算机如何去做:1)转身走到厨房2)找到一个杯子 3)找到一个水壶4)在杯子中倒入一些水5)拿起水杯走回桌子。
有的时候我们说计算机很聪明,很智能,其实计算机什么都不会,它只会做一件事情:就是你让它一步一步怎么做,它就一步一步做,并且你不让它做什么它肯定不会去做。而且计算机不知道怎么把这些步骤串起来,将这些步骤串起来这就是人需要做的事情。
所以面对一个人的时候,你需要告诉他:what to do,然后这个人就知道如何去做,而面对一个计算机,你需要告诉他:how to do。

问题3:那么如何告诉计算机做事情的步骤那?

当我们告诉计算机如何去做的时候,需要一定的方式,需要一些描述步骤的手段,这就是程序。1)程序是用特殊的编程语言写出来表达如何解决问题的2)使用编程语言告诉计算机如何一步一步解决问题的,不是和计算机交谈,是用编程语言写下要计算机完成的步骤,让计算机去执行。

问题4:什么交谈那?

比如在你电脑的桌面上看到一个软件,你想要运行它,那么使用鼠标双击打开,双击就是交谈的方式,是你命令它做事情,然后软件运行起来,可以看到这个软件里面的情况,这是软件给的反馈。但是编程语言不是用来交谈的,不会你说一句,它反馈你一下。

问题5:计算机懂什么语言?

计算机只懂01代码,屏幕上的数字是通过特殊的软件将编程语言转变过来的,二进制代码是计算机能懂的,编程语言是学过编程语言的程序员能懂的,而相应的文字是普通人能懂的,这些文字也就是算法,是告诉计算机做事情的步骤。

问题6:什么叫算法

1)要让计算机做计算,就需要像上述找出计算的步骤,然后用编程语言写出来,2)计算机做的所有事情都叫做计算,并不是只有加减乘除是计算,3)计算的步骤叫做算法。

问题7:程序设计语言有很多,例如java,python等,那么为何选择C语言。

参见为何选择学习C

问题8:C语言的简短历史

1)C语言是从B语言发展而来的,B语言是从BCPL语言发展而来的,BCPL语言是从FORTRAN语言发展而来的,FORTRAN语言是人类历史上第一个高级程序设计语言,在1950s年代。
2)BCPL和B都支持指针间接方式,所以C也支持了,对于C语言来说,指针是C语言的灵魂,指针是C语言成为C语言的重要的东西。
3)C语言还受到PL/I的影响,还和PDP-II有机器语言有很大的关系,显得在高级语言中C语言是比较底层的语言。
4)1973年3月第3版的Unix上出现了C语言的编译器。
5)1973年11月,第四版的Unix发布了,这个版本是完全用C语言重新写的。
6)《C程序设计语言》发布了经典C标准。
7)1989年,ANSI(美国国家标准协会)发布了一个标准ANSI-C,8)1990年,ISO(国际标准化组织)接收了ANSI的标准-C89,9)C的标准在1995年和1999年两次更新-C95和C99,10)最新的标准是2011年的C11。

问题9:不同的标准之间C语言存在什么差异那?

首先是语法上的一些差异,然后是能力方面的一些差异,比如C99可以在任意的地方定义变量等,目前所有的编译器都支持C99,当前的课程基于C99来讲述。

问题10:使用什么编译软件?

C语言在发展过程中,很多人为它做了开发工具,编译器,选择一个在window上都看可以使用的软件:Dev C++。Dev C++的官网网址是:https://sourceforge.net/projects/orwelldevcpp/ 。请一定养成良好的习惯,从软件的官网下载。安装时选择英文,第一次运行时可选简体中文。

如果是新版的mac系统,在终端输入gcc之后会有下面的提示:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
此时在终端运行下面这条语句,就可以了(安装完整版的xcode是非必须的)。
xcode-select --install

posted on 2017-09-08 13:44  niuxiaoxia  阅读(1570)  评论(0编辑  收藏  举报

导航