1. 计算机能做什么
- 现代的计算机由多种部件构成
- 中央处理单元(CPU) 承担绝大部分的运算工作
- 它从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令,诸如此类(一个吉赫兹的CPU一秒钟能重复这样的操作大约十亿次,因此,CPU 能以惊人的速度从事枯燥的工作)。
- CPU 有自己的小工作区——由若干个寄存器组成,每个寄存器都可以储存一个数字。一个寄存器储存下一条指令的内存地址,CPU 使用该地址来获取和更新下一条指令。在获取指令后,CPU在另一个寄存器中储存该指令,并更新第1个寄存器储存下一条指令的地址。
- CPU能理解的指令有限(这些指令的集合叫作指令集)。而且,这些指令相当具体,其中的许多指令都是用于请求计算机把一个数字从一个位置移动到另一个位置。例如,从内存移动到寄存器
- 随机存取内存(RAM) 是存储程序和文件的工作区
- 永久内存存储设备(过去一般指机械硬盘,现在还包括固态硬盘)即使在关闭计算机后,也不会丢失之前储存的程序和文件
- 外围设备(如,键盘、鼠标、触摸屏、监视器)提供人与计算机之间的交互
- 中央处理单元(CPU) 承担绝大部分的运算工作
2. 程序的执行
- 解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行
- 编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言——机器语言——写的程序,然后,这个机器语言写的程序就能直接执行了
- 解释语言vs编译语言
- 语言本无编译解释之分
- 常用执行方式而已
- 解释型语言有特殊的计算能力
- 编译型语言有确定的运算性能
- 现如今,由于计算机计算能力强大,解释语言和编译语言没有非常大的区别,这只是传统和喜好的问题
3. 程序与程序设计语言
- C程序由函数所组成
- 程序最根本的功能是对数据的处理
3.1. 程序与指令
- 将程序与数据共同储存的思想就是目前绝大多数计算机采用的冯﹒诺依曼模型的储存程序概念。
3.2. 程序设计语言的功能
- 程序设计语言必须具有数据表达和数据处理(称为控制)的能力。
- 涉及函数定义与调用的控制称为单位级控制。
3.3. 程序设计语言的语法
- 一般把用程序设计语言编写的未经编译的程序称为源程序(又称源代码)。
C语言的主要的“单词”:
- 标识符(用户自定义)
- 由字母、数字和下划线组成,第一个字符必须是字母或下划线。
- _name √
- left&right ×
- 区分大小写
- 且不能使用关键字
- 包括变量名、数据类型名、函数名和符号常量名。
- 由字母、数字和下划线组成,第一个字符必须是字母或下划线。
- 常量
- 运算符
- 一般多为双目运算,也有单目和三目
- 分隔符
; [] () #
4. 第一个程序
#include<stdio.h>
int main(void)
{
printf("Hello, world!");
return 0;
}
<stdio.h>
.h
- head 头文件stdio
- standard input out 标准输入输出#include<stdio.h>
- 这个文件可能会包含一个标准输入输出的头文件
printf
- print format 格式化输出