1、冯诺依曼模型
计算机硬件,程序的思想。
2、计算机基本结构
存储器的分类,1、主存储器,内存。程序初中,待处理的数据和处理的结果都存储在内存中。2、外存储器,flash、硬盘。3、寄存器,CPU内部的高速存储器。
3、程序
为实现目标,设定的操作步骤。即系统可以识别的二进制指令。存储在磁盘上加载到内存中执行。
4、汇编语言
机器语言符号化。
编辑 编译、链接 执行、调试
5、数据的表示
1、数值数据的表示2、非数值数据
能够进行算术运算得到明确数值概念的信息,成为计算机数值数据,其余的信息成为非数值数据。
基数和权
例:基数为10, 可选用0、1、2……9,每逢十进位
权:基数为底,数字所在位置的序号为指数的整数次幂。
123 = 1X100 + 2X10 + 3X1
= 1X102 + 2X101 + 3X100
基数为2的进位制叫二进制
二进制只有0、1两种数码,计数逢2进位
1010 = 1X23 + 0X22 + 1X21 + 0X20
= 1X8 + 0X4 + 1X2 + 0X1
= 10
基数为16的进位制叫十六进制
十六进制有0、1、2…9、a、b、c、d、e、f 共16种数码,计数逢16进位
0x1010 = 1X163 + 0X162 + 1X161 + 0X160
= 1X4096 + 0X256 + 1X16 + 0X1
= 5012
非数值数据
包括文字、符号、图像、语言和逻辑信息等,也都是以0、1形式存在。
字符数据在机器内也被变换成二进制编码的形式。国际上普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII码。
char unsigned char 1字节 00000000~11111111 0~255
ASCII码
第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上。
第二部分是由 20H 到 7FH 共 96 个,这 96 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。
第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。
6、gcc编译器
cc(GNU Compiler)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:
.c c语言源代码
.h 程序所包含的头文件
.i 已经预处理过的C源代码文件
.s 汇编语言源代码文件
.o 编译后的目标文件
gcc编译器
gcc –o hello hello.c //hello.c 待处理文件。-o + 文件命名 + 可执行文件
-o 输出可执行文件
-c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g 用于调试
./hello 查看输出结果
也可以写成ss
gcc hello.c –o hello
gcc hello.c –o hello - Wall 意思是生成警告的方式
./a.out
小技巧
Ctrl + L 是清屏命令主窗口。
Ctrl + Shift +n是在vi编辑器中再开一个窗口。
Ctrl + Shift +t是在vi编辑打开一个Tab.
上下箭头可以还原找到之前的命令。
7、代码跟踪
__FILE__,__FUNCTION__,__LINE__ 实现代码的跟踪, 下划线是两个_
文件名 函数名 行号
8、一个程序应当包含两部分内容:
- 对数据的描述。即数据结构
- 对操作的描述。即操作步骤,也就是算法
9、算法的基本概念
步骤和顺序。为解决一个问题而采取的方法和步骤就称为算法。