目录
- 逻辑运算
- 常见运算
- 运算规则
- 运算优先级
- 例题
- 进制转换
- 十进制转二进制、八进制、十六进制
- 二进制、八进制、十六进制转十进制
- 例题
- 主定理
- 编程语言
- 概况
- 具体分类
逻辑运算
常见运算
非:
n
o
t
not
not 即
¬
¬
¬
与:
a
n
d
and
and 即
∧
∧
∧
或:
o
r
or
or 即
∨
∨
∨
异或:
x
o
r
xor
xor 即
⊕
⊕
⊕
运算规则
¬
A
¬ A
¬A:将原命题取反。
A
∧
B
A∧ B
A∧B:两个命题必须全为真命题,其命题为真。
A
∨
B
A∨B
A∨B:两个命题中至少有一个真命题时,其命题为真。
A
⊕
B
A⊕ B
A⊕B:两个命题一真一假时,命题为真。
运算优先级
括号 > > > 非 ( ¬ ) (¬) (¬) > > > 与 ( ∧ ) (∧) (∧) > > > 或 ( ∨ ) (∨) (∨)、异或 ( ⊕ ) (⊕) (⊕)
例题
设 A=B=true,C=D=false,以下逻辑运算表达式值为真的有( )。(NOIP 2007 提高组初赛)
A. (¬ A∧B)∨(C∧D∨A)
B. ¬ (((A∧B)∨C)∧D)
C. A∧(B∨C∨D)∨D
D. (A∧(D∨C)) ∧B
答案:ABC
解析:
对于A选项,¬ A为false,¬ A∧B为false,C∧D∨A为true,所以结果为true
对于B选项,A∧B为true,(A∧B)∨C为true,((A∧B)∨C)∧D为false,所以结果为true
对于C选项,B∨C∨D为true, A∧(B∨C∨D)为true,所以结果为true
对于D选项,D∨C为false,A∧(D∨C)为false,所以结果为false
进制转换
十进制转二进制、八进制、十六进制
对于整数部分,将整数部分除以新的进制位数 (2、8、16),然后反向取余数,直到商为 0 。
对于小数部分,将小数部分乘新的进制位数(2、8、16),然后向下取整,最后顺序输出。
二进制、八进制、十六进制转十进制
对于第 n n n 位数,将该位数上的数字乘以 i n i^n in( i i i 代表这个数原来的进制) 后累加到答案中,最终的总和即为答案。
例题
与十进制数 17.5625 对应的 8 进制数是( )。(NOIP 2007 提高组初赛)
A. 21.5625
B. 21.44
C. 21.73
D. 21.731
E. 前 4 个答案都不对
答案:B
解析:
17 = 2 × 8 1 + 1 × 8 0 17=2\times8^1+1\times8^0 17=2×81+1×80,所以整数部分为 21 21 21
0.5625 × 8 = 4.5 0.5625\times8=4.5 0.5625×8=4.5 取 4 4 4
0.5 × 8 = 4 0.5\times8=4 0.5×8=4 取 4 4 4
所以答案为 21.44 21.44 21.44
主定理
编程语言
概况
机器语言(面向机器)—>汇编语言(面向机器)—>高级语言(面向过程—>面向对象)
(1)机器语言
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令。
全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序。只有目标程序才能被计算机直接识别和执行,所以属于低级语言。
(2)汇编语言
本质和机器语言相同,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
(3)高级语言
高级语言是相对于汇编语言而言,编写的程序不能直接被计算机识别,必须经过转换才能被执行。
具体分类
(1)编译型语言与解释型语言
编译型语言:
程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,但依赖编译器,跨平台性差。
主要有C、C++、Delphi、Pascal、Fortran等。
解释型语言:
程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。效率较低。
主要有Java、Basic、Javascript、Python等。
(2)强类型语言与弱类型语言
强类型语言:
是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。
主要有C、 C++、 Java 、Python等。
弱类型语言:
与强类型语言相反,是运行时才确定数据类型的语言,变量在使用之前无需申明类型。
主要有vb,php,JavaScript等。