Coursera 程序设计与算法专题-1 计算导论与C语言基础

计算导论与C语言

1 导论

数学危机与图灵机原理

进制

十进制:逢十进一
二进制:逢二进一
十六进制:逢十六进一

进制转换

二进制布尔运算(复习

operators:
与:同真异假
或:一真为真,全假为假

逻辑电路:
异或门,与门,或门。

计算机历史-从电子管到云计算

摩尔定律挑战:电力消耗,更多热能;
云计算:绿色,能耗相对较少

计算机未来

量子计算机

程序运行基本原理

程序运行:二进制+布尔运算+逻辑电路实现运算

通过某种命令控制计算机(让逻辑电路临时组合实现计算任务),让计算机按照命令来运行。

冯诺伊曼式计算机结构

存储器

1 Byte = 8 bit
1 KB = 1024 B
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
1 YB = 1024 PB

存储器分类:

1 寄存器与运算器直接连接(极快)
2 cache高速缓存
3 memory内存

存储器原理

RAM: DRAM(动态内存,周期性刷新以保持存储内容), SRAM(不需要周期性刷新)
ROM: ROM; PROM; EPROM; EEPROM; Flash EPROM(快速可擦除编程只读存储器)

CPU指令集

程序执行

2 程序设计语言-C++

关键字(30来个
数据类型(10来种)
操作符号(30来个)
操作句式statements:顺序,分支,循环

所有程序语言的基本组成

数据+运算+控制+传输

数据

1 Byte是一个存储单元,8 bit二进制表示;
每个Byte有一个地址;

变量:可变化的量:x, y…
变量格式:int, double,float…
不同变量分配的内存单元大小不一样;

1 整型
int(最常用): 32 bit = 4 Byte
short int: 16 bit = 2 Byte
long int: 32 bit = 4 Byte
区别:取值范围不同
sizeof:计算某类型对象占用内存的字节数

1
sizeof(short int)

默认sign类型;
unsigned int:都为正数;

1
Max & Min

2 浮点型
float: 32 bit
double: 64 bit
long double: 64 bit
区别: 精度不同
float:前7位有效
double: 前15位有效
long double: 前15位有效

3 字符型
char:1 Byte
最多256个字符

4 布尔型

1
bool

运算

运算符:

1
2
3
4
5
6
7
8
9
10
11
12
求字节数 sizeof
下标运算符 []
赋值运算符 =
算术运算符 +-*/%
关系运算符 < > == >= <=
逻辑运算符 ! && ||
条件运算符 ? :
逗号运算符 ,
位运算符 >> << ~取反 |或 ^异或 &与
指针运算符 * &
强制类型转换运算符 ()
分量运算符 . -->

控制

程序有单入口、单出口特性。
顺序语句;
分支语句:if,switch…case…default
循环语句:for,while, do…while, goto…if

传输-输入缓冲区

输入存入输入缓冲区,然后被程序读取。

一个字符串输入:
1 cin输入:不读取空格与回车
2 cin.get()函数:读取空格与回车
3 cin.get(char)
4 getchar():不跳过任何字符

一串字符的输出:
cout

一串字符的输入:
1 cin
2 cin.get(ch,10, ‘\n’)
3 cin.getline()

3 总结

计算机基本原理;
计算机发展趋势;
程序运行基本原理;
C程序设计基本认知;