计算机基础知识
一.计算机本质
计算机的本质:就是模拟人脑思维的电路,又称为通电的大脑。
计算机的存储本质:计算机是基于电工作,电信号分为高低电平两种状态(0和1),所以计算机其实只认识0和1
进制数(逢几进一)
二进制:0 1
八进制:0 1 2 3 4 5 6 7
十进制:0 1 2 3 4 5 6 7 8 9
十六进制:0 1 2 3 4 5 6 7 8 9 a b c d e f
存储数据的单位转换
8bit = 1byte
1024byte = 1KB
1024kb = 1MB
1024MB = 1GB
1024GB = 1TB
1024GB = 1PB
'所有表示存储数据的单位其实就是描述能够存储二进制数长短的意思'
二.文件后缀名
对于计算机而言无论什么后缀名其实都是一串01的二进制数
文件后缀名是程序员赋予不同文件的不同功能
三.计算机五大组成部分
1.控制器:控制计算机各个硬件的工作
2.运算器:负责数学运算、逻辑运算。整个计算机的核心
-数学运算:数字相关的运算
-逻辑运算:根据某个事物决定要做什么事
CPU(中央处理器)=控制器+运算器
3.存储器:内存和外存(硬盘)
内存:基于电工作,存储数据快,断电数据丢失
外存:不基于电工作,存储数据相对较慢,断电数据还在,可永久保存数据
4.输入设备:向计算机内部传入数据的设备。如键盘、鼠标
5.输出设备:计算机向外界输出数据的设备。如音响、显示器
四.计算机三大核心硬件
1.CPU:计算机中真正干活的就是CPU(程序要想运行起来必须要有CPU参与)
2.内存:CPU只会从内存中读取程序的代码然后运行
3.外存(硬盘):下载的软件都保存在硬盘中
'''
1.下载一个软件保存在硬盘中
2.双击打开该软件启动图标
从硬盘中将该软件加载到内存中
CPU从内存中读取数据运行
ps:双击该软件启动图标右侧会有蓝圈,蓝圈就是从硬盘到内存加载的过程
只要是运行的程序,产生的数据第一时间肯定在内存
'''
提问1:为什么不把内存去掉,让cpu和硬盘交互
答1:因为cpu的运行速度特别快,硬盘运行速度又特别慢,所以需要有和cpu运行速度差不多的硬件来交互,也就是内存。 比如:超跑放在拥挤的车道,性能再好也跑不快,只能上高速。
提问2:为什么不把内存容量设计大
答2:受限于硬件水平跟不上,一般都是4、8、16、128、256GB
五.操作系统
🔸功能
协调、管理、调度计算机各个硬件的工作
eg: 程序员A: 想做一个软件,需要先编写操作计算机硬件的代码,再编写软件核心功能
程序员B: 想做一个软件,也需要先编写操作计算机硬件的代码,再编写软件核心功能
微软:我开发一个程序,大家不需要做重复的编写操作计算机硬件的代码,这个程序就是"操作系统"
'''
注意:程序员编写的所有软件都是在操作系统上的,如果没有操作系统那所有的程序都无法执行
'''
#操作系统的作用是承上启下的,与硬件和软件交互
🔸常见的操作系统
PC端:
windows:界面简单,好上手
mac os:用户体验好,性能好
linux:无图像,依照指令执行
移动端:
安卓、ios、鸿蒙
六.编程与编程语言
1.语言:人与人之间沟通交流的媒介
2.编程语言:人与计算机之间沟通交流的媒介
3.编程的本质:程序员将自己的思维逻辑和想法用计算机能够读懂的语言写下来的过程
4.编程的结果:就是产生了一堆代码文件
七.编程语言的发展史
1.机器语言
直接编写二进制与计算机沟通交流
优势:计算机可直接读懂 执行效率高
劣势:学习难度大 开发效率低 门槛高
2.汇编语言
用一些字母来表示一串二进制数
优势:学习难度有所降低 开发效率有所提高
劣势:门槛还是很高
3.高级语言
用人类能够读懂的字符与计算机沟通交流
优势:学习难度低 开发效率高 门槛低
劣势:执行速度不如前两种
'''
常见高级语言
python 目前最火,应用领域最广
java 在中国属于常青树,最早引入进来
pyhon编写速度快,比如写网站用java需要一个月,用python一周就好,但是在移动端java较稳定。现在互联网套路就是先用python编写一个大致的软件然后上线圈用户,用户多了后就招程序员扩展功能,再用java提升性能等。
c++ 底层最接近机器语言的语言(常用在开发游戏)
c# 底层最接近机器语言的语言(常用在开发游戏)
php 没落了,主要用来做网站
Golang 未来可能会超过python的语言
'''
八.编程语言的分类
高级语言都需要经过 翻译 才能被计算机识别并执行
1.编译型语言 C++
类似于谷歌翻译(一次性翻译) 翻译之后可以反复使用翻译的结果
优势:一次翻译可以反复使用 执行效率高 速度快
劣势:当程序中频繁出现bug 则需要反复编译
2.解释型语言 python
类似于同声传译(说一句翻一句)
优势:有Bug和没bug执行效率几乎一样
劣势:速度没编译型语言快
九.python发展方向
1.web开发(写网站后端:负责提供数据) 最好用更快的php和java
2.人工智能(无人驾驶技术, 机器学习:下围棋的阿尔法go)
3.网络爬虫(基于网络爬取想要的数据) 后续会转>>>黑客
4.自动化运维、自动化测试(运维和测试都需要学习python才能涨薪)
5.自动化办公(文秘岗位会python可批量处理表格,可加分)
6.金融量化(写代码自动炒股票)
7.数据分析(依据往年数据,预测未来的发展方向)

浙公网安备 33010602011771号