今日内容总结
计算机五大组成部分详解
1.控制器
是整个计算机的中枢神经,分析程序规定的控制信息,并根据程序要求进行控制,协调计算机各部分组件工作及内存与外设的访问等。
2.运算器
负责数据的算术运算和逻辑运算,即数据的加工处理。
控制器+运算器=CPU(中央处理器)
3.存储器
存储数据
内存:基于电工作 存取数据的速度快 但是断电数据立刻丢失
类似于人的短期记忆
外存:不基于点工作 存储数据的速度较内存慢 但是可以永久保存数据
类似于人的长期记忆
eg:U盘 磁盘 磁带 硬盘 固态
4.输入设备
向计算机输入数据和信息的设备。是计算机与用户或其他设备通信的桥梁。
eg:
字符输入设备:键盘;
图形输入设备:鼠标器、操纵杆、光笔;
图像输入设备:摄像机、扫描仪、传真机;
5.输出设备
把各种计算结果数据或信息以数字、字符、图像、声音等形式表现出来
eg:显示屏 打印机 音响
计算机三大核心硬件
1.CPU
计算机中真正干活的人(程序要想运行起来必须要有CPU参与)
2.内存
存取数据的速度极快 主要与CPU配合使用
3.硬盘
能够长久保存数据
1.我想玩永劫无间
下载该游戏软件->下到哪里去了?
1.思考计算机能够存储数据的地方
2.反向思考如果是内存 断电立刻丢失 不太可能
3.我们下载的软件其实都是下载到了计算机的硬盘中
2.双击永劫图标
1.将硬盘中永劫的程序代码读取到内存->如果容量很大 那么等待的时间越长
硬盘读取数据是有上限的(硬盘转圈读取数据)
2.CPU去内存中获取程序中的指令并执行
3.游戏开始运行
1.内存的容量一般比硬盘小的多得多
硬件水平跟不上
4GB 8GB 16GB 32GB 64GB 128GB 256GB
2.为什么不直接砍掉内存 让CPU跟硬件交互
CPU的运行速度非常的快(1000) 但是硬盘的运行速度非常的慢(1)
内存的速度比硬盘快很多 可以跟CPU搭配干活 提升CPU运行效率
3.只要是运行的程序 产生的数据第一时间肯定在内存
以前的文本编辑器使用过程中如果突然断电数据会立刻丢失
现在的文本编辑器不会出现这种情况的原因是内部自动执行保存操作
保存>>>:将内存中的数据刷到硬盘
扩展:自动保存机制有两种方式
方式1:实时检测文档变化 一旦有变化就保存
方式2:循环定时任务 每隔一段时间保存一次
操作系统
控制 协调 管理计算机各个硬件的工作
程序员ABC都需要开发一个播放视频的软件
程序员A开发快播
得先编写操作计算机各个硬件的代码
再编写快播的核心功能
程序员B开发迅雷
得先编写操作计算机各个硬件的代码
再编写迅雷的核心功能
程序员C开发暴风影音
得先编写操作计算机各个硬件的代码
再编写暴风影音核心功能
由于计算机各个硬件几乎一致 所以操作计算机各个硬件的代码也几乎相同
为了避免重复造轮子 有个人站出来说这个活它来干!!!
微软>>>:windows
我们现在所使用的应用程序都必须依赖于操作系统之上才可以运行
所以我在拿到一台计算机之后第一件事就是安装操作系统
PC端常见操作系统
windows、macOS、linux
移动端常见操作系统
安卓、IOS、鸿蒙
编程与编程语言
1.什么是编程?
程序员将自己的思维逻辑和想法用计算机能够读懂的语言写下来的过程
编程的结果是产生一堆文件
我们在学习新的语言的时候之所以不能灵活掌握只有一个原因>>>:练的少了得多练
2.什么是编程语言?
一种计算机和人都能识别的语言
人与计算机之间沟通交流的媒介
编程语言主要包括汇编语言、机器语言以及高级语言
- 2.1机器语言
程序员是直接使用二进制与计算机沟通交流
优势:计算机能够直接读懂 执行效率高
劣势:学习难度太大 开发效率极低 门槛太高 - 2.2汇编语言
用一些英语字母来表示一串二进制数
优势:学习难度有所降低 开发效率有所提高
劣势:门槛还是太高 - 2.3高级语言
用人类能够读懂的字符与计算机沟通交流
优势:学习难度低 开发效率高 门槛低
劣势:执行速度没有上述两个语言快
编程语言的发展史
编程语言一般分为:低级语言、高级语言和面向对象时代。
1.低级语言时代
低级语言时代(1946-1953)主要包括被称为“天书”的机器语言以及汇编语言。
计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令。这些指令的集合就是该计算机的机器语言。机器语言包括的缺点有:难学、难写、难记、难检查、难修改,难以推广使用。因此初期只有极少数的计算机专业人员会编写计算机程序。
汇编语言由于机器语言的难以理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了。
2.高级语言时代
高级语言时代(1954-至今)——随着世界上第一个高级语言fortran的出现,新的编程语言开始不断涌现出来。数十年来,全世界涌现了2500种以上高级语言,一些流行至今,一些则逐渐消失。
3.面向对象时代
面向对象时代(90年代初-至今)——面向对象程序设计(Object-Oriented Programming,简称OOP)如今在整个程序设计中十分重要,其最突出的特点为封装性、继承性和多态性。
编程语言的分类
计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器语言。
而这种转换的方式有两种:
1.编译型语言
类似于谷歌翻译(一次性翻译) 翻译之后可以反复使用翻译的结果
优势:一次翻译可以反复使用 执行效率高 速度快
劣势:当程序中频繁出现bug 那么需要反复编译
现有的C、C++ 等都属于编译型语言
2.解释型语言
类似于同声传译(说一句翻一句)
优势:有bug和没有bug执行效率几乎一样
劣势:速度没有编译型语言快
Python等属于解释型语言
python解释器
1.python发展方向
web方向、自动化运维、自动化测试、自动化办公、网络爬虫、金融量化、人工智能、机器学习、数据分析
截至目前为止没有任何一门编程语言可以像python这样多点开花!!!
2.python解释器
1.历史
荷兰的龟叔在圣诞节的时候闲着无聊 开发了python
2.版本
版本其实是软件更新迭代的记录
python1.X:初期版本 几乎不用
python2.X:python2.7(2020年就已经不再维护更新)
python3.X:python3.6 python3.8 python3.10+
ps:我们学习python语法 对版本的区别差异不大
python2.7 python3.6 python3.8
3.下载
官网:https://www.python.org/downloads/windows/
4.安装
自定义安装 路径尽量简单一些
5.使用
1.windows+r
2.输入cmd回车
3.切换盘符 D:
4.切换目录 cd python38
5.运行解释器 python
6.退出解释器 exit()
7.退到上一层目录 cd ..
PS:IT领域只要这个软件能够正常运行 计算使用的是十几二十年前的版本 也不要更新
python解释器多版本共存
1.先确保不同版本解释器的python.exe所在的路径在环境变量中
修改环境变量之后需要使用新的cmd窗口