第1章 程序设计和C语言
发布时间:2021-06-08
发布时间:2021-06-08
计算机技术基础(C语言)
石波 @
为什么要学习程序设计? 大家都“会计算机”? 会打字? 会DIY攒电脑?
会上网,上“人人”,“QQ”? 会玩“愤怒的小鸟”、“水果忍者? ……
测绘工作者在学习计算机操作
那么,测绘行业的梦想是什么? 测绘就是把地球搬回家——刘先林院士语 90年代中期,王之卓院士提出了全数字化 测图系统 舍弃了光学和精密设备,用计算机完成整个过 程的工作,被认为是对传统测绘工作的一次革 命
数字地球、数字城市->智慧城市 测量机器人、车载移动测图系统
移动测图系统主要关键技术 车载平台的GPS/INS组合定位定姿技术
传感器间的高精度时间同步和空间同步( 空间关系精密标定) 多传感器数据融合 激光扫描仪数据形成点云数据(具有地理坐标 ) 点云数据和图像数据的融合(真彩点云)
V-Surs移动测图系统 集成的主要传感器: GPS、INS 工业相机
激光扫描仪 里程计
为什么是C语言? C语言是当前程序员共同的语言 语言功能丰富 表达力强
目标程序效率高 可移植性好 即具有高级语言的优点,又具有低级语言的许 多特点
C程序设计语言 是一种高级语言 高级语言并不是“高级”,只是相对低级语言,在一个高的级别 上进行编程
历史悠久,战勋卓著 诞生于上世纪70年代初,成熟于80年代(C89),修订于90 年代(C99) 很多重量级软件都是用C写的(比如。。。。)
上天入地,无所不能 几乎没有不能用C写出来的软件,没有不支持C的系统
很多流行语言、新生语言都借鉴了它的思想、语法 从C++,到Java,再到C#,还有php等
机器语言10111000 00000001 00000000 00000101 00000001 00000000 计算1+1
汇编语言MOV AX, 1 10111000 00000001 00000000 00000101 00000001 00000000
ADD AX, 1
C语言#include <stdio.h> main() { printf("%d\n", 1+1); }
C语言的前世今生 一切从一个叫“Space Travel”的电子游戏开始…… 为了让他的游戏能在PDP-7上运行,Ken Thompson 用汇编语言给PDP-7写了一个操作系统——UNIX( Linux)
汇编太不好用了,Thompson需要高级语言 试验了一些高级语言,包括Fortran,都不理想 他在BCPL基础上,自己设计了一个B语言
UNIX开始发展,B也不够用了 Dennis Ritchie加入,把B改造成C 开始用C重写UNIX
C语言的设计者 Dennis M. Ritchie
Ritchie漫画像
C is quirky, flawed, and an enormous success. C诡异离奇、缺陷重重,却获得巨大成功
接受美国国家技术勋章
计算机的层次C 语 言 的 地 盘
高级 语言 的地 盘 低级 语言 的地
基于 平
台的 应用 应用程序 (Application) 程序
应用 平台
操作系统(OS)硬件(Hardware)
怎样让计算机读懂高级语言? 编译器(Compiler) 把源代码转换为可被计算机理解的机器代码 把机器代码以可执行文件(Executable File)的形式保存在磁盘上
一种程序设计语言对应一种编译器
怎样让计算机读懂高级语言? 程序员按照该语言的语法编写程序源代码 把自己的意图写入源代码中
编译器读入源代码 把程序员的意图转换成可执行程序,供他人使用
编译器C语言
可执行程序
有最好的编程语言吗? 能很好的解决问题的语言就是好语言。 Fortran已问世50年,仍然是科学计算首选 C语言辉煌30年,至今老当益壮 C++已度过其20岁生日,相信属于它的日子 还很长很长
在最恰当的地方,最恰当的时候,选择最恰 当的语言,同时防止跌入语言自身的陷阱。
编程语言 C Java
2012.09 1 2
2007.09 2 1
1997.09 1 5
1987.09 1 -
Objective-CC++ C# PHP (Visual) Basic Python
34 5 6 7 8
435 7 4 3 8
2 3 29
6 5 -
PerlRuby Lisp Ada
910 13 18
610 16 19
710 16
3 2