计算机导论(含Python)复习要点(100题全!!!)
- 计算学科下有哪些常见的本科专业?这些本科专业关注什么问题?
计算机科学与技术、软件工程、网络工程、网络空间安全、人工智能等,总的来说,关注对机构与信息系统、应用技术、软件方法与技术、系统平台基础、计算机硬件与体系结构等的理论原理、开发和使用部署等。
- 网络空间安全专业与其他计算专业什么关系?为什么网安专业要学好计算机专业课程?
其他计算专业是网络空间安全专业的基础,要先打好基础,掌握计算机专业技能知识,才能在这基础上研究网络安全的方面。
- 下面这张图是当前的计算教育版图,你怎么理解?
计算机科学CS:侧重应用技术、软件方法和技术、系统平台基础,侧重理论原理和开发
计算机工程CE:侧重系统平台基础和计算机硬件与体统结构,侧重理论原理、开发和使用部署
信息技术IT:侧重机构与信息系统应用技术、软件方法和技术、系统平台基础,侧重开发和使用部署
软件工程SE:侧重应用技术、软件方法和技术、系统平台基础,侧重理论原理、开发和使用部署
信息系统IS:侧重机构与信息系统应用技术、软件方法和技术,侧重理论原理、开发和使用部署
网络空间安全CSEC:各个方面都有一定涉及
……
总结:各专业之间有一定的联系但又不尽相同,各有各的侧重方向。
- 后面要学习计算机程序设计、计算机系统基础、操作系统和网络原理等课程,我们开个导论课有何意义?
导论也称作引论,是论著正文前概要论述全文或全书的中心思想、创作思路、背景和创作方向的简单概括叙述,以指导帮助读者阅读理解的部分。关于学科的导论是指用较为概括的语言来论述这一学科的基本的和整体的思想,从而使读者对该学科有较为整体和系统的把握。导论就是将涉及内容很广的学科做概括性介绍,一般不会有非常深入的分析,但对历史和未来都有精简扼要的介绍,使读者对这门学科有一个概括的了解。有些专业导论书则写得比较全面而浅显,为后续课程打基础。如在大学一年级开一门涉及专业的导论课,就是要让学生有一点专业知识,以便更好理解学习现有课程的目的。 总之,"导论"的作用已由概要介绍一篇文章或一本书,发展到用一本书来介绍一门学科专业了。
- 数据处理“IPO”模型(输入/处理/输出)怎么理解?用“温度转换的例子”解释一下。
IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)
用“温度转换的例子”解释:输入一个温度度数,经过数据处理加工,输出一个相应的不同单位表示的温度值。
- 通用可编程数据处理器是什么意思?计算器是不是?手机是不是?为什么?
可以编程的机器 计算器不是,手机是
- 为什么说图灵机是通用计算的理论模型?现代计算机的计算能力超越图灵机了吗?
从原则上讲,图灵机能解决任何具有“求解算法”(状态转换表)的问题
虽然简单,但是具有充分的一般性
现代计算机都仅仅是图灵机的扩展,其计算能力与图灵机等价
- 什么是存储程序思想?
采用二进制形式表示数据和指令。将程序和数据事先存入主存储器中,计算机在工作时按一定顺序从存储器中取出指令加以执行。论证了组成计算机硬件系统有运算器、存储器、控制器、输入装置和输出装置五大基本部件,并规定了这五部分的基本功能。
上述概念奠定了现代计算机的基本结构,并开创了程序设计的时代。虽然计算机技术发展很快,但存储程序原理至今仍然是计算机内在的基本工作原理,仍然是理解计算机系统功能与特征的基础。自计算机诞生的那天起,这一原理就决定了人们使用计算机的主要方式——编写程序和运行程序。
存储程序特点是:
1、使用单一的处理部件来完成计算、存储以及通信的工作。
2、存储单元是定长的线性组织。
3、存储空间的单元是直接寻址的。
4、使用低级机器语言,指令通过操作码来完成简单的操作。
5、对计算进行集中的顺序控制。
存储程序和程序控制原理的要点是,程序输入到计算机中,存储在内存储器中(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令(程序控制)。
- 冯·诺伊曼(结构)模型的特点是什么?
1)二进制表示2)程序指令与数据共同存储在存储器中3)自动化和序列化地执行程序指令
- 计算机系统由哪三部分构成?
1)计算机硬件2)数据3)计算机软件
- 计算机硬件和计算机软件指什么?有何用?
硬件:包括主机和外设设备
输入并存储程序和数据,以及执行程序把数据加工成可以利用的形式
软件:包括系统软件和应用软件
是用户与硬件之间的接口界面,用户主要通过软件与计算机进行交流
- 电子计算机发展分哪四个阶段?
手动计算机(从古代到17世纪初)
机械设备时期(17世纪初到19世纪末)
机电设备时期(19世纪末到20世纪30年代)
电子设备时期(20世纪40年代至今)
- 第一台通用数字电子计算机是哪年问世的?叫什么名字。
1946年2月14日(美国),电子数字积分器和计算机
- 电子计算机技术的发展方向 可能哪 "四化”概括?
微型化,巨型化,网络化,智能化
- 为什么称Python为“胶水语言”,你有什么体会?
能很好包装和调用其他编程语言写的库,相比其他语言更简洁高效
- Python程序需要先编译才能运行吗?
不需要
- Python中变量要先定义才能使用吗?若不用定义其类型怎么确定呢?
python语言是动态语言,变量不需要事先声明,变量的类型不需要声明。在 Python 中,变量就是变量,它没有类型,我们所说的 类型是变量所指的内存中对象的类型。
- Python常用的算术运算符有哪些?算术表达式如何构成?
赋值运算表达式格式:变量 = 表达式
功能:计算了等号右侧“表达式”的值,并赋值给等号左侧的变量
值:赋值结束后变量的值
- 在Python 中如何理解:a = a + 1
令a+1赋值给a
- Python基本数据类型有哪些?
Number(数字) 2. String(字符串) 3. List(列表) 4. Tuple(元组) 5. Set(集合) 6. Dictionary(字典)
其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类型、布尔型(布尔型就是只有两个值的整型)、这几种数字类型
- 用input函数得到的字符串一般有哪些方法转换为所需的数据类型?
- 强制类型转换
Age=int(input(“请输入你的年龄”))
- 通过eval函数
Age=eval(input(“请输入你的年龄”))
- Python 中import语句有何用?举个例子。
import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。
·Import math
·Import math as m
·from math import sqrt
·from math import*
- Python常用的关系运算符、逻辑运算符有哪些?在关系表达式和逻辑表达式在哪里用?
在两个对象之间。
- Python常用的算术函数有哪些(包括预定义的和Math包中定义的)
abs(),pow(x,y),min(x,…),max(x…),round(),math.ceil(x),math.floor(x)
- if语句的语法结构。
if<条件1>:
<语句块1>
elif<条件2>:
<语句块2>
……
else:
<语句块3>
- while循环语句的语法机构。
while条件表达式:
语句1
…….
语句n
else:
语句n+1
…….
语句n+m
- for循环语句的语法机构。
for循环变量in序列:
语句1
…….
语句n
else:
语句n+1
…….
语句n+m
- while与for循环语句各适用什么场合?
for循环用于循环次数可以提前确定的情况
while循环用于循环次数难以提前确定的情况
- Python复合数据类型有哪些?
字符串,列表,元组,字典,集合
- 什么是列表类型?有何用?举例说明。
·包含若干元素
·元素类型可以不相同
·元素是按序编号的(从0开始)
·利用编号可对元素进行增删改查等操作
- 列表常用操作有哪些?
·L.insert(i,x) #将x添加到L的第i部
·L.append(x) #将x添加到L的尾部
·L.pop(i) #删除L的第i个元素
·L.pop() #删除L的最后一个元素
- 循环控制转移语句有哪两个?它们有何区别?
for 和 while
在大多数循环语句中,两种循环都可以实现,但在应用场景上,while循环适用于未知循环次数的循环,通常用于判断符合条件在进行循环。
for循环,是自动遍历每个元素,不需要加条件判断,循环通常用于遍历列表或元组等可迭代对象。
- 循环嵌套时如何执行?举例说明。
1.外层判断循环条件,满足进入外层循环体
2.内层判断循环条件
3.内层循环体执行
4.内层循环变量累加,回到2执行,直到不满足内层条件
5.外层循环变量累加,回到1执行,直到不满足外层循环条件,彻底退出循环
例子:
http://c.biancheng.net/view/2229.html
- 什么是字符串类型?它与列表类型有何异同之处。
python 字符串str是在Python编写程序过程中,最常见的一种基本数据类型。字符串是许多单个子串组成的序列,其主要是用来表示文本。字符串是不可变数据类型,也就是说你要改变原字符串内的元素,只能是新建另一个字符串。
列表可以改变,字符串不可以改变。
- 字符串常用操作有哪些?
·字符串的翻转
·判断字符串是不是回文串
·单词大小写
·字符串的拆分
·字符串的合并
·将元素进行重复
·列表的拓展
·两个数交换
·统计列表中元素出现的频率
·将数字字符串转化为数字列表
·使用enumerat()函数获取索引数值对
·计算代码执行消耗的时间
·检查对象的内存占用情况
·字典的合并
·检查列表内元素是不是都是唯一的
- Python中的函数是个什么机制?有何用途?定义函数的语法形式为什么?
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
- 函数是通过什么与外界进行交流?
通过调用函数和返回值的方式
- 函数定义的形式和函数调用的形式分别为何?
Def……
- 什么是函数的形式参数和实在参数?
- 函数调用的过程是怎样的?
·调用程序在调用处暂停执行
·在调用时将实参赋值给函数的形参
·执行函数体语句
·函数调用结束后出返回值,程序回到暂停处继续执行
- 参数传递的方式是怎样的?
- 实参默认采取按位置顺序的方式传递给函数
- 按照形参名称输入实参的方式,例:x1=1,x2=…。此时参数位置可任意调整。
- 函数的返回值怎么用?
如果函数的结果需要再次调用,用return语句;
用于退出函数并返回程序到暂停处。可以选择返回一个或多个运算结果或不返回值。(多个值以元组类型保存)
- 何谓递归函数?
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
- 求解什么样的问题需用到递归函数?
当我们在进行问题分解时,发现分解之后待解决的子问题与原问题有着相同的特性和解法,只是在问题规模上与原问题相比 有所减小,此时,就可以设计递归函数进行求解。
原理分析:
比如,对于计算n!的问题,可以将其分解为:n! = n*(n-1)!。可见,分解后的子问题(n-1)!与原问题n!的计算方法完全一样,只是规模有所减小。同样,(n-1)!这个子问题又可以进一步分解为(n-1)*(n-2)!,(n-2)!可以进一步分解为(n-2)*(n-3)!…,直到要计算1!时,直接返回1。
- 递归求解问题的两大特征是什么?
(1)递归链要以一个或多个基例结尾(兜底)
(2)存在一个或多个基例。(往下递)
- 怎么画流程图?
通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。
主要理清函数路线,分析流程结构和分支。
- 举例说明理论和实验这两种科学研究方法,它们分别对应哪两种思维?
逻辑思维和实证思维
- 什么是计算思维?
人类思维中两个重要部分:
·基于推理的逻辑思想(数学)
·基于实验的实证思维(物理)
- 你怎么理解计算思维的本质是两个A,即Abstraction(抽象)和Automation(自动化)。
计算就是如何寻找一台计算机去求解问题,隐含地说就是要确定合适的抽象,选择合适的计算机去解释执行该抽象,后者就是自动化。
即抽象是将具体问题剖析成能固定机械解决的问题;自动化则对该问题设计能利用计算机自动解决问题的方案。
- 周亦真认为“计算思维和阅读、写作和算术一样,是21世纪每个人的基本技能,而不仅仅属于计算机科学家”,你的观点呢?
我赞成,首先每个人都具备计算思维,只是强弱关系不同,当一个人在对一件事偷懒想方设法让它简单,能自动解决时就是在用计算思维解决问题。在当今计算机时代,不能有效利用自动便捷的工具去使自己的工作简单,在竞争力上就比不上别人,最简单的例子就是word的使用。
- 在位置化数字系统中,底(或称基数)、位置量(或称位权)是什么概念?
底是指位权中幂的底数;位置量是指数字在不同的位置有不同的位权。
- 任意一个R进制的数,其值(十进制值)如何表示?
每一位数字乘其对应位权的和。
- 计算机为什么采用二进制?
-
- 技术上很容易实现 用双稳态电路很容易表示二进制数0和1。
- 高可靠性:二进制系统中只使用两位数0和1,所以在传输和处理中不容易出错,从而保证了计算机的高可靠性。
- 简单的操作规则:与十进制数相比,二进制数的运算规则要简单得多,这不仅简化了运算单元的结构,而且有助于提高运算速度。
- 二进制数0和1完全对应于逻辑量“真”和“假”,因此使用二进制数来表示二进制逻辑是很自然的
- 当人们使用计算机时,他们仍然可以使用他们惯用的十进制数字。计算机会自动将它们转换成二进制数进行存储和处理,并在输出处理结果时自动将二进制数转换成十进制数,给工作带来极大的方便。
-
- 十进制整数如何转换为二进制?
不断与底数相除取余数,至除数为0停止,最后倒转。
- 十进制小数如何转换为二进制?
不断与底数相乘,取整数位,至所需精度停止。
- 八、十六进制与二进制如何互相转换?
三位二进制是一位八进制;四位二进制是一位十六进制。
- 位(bit)、字节(Byte)和位模式都是什么意思?
位是存储在计算机中的最小单位,只有0/1。位模式是一个序列,以这个序列长度位单位。字节通常是指长度位8的位模式。
- 数字、文字、音频、图像和视频数据都如何以位模式形式存在计算机中?
数字:整数一般以补码表示(定点标识法);实数用IEEE余码表示(浮点表示)。
文本:用数字来对应文本(ASCII码:2^7种符号,Unicode码:2^32种符号表示)
音频:先采样;后量化(近似);再编码(对每个量化样本编码分配位:8/16/32位);
最后声音编码标准(压缩)
图像:先扫描;再色彩深度,即决定用于表现一个像素的位的数量(真彩色24位/索引色8位);最后图像编码标准(JPEG——真彩色模式,GIF——索引色模式)。
视频:是图像在时间上的表示,会储存图像就能储存视频。
- 整数如何以无符号格式、符号加绝对值格式(即原码)和补码格式存储在计算机中?
无符号:没有复数,直接转化成对应进制
绝对值:区间对半分,前一半为正,后一半为负。
补码:0为正,1为负。对负数用补码转换,正数取原码。
- 给定位模式的整数取值范围如何确定?整数运算溢出是怎么回事?
2^n-1,赋值数大于或小于给定位模式的取值范围。
- 原码、反码、补码三者有什么关系,如何转换?
三者可相互转换。
原码中除符号位0/1互换就是反码;
反码加1就是补码。
- 计算机中为何要引入补码?
方便让减法运算转化为加法运算,从而省去做减法运算中极多复杂的判断过程。
- 什么是定点数?什么是浮点数?
定点数:小数点位置固定且隐藏,用来表示整数和纯小数
浮点数:小数点的位置不确定,要利用科学计数法记录其位置
- 一个浮点数表示中符号、指数和尾数各有何含义?
符号就是符号,指数表示偏移位数,尾数指规范化后的小数部分。
- 指数用补码和用余码表示的系统有何不同?
余码的指数全是正数,进行运算和比较时不用考虑符号。
- 任给一个实数如何用浮点格式表示?如何用IEEE的单精度标准(余127码)和双精度标准(余1023码)存储。
符号+偏移量+尾数
单精度:符号+指数(8位)+尾数(23位)
双精度:符号+指数(11位)+尾数(52位)
- 为什么在计算机里会有截断误差?
尾数过长时,用余码表示截取不完全。
- 浮点数的上溢和下溢是什么概念?
绝对值很小的数会造成下溢,绝对值很大的数会上溢。——超出取值范围。
- ASCII码、GB2312码、Unicode码 和UTF-8码各是什么编码?各用多少字节?干什么用?Python字符数据用什么编码?
ASCII码:美国信息交换标准码,8位,;
GB2312码:汉字字符编码集(国际码),16位;
Unicode码:万国码,24位;
UTF-8码:可变长度字符编码(1~4个字节)
Python用unicode。
- 在程序中字符与ASCII码之间如何转换?
ord()——字符转ASCII
chr()——ASCII转字符
- 描述音频如何通过采样、量化和编码三个步骤存储在计算机中?
采样:每隔一个时间间隔在模拟信号上取一个幅度值
量化:对振幅值进行限定和近似的过程
编码:将量化后的振幅值用二进制表示
- 奈奎斯特采样定理说采样频率怎样就能够由采样信号还原成原来的声音?
采样频率不低于声音信号最高频率的两倍,就能够由采样信号还原成原来的声音
- 影响数字音频效果和存储容量的因素包括哪些?存储容量如何计算?
- 采样频率2)量化位数3)声道数
音频数据量=(比特率×持续时间)/8(字节)
- 采样频率、量化位数和声道数是什么概念?
采样频率:单位时间内采样的次数
·单位:赫兹(Hz)
量化位数:用来量化的采样数据的二进制位数,也称为采样精度
声道数:产生声音的波形数
- 比特率(bps)如何计算机?
比特率=采样频率×量化位数×声道数(bps)
- 图像分辨率(像素)、位深度(像素深度)是什么概念?
图像分辨率:
·表示方法:横向像素数×纵向像素数
像素深度:
·每个像素颜色所使用的二进制位数
·单位:位(bit)
- 常用颜色模型有哪些?
有源物体:能发出光波的物体
·相加混色:RGB模型
·计算机显示器就是使用RGB颜色模型显示颜色
无源物体:不发出光波的物体
·相减混色:CMY模型
·彩色打印机和彩色印刷系统都采用CMY颜色模型
- 影响数字图像质量和存储容量的因素有哪些?存储容量如何计算?
·图像分辨率
·像素深度
存储容量=(像素数量×像素深度)/8
- 位图(或称光栅图)和矢量图有何区别?
位图:在空间和颜色上都离散化的图
·基本组成元素:像素
矢量图:用一组计算机绘图指令来描述和记录的图
·基本组成元素:对象(线段,弧线等)
- 视频数字化与图像数字化有何关系?
视频是一幅幅独立的画像按照一定的速率连续播放,在眼前形成了连续运动的画面
- 有那三类数据运算?它们各有何用途?
1)逻辑运算2)移位运算3)算术运算
- 逻辑运算与、或、非和异或的运算规则是什么?
施加在一个模式的每个单独位上
施加在两个模式(同长)的对应位上
- CPU和主存的结构?
主存:主存单元,存储容量,主存地址
CPU:一般由运算器,控制单元和寄存器组构成
- 指令执行过程?(或CPU工作过程或冯˙诺伊曼机工作原理)该过程中PC寄存器如何修改?该过程与时钟周期有什么关系?
计算机每执行一条指令都可分为三个阶段进行。即
取指令-----分析指令-----执行指令
取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。
一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。
当执行指令时,CPU将自动修改PC的内容,即每执行一条指令PC增加一个量,这个量等于指令所含的字节数,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。
时钟周期:通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。
(更多周期:https://blog.csdn.net/weixin_38812277/article/details/89838733)
- 现代计算机的存储系统?设置高速缓存的作用?
现代计算机系统多级存储体系结构如图,其中越顶端的越靠近CPU,存储器的速度越快、容量越小、每位的价格越高。采用这种组织方式能较好地解决存储容量、速度和成本的矛盾,提供一个在价格、容量上逻辑等价于最便宜的那一层存储器,而访问速度接近于存储系统中最快的那层存储器的存储系统。
高速缓存作用:在CPU与内存之间增加高速缓冲存储器后,CPU可以直接向内存中存取数据,从而减少了时间,提高了系统的运行速度。
- 输入输出系统的构成?
输入输出系统是计算机系统中的主机与外部进行通信的系统。它由外围设备和输入输出控制系统两部分组成,是计算机系统的重要组成部分。外围设备包括输入设备、输出设备和磁盘存储器、磁带存储器、光盘存储器等。从某种意义上也可以把磁盘、磁带和光盘等设备看成一种输入输出设备,所以输入输出设备与外围设备这两个名词经常是通用的。在计算机系统中,通常把处理机和主存储器之外的部分称为输入输出系统,输入输出系统的特点是异步性、实时性和设备无关性。
- 总线的几种分类?
- 操作系统中的进程管理(器)、存储管理(器)、文件管理(器)和设备管理器的主要功能?
操作系统的五大管理功能: (1)作业管理:包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等; (2)文件管理:又称为信息管理; (3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理; (4)设备管理:实质是对硬件设备的管理,其中包括对输入输出设备的分配、启动、完成和回收
- 进程与程序有什么联系与区别?
进程是程序在一个数据集合上的运行过程,是操作系统进行资源分配和调度的独立单位
- 进程状态是如何转换的?
- PCB、FCB是什么?有何用?
PCB:
·OS为了管理和控制进程的运行,为每个进程定义一个用于记录进程属性信息的表——(Process Control Block,简称PCB)
·PCB是进程存在的唯一标志,随着进程的创建而建立,随着进程的撤销而撤销
·在进程生命期,OS利用PCB对进程进行调度和资源分配
- 进程为什么会死锁?
程序执行需要资源,但资源是有限的
例:程序两次执行需要同时占有资源R1和R2
·进程a1占有R1
·进程a2占有R2
两个程序都无法进行,即死锁
- 内存为什么要采取分页式管理?
节省存储空间
- 虚存是什么?
虚拟存储管理:
·把部分外存空间作为主存使用,以此为用户提供足够大的地址空间——虚拟存储器
·按需分配内存
·请求页式存储管理
- 文件和目录有什么关系?
目录是文件的集合:实际也是一个文件-----目录文件,内容:保存所包含的文件的描述信息
- 计算机网络有哪些主要用途?
- 局域网、广域网和互联网在结构上各有什么特征?
局域网:办公楼群或一定场地内的计算机网络,将主机互连
广域网:覆盖多个城市或地区的网络,将连接设备(交换机,路由器或调制解调设备互联)
互联网:两个或多个网络互连
- 协议是什么?协议分层的目的是什么?应用层、传输层、网络层、链路层都有哪些主要协议?
- URL地址如何解读?
基本URL包含:模式(或称协议)、服务器名称(或IP地址/网址)、路径和文件名,协议部分则以“//”为分隔符,如“协议://授权/路径?查询”。其一般语法格式为:protocol :// hostname[:port] / path / [;parameters][?query]#fragmen
- IPv4的IP地址构成以及A、B、C类地址。
构成:网络号+主机号