计算机课程预习资料
第一部分:计算机科学#
-
计算机发展历史
- 算盘(约公元前2500年):最早的计算设备
- 星盘、计算尺、时钟(公元前2500-公元1500年):出现机械运动的机器
- 步进计算机(1694年):第一个可加减乘除的机器
- 差分机(1823年):可以做函数计算,但该计划最终失败
- 分析机(19世纪中期):基于差分机,是一个“通用计算机”
- 哈佛Mark 1号:世界上最大的机电计算机之一
- ENIAC(1946年):世界上第一台数字式的电子多用途计算机
- 空军AN/FSQ-7(1955年):用于防空系统,真空管达到计算极限
- IBM 608(1957年):第一个消费者可购买的晶体管计算机
-
三种基本逻辑门
- 与门(AND gate):符号为一个圆圈,输入端有两条直线,输出端有一条直线。
- 或门(OR gate):符号为一个圆圈,输入端有两条曲线,输出端有一条直线。
- 非门(NOT gate):符号为一个三角形,输入端有一条直线,输出端有一条直线。这些符号用于表示逻辑门电路的布局和功能。
-
算术与逻辑运算
-
与运算(&):对两个操作数的每一位执行逻辑与操作,如果两个相应的位都为 1,则结果为 1,否则为 0。按位与操作,按二进制位进行"与"运算。运算规则:
0&0=0; 0&1=0; 1&0=0; 1&1=1; -
或运算(|): 对两个操作数的每一位执行逻辑或操作,如果两个相应的位都为 0,则结果为 0,否则为 1。按位或运算符,按二进制位进行"或"运算。运算规则:
0|0=0; 0|1=1; 1|0=1; 1|1=1; -
异或运算(^): 对两个操作数的每一位执行逻辑异或操作,如果两个相应的位值相同,则结果为 0,否则为 1。异或运算符,按二进制位进行"异或"运算。运算规则:
0^0=0; 0^1=1; 1^0=1; 1^1=0; 对两个十进制数字进行异或运算时,需要先将数字转换成二进制,然后对每一位进行异或运算,最后将结果再转换回十进制。
-
-
字节 字节是计算机信息中用于描述存储容量和传输容量的一种计量单位,是计算机的基本存储单位。一个字节由8个相邻的二进制位组成,每个位由0或1组成,用大写字母B表示。
名称 简写 换算 比特 bit/b 1B=8bit 千 KB 1KB=1024B 兆 MB 1MB=1024KB 吉 GB 1GB=1024MB 太 TB 1TB=1024GB 拍 PB 1PB=1024TB 艾 EB 1EB=1024PB 泽 ZB 1ZB=1024EB 尧 YB 1YB=1024ZB -
二进制与十进制转换 十进制转二进制采用除2取余法。将十进制数不断除以2,记录每次的余数,直到商为0。然后将所有余数从下往上排列,得到的就是对应的二进制数。
例如,将十进制数25转换为二进制数的过程如下:
除2运算 商 余数 25/2 12 1 12/2 6 0 6/2 3 0 3/2 1 1 1/2 0 1 从下往上排列余数,得到二进制数11001。
-
操作系统 操作系统是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见的操作系统有Windows、macOS、Linux、华为鸿蒙系统。
-
CPU 即中央处理单元,负责执行程序,通常由寄存器+控制单元+ALU+时钟组成,与RAM配合,执行计算机程序
第二部分:C语言程序设计#
-
算术运算符 下表显示了C语言支持的所有算术运算符。假设变量A的值为10,变量B的值为20,则:
算数运算符 描述 实例 + 把两个操作数相加 A + B 将得到 30 - 从第一个操作数中减去第二个操作数 A - B 将得到 -10 * 把两个操作数相乘 A * B 将得到 200 / 分子除以分母 B / A 将得到 2 % 取模运算符,整除后的余数 B % A 将得到 0 ++ 自增运算符,整数值增加 1 A++ 将得到 11 -- 自减运算符,整数值减少 1 A-- 将得到 9 -
逻辑运算符 下表显示了C语言支持的所有关系逻辑运算符。假设变量A的值为1,变量B的值为0,则:
逻辑运算符 描述 实例 && 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。 || 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。 ! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(A && B) 为真。 注:0表示“假”,1表示“真”。
-
赋值运算符 下表列出了C语言中常用的赋值运算符。
运算符 描述 实例 = 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C += 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A -= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A *= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A /= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A %= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A -
运算符优先级 运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。总而言之,在表达式中,较高优先级的运算符会优先被计算。
下面表格中,较高的运算符在上,较低的运算符在下。
类别 运算符 一元 + - ! ~ ++ -- 乘除 * / % 加减 + - 关系 < <= > >= 相等 == != 赋值 = += -= *= /= %=>>= <<= &= ^= |= -
数据类型 C语言数据类型大致可分为整型、浮点型、void类型。
- 常用的整型:int,char,short,long
- 常用的浮点型:float,double,long double
-
指针 指针就是内存地址,指针变量是用来存放内存地址的变量。指针变量声明的一般形式为:
type *var_name;
。例如,我需要声明一个名称为p的整型指针变量,可以写为:int *p;
。 -
break语句 break语句是一种循环控制语句,能够终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。
-
函数与返回值
-
以下是max()函数的源代码。max()函数可以比较两个数的大小,并给出最大的那一个。该函数有两个参数 num1 和 num2,会返回这两个数中较大的那个数:
/* 函数返回两个数中较大的那个数 */ int max(int num1, int num2) { /* 局部变量声明 */ int result; if (num1 > num2) { result = num1; } else { result = num2; } return result; // 关键点 } -
下面的程序定义了一个函数用于计算两个整数的和,并在
main
函数中调用该函数并输出结果。#include <stdio.h> // 定义函数计算两个整数的和 int add(int a, int b) { return a+b;// 关键点 } int main() { int num1 = 5, num2 = 10; int result = add(num1, num2); // 关键点 printf("两数之和是: %d\n", result); return 0; }
-
-
输出 输出时使用函数
printf()
。
第三部分:Python语言程序设计#
-
标识符名称命名规则
- 第一个字符必须是字母表中字母或下划线
- 标识符的其他的部分由字母、数字和下划线组成
- 不可以使用保留字。保留字即关键字,我们不能把它们用作任何标识符名称。包括:False, None, True, and, as, assert, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
-
字典 字典是一种可变容器模型,可存储任意类型对象。字典的每个键值对用冒号分割,每个对之间用逗号分割,整个字典包括在花括号中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
-
列表 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。例如:
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
。 -
列表索引 序列中的每个值都有对应的位置值,称之为索引。索引从0开始数。第一项索引是 0,第二项索引是 1,第三项索引是2,以此类推。
-
集合 集合是一个无序的不重复元素序列。
-
赋值运算符 下表列出了Python中常用的赋值运算符。
运算符 描述 实例 = 简单的赋值运算符 c = a + b
将a + b
的运算结果赋值为c
+= 加法赋值运算符 c += a
等效于c = c + a
-= 减法赋值运算符 c -= a
等效于c = c - a
*= 乘法赋值运算符 c *= a
等效于c = c * a
/= 除法赋值运算符 c /= a
等效于c = c / a
%= 取模赋值运算符 c %= a
等效于c = c % a
**= 幂赋值运算符 c **= a
等效于c = c ** a
//= 取整除赋值运算符 c //= a
等效于c = c // a
-
函数 Python定义函数使用def关键字,一般格式如下:
def 函数名(参数列表):
。 -
for循环语句 for循环可以遍历任何可迭代对象,如一个列表或者一个字符串。for循环的一般格式如下:
for <variable> in <sequence>: <statements> else: <statements> 整数范围值可以配合 range() 函数使用:
# 输出 1 到 5 的所有数字: for number in range(1, 6): # 注意看range函数的参数怎么写的 print(number) -
range()函数 range()函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。range函数的参数范围左闭右开。例如,如果要生成从1到10的序列,则需要写
range(1,11)
。 -
注释 注释不会被程序执行,但是会使代码更易于阅读和理解。Python 中的注释有单行注释和多行注释。
- 单行注释:Python 中单行注释以 # 开头
- 多行注释:多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来
-
模块导入 Python中有非常丰富的模块。如果要导入一个名为matplotlib的模块,需要在文件开头中写上:
import matplotlib
。如果要导入一个名为numpy的模块,需要在文件开头中写上:import numpy
。以此类推。
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现