2024-2025-1 20241301 《计算机基础与程序设计》第3周学习总结
这个作业属于哪个课程 | <2024-2025-1-计算机基础与程序设计> |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/rocedu/p/9577842.html#WEEK03 |
这个作业的目标 | <回顾本周所学知识,夯实基础> |
作业正文 | ...https://www.cnblogs.com/HonJo/p/18462585 |
教材学习内容总结
1.门电路
-
与门(AND Gate)
- 符号:●
- 功能:只有当所有输入信号都为高电平(1)时,输出才为高电平(1)。否则输出为低电平(0)。
-
或门(OR Gate)
- 符号:○
- 功能:只要至少有一个输入信号为高电平(1),输出就为高电平(1)。只有当所有输入都为低电平(0)时,输出才为低电平(0)。
-
非门(NOT Gate)
- 符号:¬ 或者 -
- 功能:输出是输入的反相。如果输入为高电平(1),输出为低电平(0),反之亦然。
-
与非门(NAND Gate)
- 符号:● 内部有一条横线
- 功能:与门的反相版本。当所有输入都为高电平(1)时,输出为低电平(0)。否则输出为高电平(1)。
-
或非门(NOR Gate)
- 符号:○ 内部有一条横线
- 功能:或门的反相版本。只有当所有输入都为低电平(0)时,输出为高电平(1)。否则输出为低电平(0)。
-
异或门(XOR Gate)
- 符号:⊕
- 功能:当输入信号中有一个且仅有一个为高电平(1)时,输出为高电平(1)。如果输入信号都相同,输出为低电平(0)。
-
同或门(XNOR Gate)
- 符号:⊗
- 功能:异或门的反相版本。当输入信号都相同时,输出为高电平(1)。如果输入信号不同,输出为低电平(0)。
2.冯诺依曼结构
冯·诺依曼结构(Von Neumann architecture),也称为普林斯顿架构(Princeton architecture),是一种计算机组织结构,由匈牙利数学家和物理学家约翰·冯·诺依曼在1945年提出。这种架构是现代计算机设计的基础,其核心特点是将程序指令存储和数据存储在同一个读写内存中,并且具有顺序执行指令的处理单元。
冯·诺依曼结构的主要组成部分包括:
-
中央处理单元(CPU):
- CPU是计算机的核心,负责执行指令和处理数据。它通常包括算术逻辑单元(ALU)和控制单元(CU)。
-
存储器:
- 存储器用于存储程序和数据。在冯·诺依曼结构中,指令和数据使用同一条总线在处理器和存储器之间传输,这被称为冯·诺依曼瓶颈。
-
输入/输出(I/O)设备:
- 输入设备如键盘和鼠标,允许用户将数据输入到计算机中。
- 输出设备如显示器和打印机,用于向用户展示处理结果。
-
存储器层次结构:
- 通常包括快速的缓存存储器(如L1、L2、L3缓存),以及较慢但容量更大的主存储器(RAM)。
在教材学习中遇到的问题:
1.如何用门搭建一个电路?
搭建一个简单的门电路通常涉及以下几个步骤:
-
确定电路功能:
确定你想要实现的逻辑功能,例如与、或、非、与非、或非、异或或同或等。 -
设计电路图:
根据所需的逻辑功能,设计出一个电路图。电路图会显示不同的门电路如何通过输入和输出端连接。 -
选择门电路:
根据电路图,选择合适的逻辑门来构建电路。这些门可以是物理的集成电路芯片,也可以是仿真软件中的虚拟组件。 -
连接输入和输出:
为每个逻辑门提供输入信号,并连接它们的输出到下一个门的输入,或者到电路的输出端。 -
测试电路:
在实际硬件中,使用逻辑探针或在仿真软件中运行测试,以确保电路按预期工作。
2.计算机的各类数据类型
计算机的数据类型定义了数据在内存中的存储方式以及可以执行的操作类型。以下是一些基本的计算机数据类型:
-
整型(Integer):
- 用于存储整数,可以是带符号的(正数和负数)或不带符号的(仅正数和零)。
- 常见的整型大小包括8位(byte)、16位(short)、32位(int)和64位(long)。
-
浮点型(Floating-point):
- 用于存储实数,包括分数和小数。
- 浮点数可以表示非常大或非常小的数,但精度有限。
- 通常遵循IEEE 754标准。
-
字符型(Character):
- 用于存储单个字符,如字母、数字或符号。
- 在大多数编程语言中,字符型数据用单引号表示,如'A'、'1'、'#'。
-
布尔型(Boolean):
- 表示逻辑值,只有两个可能的值:真(true)或假(false)。
- 常用于条件语句和循环控制。
-
字符串型(String):
- 用于存储字符序列,如单词、句子或段落。
- 字符串通常用双引号表示,如"hello"、"world"。
-
数组(Array):
- 用于存储相同数据类型的元素集合。
- 数组可以是一维或多维,如整数数组、字符串数组等。
-
枚举型(Enumeration):
- 用于定义一组命名的常量,通常用于表示有限的选项集合。
- 枚举可以提高代码的可读性和可维护性。
-
结构体(Structure):
- 用于组合不同数据类型的数据项。
- 结构体可以包含整型、浮点型、字符串型等多个成员。
-
联合体(Union):
- 与结构体类似,但在同一时间只能使用其中一个成员。
- 联合体占用的内存是其最大成员的大小。
-
指针(Pointer):
- 用于存储另一个变量的内存地址。
- 指针可以用来间接访问和修改变量的值。
-
引用(Reference):
- 用于为变量创建一个别名,使得可以通过不同的名称访问和修改同一个变量。
- 引用一旦被初始化,就不能指向另一个变量。
-
复数型(Complex):
- 用于存储复数,即包含实部和虚部的数。
- 复数型数据通常用于科学计算和工程领域。
这些数据类型构成了编程语言的基础,不同的编程语言可能会提供这些类型的不同变体和扩展。了解和正确使用这些数据类型对于编写有效和高效的程序至关重要。
3.对于初学者来说学习数据类型应该从哪里开始
对于初学者来说,学习计算机的数据类型是一个逐步的过程,可以从以下几个步骤开始:
-
理解基本概念:
- 首先,了解什么是变量以及为什么需要变量来存储数据。
- 学习数据类型的基本分类,如整型、浮点型、字符型、布尔型等。
-
学习整型:
- 整型是最简单的数据类型之一,通常建议从整型开始学习。
- 练习声明整型变量、赋值和基本的算术运算。
-
探索浮点型:
- 学习如何声明浮点型变量并进行小数点运算。
- 了解浮点数的精度限制和潜在的舍入误差。
-
掌握字符型和字符串型:
- 学习如何存储和操作单个字符以及字符串。
- 练习使用字符串相关的函数和方法,如长度、连接、分割等。
-
尝试布尔型:
- 学习布尔逻辑,包括真值和假值的概念。
- 练习使用布尔型在条件语句和循环中的使用。
-
探索复合数据类型:
- 学习数组、结构体和联合体的概念。
- 练习创建和操作这些复合数据类型。
-
指针和引用:
- 学习指针的基本概念,包括如何声明指针变量和指针运算。
- 了解引用的概念,以及它与指针的区别和联系。
-
实践编程:
- 通过编写简单的程序来实践这些数据类型的使用。
- 尝试解决一些基本的问题,如计算器程序、数据处理等。
-
学习编程语言的文档:
- 阅读你选择的编程语言的官方文档,了解不同数据类型的具体语法和限制。
-
做项目:
- 通过实际项目来应用所学的数据类型知识,项目可以是简单的,如制作一个个人记账本或者一个简单的游戏。
-
参与在线课程和教程:
- 参加在线编程课程,如Codecademy、Coursera、edX等平台上的课程,这些课程通常有互动式的编程练习。
-
加入社区:
- 加入编程社区,如Stack Overflow、GitHub或Reddit的相关论坛,与其他学习者和开发者交流。
-
不断练习:
- 编程是一个实践性很强的技能,不断练习和挑战新项目是提高的关键。
对于初学者来说,重要的是不要急于求成,而是要逐步建立起对数据类型和编程概念的理解。随着经验的积累,你会更自然地掌握这些概念,并能够更有效地使用它们来解决问题。