我们今天开始 来讲 C语言 程序设计
首先 我们来看一下 它的课程地位
对于 计算机科学等相关专业 我们这样安排
第一学期 学习 C语言基础
第二学期 学习 C语言程序进阶
第三学期 学习 一门面向对象语言 例如 java c++ python等
第四学期 学习 数据结果
第五学期 操作系统
最后 学习 编译原理 算法分析等课程
上图 将C语言相关课程标红 因为 C语言是最重要的专业基础课
第一张 C语言概述
主要包括
程序设计语言及C语言的发展
C语言初识及简单的C语言程序
首先 人与计算机 1997年 5月 国际象棋冠军 卡斯帕罗夫 与 巨型计算机 深蓝来了一次人机较量
最后深蓝计算机 获胜了
2011年 举办的 第一次 人机智力问答对决
IBM的超级电脑 Watson 对决 哥伦比亚广播公司的益智问答节目 (危险边缘) 的总冠军
奖金高达 一百万美元
面对主持人 提出的各领域 稀奇古怪的问题 Watson 以大比分领先
不是人喃不聪明 而是电脑太强大
电脑的胜利 本质上 也是人脑的胜利 是无数人类专家智慧的结晶
因为 计算机拥有强大的存储能力
可以根据既定的程序 进行高效的运算
1 程序设计语言
首先 我们要提到 美籍匈牙利科学家冯·诺依曼–“计算机之父”
二十世纪三十年代,人们被十进制这个人类习惯的计数方法所困扰。那时以研制模拟计算机的呼声更为响亮和有力
以研制模拟计算机的呼声更为响亮和有力。
冯·诺依曼主张抛弃十进制,采用二进制作为数字计算机的数制基础。
尤为重要的是 他提出了 (存储程序) 的思想 就是 预先编制程序 将程序存储到计算机内部 自动运行
这是计算机发展的里程碑 标志着 计算机时代的开始
程序与指令
首先 什么是程序?
程序一词来自生活,通常指完成某些事务的一种既定方式和过程
在日常生活中,可以将程序看成对一系列动作的执行过程的描述
就好像 把大象装冰箱 需要几步一样 从第一到最后一步这个既定的 动作过程 就叫程序
而计算机中 程序就是 为了解决某些问题 或 实现某些操作 编写的一系列有序的指令集合
那么 问题又来到什么是指令呢?
就好像 老板命令秘书 做什么 做什么 这就是指令
而 程序中的指令 就是 程序员 给计算机下达的任务指令
完成程序的功能 就是 这些指令被逐条执行
所以 程序 就是 为了让计算机完成某些操作 而编写的一系列有序指令集合
而 计算机处理一套业务 例如
52 + 33 + 543 =
例如 这个算式
计算机程序的处理就是
Input a; 输入 第一个数据值 到a单元格中
Input b; 输入 第二个数据值 到b单元格中
Input c; 输入 第三个数据值 到c单元格中
add a b d; 将 a b 相加的值存入d中
add c d d 将 c d 相加的值 存入d中
Output d; 输出d的值
可能 大家会觉得麻烦 但其实 这一句是简化后的汇编语言
程序设计语言的发展
它分为 这样几个阶段
最开始 计算机 机器语言程序 这个时候 程序要就是 通过 0 1串进行编程
之后是汇编语言 相对加入了 MOV ADD 等关键字 更加方便理解
目前市场提供我们使用的 都是高级语言 但这些语言 计算机是看不懂的
需要用编译系统 帮助计算机翻译代码
总结一下 计算机语言发展 有一下几个阶段
机器语言
汇编语言
高级语言
而高级语言 分为两大类 面向过程编程 面向对象编程 两大类
常用的高级语言也是数不胜数
C语言的发展与特点
20世纪70年代初期,在贝尔实验室开发出的一种广为使用的编程语言
说到C语言 必须提起两个人
Ken Thompson : Unix时代的开创者
Dennis M. Ritchie : C语言之父
C与UNIX的诞生
1969年,ken设计了一款电子游戏–“Space Travel”
游戏在一台废弃的PDP-7小型机上开发
Ken决定先给PDP-7开发一个新的操作系统,命名为“UNIX”
在开发第一版Unix的过程中,Ken还开发出一种新的语言,即C语言的前身–B语言,
Dennis M.Ritchie主动加入,在B语言的基础上设计出了“C语言”重写了 Unix。
旧版的Unix与C语言完美结合在一起产生了新的可移植的Unix系统。
开启了轰轰烈烈的C与Unix的传奇时代。
1983年,因为UNIX和C语言的巨大成功,ken和dmr共同获得当年度的计算机界最高奖, 图灵奖
ken和dmr 被尊为 黑客的鼻祖
黑客故事:贝尔实验室的高手们发现Ken总是很容易就取得了他们的帐户权限,为此郁闷的十几年,无法破解。
这里 所指的黑客 并不是如今 我们所说的黑客
他们未对UNIX和C语言申请任何版权或专利
UNIX和C语言是黑客世界里两大神器
当时 所指的黑客精神是
做事情以兴趣为出发点,并不在乎未来会怎样
极富创造力和钻研精神,喜欢迎接挑战
乐于分享,不计回报
C语言的发展
起源来讲 它是 Unix的副产品
它的标准化 是因为
准化
C语言不断发展扩充,出现很多“方言”,美国国家标准化协会开始制定了新的C语言标准。
其中包括 C89标准;C99标准
C语言对现代编程语言有着极大地影响力,许多现代编程语言都借鉴了大量C语言的特性,
如:C++、JAVA、C#、Perl、Python等
虽然 C语言已经非常久远 但在各时期报表 基于C语言是想的语言 以及C语言本身 数据都是名列前茅
C语言的优缺点如下示意图