前言:本篇文章是笔者初次阅读所写,存在部分错误,望读者见解;该篇文章主要以概括的方式进行书写,会存在部分的简略,比如算法部分的实现,笔者已经学完了数据结构以及面向对象等知识,所以会进行简略,如果希望观看完整版,搜索<<计算机是怎样跑起来的>>
第一章 计算机三大原则
问题:
-
硬件和软件的区别是什么?
硬件是看得见摸得着的设备,软件是计算机所执行的程序
-
存储字符串“中国”需要几个字节?
在GBK字符编码下,存储中国需要4个字节
-
什么是编码?
通常将为了便于计算机处理而经过数字化处理的信息成为编码
计算机三大原则
-
计算机是执行输入、运算、输出的机器
-
程序是指令和数据的集合
-
计算机的处理方式有时与人们的思维习惯不同
软件:指令(控制计算机进行输入、运算、输出的命令)和数据的集合
第二章 试着制造一台计算机
问题
-
CPU是什么的缩写
CPU是Centreal Processing Unit(中央处理器)的缩写
-
Hz是表示什么的单位
赫兹是频率的单位
必须的元件
-
CPU是计算机的大脑,负责解释、执行程序
-
内存负责存储程序和数据
-
I/O是将计算机和外部设备(周边设备)连接在一起
辅佐元件
时钟发生器:输出时钟信号的元件---时钟信号的频率可以衡量CPU的运转速度
开关式稳压电源:将220V的交流电变成5V的直流电
……
第三章 体验一次手工汇编
问题:
-
什么是机器语言
由二进制数字构成的程序,CPU可以直接对其解释、执行
-
通常把标识内存或I/O中存储单元的数字称为什么?
标识内存或I/O中存储单元的数字叫做“地址”
-
CPU中的标志寄存器有什么作用
用于在运算指令执行后,存储运算结果的某些状态
汇编语言:使用助记符的编程语言(如同英文的祈使句,先说动作,后说 内容)
LD A 23 //向A寄存器存入23 OUT (2) A //把A的数据写入到地址编号为2的地方
手工汇编:编写出来的程序转换成机器语言的过程
符合一些规则,例如
LD A num === 00111110 num IN A,(num) === 11011011 num
第四章 程序像河水一样流动着
问题
-
Flow Chart 是什么意思?
流程图
-
请说出自然界中河流的三种流动方式?(参照程序流程)
一个方向流淌,产生支流,卷成漩涡
-
事物驱动是什么?
用户操作等产生事件后,由事件决定程序的流程
程序的流程分为顺序执行,条件执行,循环
结构化程序设计,仅仅使用顺序执行、条件分支、循环表示程序流程,不使用跳转指令
中断处理:指的是计算机使程序突然跳转到程序中的特定地方,之后返回到之前流程 (cpu处理键盘的按键是否按下就是这样的)
事件驱动理解为两个程序在对话,是一种适合GUI环境的编程
第五章 与算法成为好朋友的七个要点
问题
-
Algorithm翻译成中文是什么?
算法
-
辗转相除法是用于计算什么的算法?
计算最大公约数的算法
-
程序中的“哨兵”指的是什么?
哨兵指的是一种含有特殊值的数据,可用于表示数据的结尾等
要点:
-
算法解决问题的步骤是明确且有限的
-
计算机不靠直觉而是机械地解决问题
-
了解并应用典型算法
-
利用计算机的处理速度
-
使用编程技巧提升程序执行速度
-
找出数学间的规律
-
先在纸上考虑算法
第六章 与数据结构成为好朋友的七个要点
问题:
-
程序中的变量是指什么?
变量是数据的容器
-
把若干个数据沿着直线排列起来的数据结构叫做什么?
数组
-
栈和队列的区别是什么
栈是LIFO,队列是FIFO
算法(处理问题的步骤)与数据结构(处理对象的数据的排列方式)结合考虑
要点:
-
了解内存和变量的关系
-
了解作为数据结构基础的数组
数组是数据结构的基础
-
了解数组的应用----作为典型算法的数据结构
-
了解并掌握典型数据结构的类型和概念(栈、队列、链表、二叉树)
-
了解栈和队列的实现方法
-
了解结构体的组成
-
了解链表和二叉树的实现方法
第七章 成为会使用面向对象编程的程序员
问题
-
object是什么?
对象
-
OOP是什么的缩略语
Object Oriented Programming面向对象编程
-
哪种编程语言在c语言的基础上增加了对OOP的支持?
C++
OOP理解
-
OOP通过组件拼装到一起构建程序
-
OOP能够提升程序的开发效率和可维护性
-
OOP适用于大型程序的开发方法
-
OOP为现实世界建模
-
OOP可以借助UML设计程序
-
在对象间传递消息驱动程序
-
使用封装、继承、多态
第八章 一用就会的数据库
问题:
-
数据库术语中的“表”是什么意思?
就是被整理成表格形式的数据
-
DBMS是什么的简称?
Database Management System 数据库管理系统
-
键和索引的区别是什么?
用于设定表和表之间的关系,而索引是提升数据检索速度的机制
卡片型数据库---适用于小型规模
关系型数据库(拆分表)--适用于大规模数据库
记录:录入到表的每一行数据
字段(列/属性):构成记录的各个数据项所在的列
主键:该字段的值唯一地标识表中的一条记录
索引:仅仅是提升数据检索和排序速度的内部机制
第九章 通过七个简单的实验理解TCP/IP网络
问题
-
LAN是什么的缩略语
Local Area Network局域网
-
TCP/IP是什么的缩略语
Transmission Control Protocol/Internet Protocol 传输控制协议和网际协议
-
MAC地址是什么
标识网卡的编号
服务器:服务的提供者
客户端:服务的利用者
集线器:负责把各台计算机的网线相互连接在一起的集线设备
路由器:负责把LAN的网络和互联网连接在一起的设备
-
实验一:查看网卡的MAC地址
MAC地址由制作厂商的编号和产品编号两部分组成
cmd ----ipconfig/all,采用--分割的六位即是 00-00-5D-B8-39-B0
-
实验二:查看计算机的IP地址
ip相当于入网的地址,可以变化
cmd ----ipconfig/all, 202.26.186.174
-
实验三:了解DHCP服务器的作用
DHCP可提供自动的IP地址和子网掩码,DNS中的ip地址也是它提供的
-
实验四:路由器是数据传输过程中的指路人
cmd ---route print
-
实验五:查看路由器的路由过程
通常把数据经过路由器转发的过程称为”路由“,例如访问网站
tracert 主机名(计算机名)
-
实验六:DN服务器可以把主机号解析成IP地址
DNS服务器通常部署在各个LAN,里面记录着FQDN和IP地址的对应关系表
nslookup >目标网址
-
实验七:查看IP地址和MAC地址的对应关系
APR(地址解析协议)用于实现IP地址到MAC地址的转换
arp -a
第十章 试着加密数据
问题
-
通常把还原加密过的文件这一操作叫做什么?
解密
-
在字母A的字符编码上加上3.可以得到哪个字母
可以得到字母D
-
在数字签名中使用的信息摘要是什么?
信息摘要是指从作为数字签名对象的文件整体中计算出的数值
数字签名证明数据的发送者是谁
第十一章 XML是什么
问题
-
XML是什么的缩写
Entensible Markup Language 可扩展标志语言
-
HTML和XML的区别是什么
HTML是用于编写网页的标记语言,XML是用于定义任意标记语言的元语言。
-
在处理XML文档的程序组件中,哪个成为W3C的推荐标准
DOM
标记语言:为这种给数据赋予意义的行为定义规则的语言成为标记语言
HTML只能根据有限的标签进行编写,在编写过程中可能会增大程序理解难度,例如这个标签是价格,而XML就是符合一般规律下自由创造标签,XML为信息赋予了意义
命名空间:一个能够代表企业或个人的字符串,用于修饰限定标签的名字
第十二章SE负责监督计算机系统的构建
问题
-
SE是什么的缩略语?
System Engineer 系统工程师
-
IT是什么的缩略语?
Information Technology 的缩略语
-
请列举一个软件开发过程的模型
瀑布模型、原型模型,螺旋模型