翁恺老师 C 语言程序设计网课 (0)
1.1.1 计算机和编程语言
学习目的:理解计算机是怎样工作的计算机是生活中的必需品。 如果我们想要自己设计一些功能和行为,让计算机按照自己的意图做事,就需要写程序了。本课程的主要目的是通过学习编程,来理解计算机是如何解决问题,计算机的能与不能,pros and cons.计算机怎样解决问题?把大问题拆分成小问题分步进行人:what to do。比如告诉同桌开一下灯,他去把灯打开。计算机:how to do。同桌不知道如何开灯,你要和他说:走到开关前,按下开关,走回来……程序是用特殊的编程语言写出来表达如何解决问题的。我们不是在用编程语言和计算机交谈,而是要求它如何做事情,向它描述做事情的过程和方法。
(算法:我们想让计算机做计算,先要写出计算的步骤,然后用编程语言写出来。计算机做的所有事情都是计算;计算的步骤就是算法。)
1.1.2 计算机的思维方式
例:解方程 2x+6=20 , x∈(1,10)直接解方程对计算机来说太难理解了。计算机的思维:
枚举法代入 x=1,不行;代入 x=2,不行;代入……
二分法代入 x=5,小了;代入 x=7……
计算机执行程序有两种方案:
解释:借助一个程序,那个程序可以试图理解你的程序,然后按照你的要求执行
编译:借助一个程序把你的程序翻译成机器语言写的程序,然后计算机就可以直接执行了。
解释语言 vs 编译语言:语言本无解释与编译之分,只是常用的执行方式不同。解释型语言有特殊的计算能力;编译型语言有确定的运算性能。
1.2.1 为什么是 C?
在很多场合,C 语言是唯一的选择
现代编程语言在语法上差异很小,基本都和 C 接近
语言的能力、适用领域主要是由 库 和 传统 决定的。
1.2.2 简单历史
1969 诞生。FORTRAN→BCPL→B 语言→C 语言
1967 年,剑桥大学的 Martin Richards 对 CPL 语言进行了简化,于是产生了 BCPL(Basic Combined Pogramming Language)语言。1970 年,美国贝尔实验室的 Ken Thompson。以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言(取 BCPL 的首字母)。并且他用 B 语言写了第一个 UNIX 操作系统。在 1972 年,美国贝尔实验室的 D.M.Ritchie 在 B 语言的基础上最终设计出了 C 语言。因为 B 和 BCPL 都支持指针间接方式,所以 C 语言也支持了。C 语言还受到了 PL/I(和底层系统很接近,可以拿来做操作系统等)的影响,还和 PDP-II 的机器语言有很大关系 1973/3,第三版的 Unix 上出现了 C 语言的编译器 1973/11,第四版的 Unix 完全用 C 语言重新写的。
经典 C,又叫 K&R the C1989 年,ANSI 发布了一个标准:ANSI C1990 年,ISO 接受了 ANSI 的标准:C89C 的标准在 1995 年和 1999 年两次更新:C95 和 C99。现在的编译器都基于 C99 了,因此本课程也是。
1.2.3 编程软件
C 语言的用途:写操作系统、嵌入式系统、驱动程序(用来驱动 U 盘)、底层驱动、图形引擎、图像处理、声音效果(直接给我们提供数据的代码不是用 C 语言写的)一些底层的东西。C 语言是一种工业语言,由基础人员使用。所以:开发效率>>学习过程开发效率>>开发乐趣而在日常的应用中,很少直接用 C 语言编写。学习 C 的过程主要是写练习代码,而不是写真实软件。C 语言需要被编译才能运行,所以需要:编辑器和编译器(或者 IDE,Integrated Development Environment 集成开发环境,一个顶俩)推荐的编程软件:Dev C++。免费,安装简单,还不用建工程。
1.3.1 第一个 C 程序
在 Dev C++中:文件->新建->源代码
输入之前确保是英文输入!!!
梦开始的地方。可以先自己敲进去运行玩玩**上端显示星号,说明没有保存。Ctrl + S 保存并且记得选择.c 格式。编译之后再运行。**运行后出现黑色的终端,上面显示了结果。
1.3.2 详解第一个 C 程序
本课程中所有的程序都需要用到这一段框架(直到学函数之前)printf()会把" "内的内容(字符串)原封不动地输出,\n 表示换行。如果出现编译错误,会在下面用红色的 error 显示出来,而具体错误原因在下方窗口里。
1.3.3 做一些计算
%d 是占位符,说明后面会有一个整数输出到这个位置上。
版权声明: 本文为 InfoQ 作者【泾箐】的原创文章。
原文链接:【http://xie.infoq.cn/article/9d27ea57c925e50f63db7ddb5】。文章转载请联系作者。
评论