1.1.1 计算机和编程语言:计算机与编程语言
算法
- 我们要让计算机做计算,就需要找出计算的步骤,然后用编程语言写出来
- 计算机做的所有的事情都叫做计算
- 计算的步骤就是算法
1.1.2 计算机和编程语言:计算机的思维方式
程序的执行
- 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
- 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机能懂的语言--机器语言--写的程序,然后这个机器语言写的程序就能直接执行了
- 语言本无编译/解释之分
- 常用的执行方式而已
- 解释性语言有特殊的计算能力
- 编译型语言有确定的运算性能
1.2.1 C语言:为什么是C?
其他语言?- 现代的编程语言在语法上的差异很小
- 几乎都是C-like语言
- 语言的能力/适用领域主要是由库和传统所决定的
1.2.2 C语言:简单历史
C语言
- C语言是从B语言发展而来的,B语言是从BCPL发展而来的,BCPL是从FORTRAN发展而来的
- BCPL和B都支持指针间接方式,所以C也支持了
- C语言还受到了PL/Ⅰ的影响,还和PDP-Ⅱ的机器语言有很大的关系
- 1973年3月,第三版的Unix上出现了C语言的编译器
- 1973年11月,第四版的Unix(System Four)发布了,这个版本是完全用C语言重新写的
C的发展与版本-K&R
- 经典C,又被叫做“K&R the C”。The C Programming Language, by Brian Kernighan and Dennis Ritchie, 2nd Edition, Prentice Hall
- 1989年ANSI发布了一个标准--ANSI C1990年ISO接受了ANSI的标准--C89
- C的标准在1995年和1999年两次更新--C95和C99
1.2.3 C语言:编程软件
C语言用在哪里?
- 操作系统
- 嵌入式系统
- 驱动程序
- 底层驱动
- 图形引擎、图像处理、声音效果
C是一种工业语言
- 开发效率>>学习过程
- 开发效率>>开发乐趣
- 日常应用很少直接用C语言编写
- 学习C的过程主要是写练习代码而非真实软件
- 需要编辑器&编译器,或者IDE(集成开发环境)
- Dev C++
- MS Visual Studio Express(Windows)
- Xcode(Mac OS X)
- Eclipse-CDT
- Geany(和MinGW一起)
- Sublime(和MinGW一起)
- vim/emacs(和MinGW一起)
1.3.1 第一个程序:第一个C程序
- #include <stdio.h>
- int main()
- printf
- 大小写敏感
- Ctrl+N 新建
- Ctrl+/ 注释
- F11 编译运行
1.3.2 第一个程序:做点计算
做计算
- printf("%d\n", 23+23);
- %d说明后面有一个整数要输出在这个位置上
四则运算
符号 | 意义 |
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
() | 括号 |