问题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

最新文章

  1. poj3522 kruskal+枚举
  2. nsenter into docker. selinux(semanage,restorecon)
  3. SharePoint自动化系列——Select-option标签的定位方法总结
  4. cdoj 851 方老师与素数 bfs
  5. javaScript DOM编程
  6. java多线程:并发包中的信号量和计数栓的编程模型
  7. 动态加载故事storyboard
  8. [Bhatia.Matrix Analysis.Solutions to Exercises and Problems]ExI.4.1
  9. php接收二进制数据流转换成图片
  10. java_method_Log输出日志的方法
  11. Date 和 SimpleDateFormat 类表示时间
  12. mysql配置主从数据库
  13. (NO.00002)iOS游戏精灵战争雏形(四)
  14. 面向对象之七大基本原则(javaScript)
  15. 原生js封装插件
  16. 使用python调用其他脚本
  17. Ztree的onClick和onCheck事件
  18. Linux平台上轻松安装与配置Domino
  19. pycharm 破解密码
  20. Django中cookie&session的实现

热门文章

  1. input 和button的区别
  2. SpringMVC 框架系列之初识与入门实例
  3. Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值25元的破解
  4. 第三篇:爬虫框架 - Scrapy
  5. Poj2723:Get Luffy Out
  6. tp5 提升性能的几个方法
  7. Attempt to invoke interface method 'boolean java.util.List.add(java.lang.Object)' on a null object reference
  8. 13.MySQL(一)
  9. asp.net中http接口的开发
  10. Java设计模式(六)Adapter适配器模式