知识点

域名


典型的国家顶级域名有:.cn——(中国)、.us——(美国)、.jp——(日本)、.sg——(新加坡)等。

典型的通用顶级域名有:.edu(教育机构)、.gov(政府部门)、.net(网络组织)、.com(商业组织)、.org(非营机构)、.mil(军事部门)等。

逻辑运算


  • 逻辑非:! 或 ¬,操作数的反值(!1 = 0, !0 = 1)。

  • 逻辑与:&& 或 ∧,全部操作数都为真,结果才为真(1 ^ 1 = 1,1 ^ 0 = 0,0 ^ 1 = 0,0 ^ 0 = 0)。

  • 逻辑或:∥ 或 ∨,至少一个操作数为真,结果才为真。(1∨1=1,1∨0=1,0∨1=1,0∨0=0

  • 运算优先级:逻辑非>逻辑与>逻辑或。

可以简单理解为:非(乘方)>与(乘/除法)>或(加/减法)。

  • 按位与:&,参加运算的两个数,按二进制位进行“与”运算。如果两个相应位同时为 1,该位结果为 1,否则为 0。(负数以补码形式参加运算)

  • 按位或:|,参加运算的两个数,按二进制位进行“或”运算。如果两个相应位有至少一个 1,该位结果为 1,否则为 0。(负数以补码形式参加运算)

  • 按位异或:^(注意与“逻辑与”区分)或 xor,参加运算的两个数,按二进制位进行“异或”运算。如果两个相应位为“异”(值不同),则该位结果为 1,否则为 0。(负数以补码形式参加运算)

特别的,在进行按位运算时,如果位数不够,需要在位数少的数前补 0例如:13 | 2=1101|0010=1111

内存空间


  • 16位编译器

char :1个字节 char*(即指针变量): 2个字节 short int : 2个字节 int: 2个字节 unsigned int : 2个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字节

  • 32位编译器

char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 float: 4个字节 double: 8个字节 long: 4个字节 long long: 8个字节 unsigned long: 4个字节

  • 64位编译器

char :1个字节 char*(即指针变量): 8个字节 short int : 2个字节 int: 4个字节

取值范围:-231~231-1 unsigned int : 4个字节

取值范围:0 ~ 2^32 float: 4个字节 double: 8个字节 long: 8个字节 long long: 8个字节 unsigned long: 8个字节

注:8位一字节

「小」单位「大」单位
8 bit(比特) 1 B(Byte/字节)
1024 B 1 KB(Kilobyte)
1024 K(B) 1 MB(Millionbyte)
1024 M(B) 1 GB(Gigabyte)
1024 G(B) 1 TB(Terabyte)

重要贡献人员


  • 阿兰·艾伦·图灵(英):数学家,逻辑学家,计算机科学/人工智能之父,首次提出了计算机科学理论。计算机界的最高奖项“图灵奖”以他命名,被称为“计算机界的诺贝尔奖”。

  • 冯·诺依曼(美):科学家,现代计算机之父,首次提出了存储程序控制原理,称为“冯·诺依曼结构”。

  • 克劳德·香农(美):科学家,创造了信息论,提出了某种信息从一处传送到另一处所需的全部设备所构成的系统

     

数据结构


  • 链表

    • 链表是通过记录每个元素的后继位置来实现数据存储,所需空间与元素个数成正比,优点是不必事先估计存储空间、插入或删除指定位置元素的时间复杂度为0(1);但缺点是由于其元素的内存地址不连续,无法进行0(1)的随机访问。

  • 二叉树

    • K层的满二叉树节点数为 2 ^ k - 1

    • 有n个结点的树,它的边数为 n - 1条。

    • 前序遍历(根-->左-->右) 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树

    • 中序遍历(左-->根-->右) 1.中序遍历左子树 2.访问根节点 3.中序遍历右子树

    • 后序遍历(左-->右-->根) 1.后序遍历左子树 2.后序遍历右子树 3.访问根节点

  • 其他

    • 栈是先进后出,队列先进先出。

机器数与真值、定点数、进制转化

计算机中要处理的整数有“无符号”和“有符号”之分,“无符号”整数顾名思义就是不考虑正负的整数,可以直接用二进制表示,故只讨论“有符号”整数。

  • 原码:原码将一个整数表示成符号位+二进制串。符号位上,0 表示正数,1 表示负数。

    但是,用这种方法表示的数进行两个异号数相加或两个同号数相减时很不方便,而且 0 的表示不唯一,于是引入了“反码”和“补码”。

补:原码中,0 的表示有两种: +0或 -0,两种的区别在于符号位,+0 表示为 00000000,-0表示为 10000000。

  • 反码:对于一个正数,反码就是其原码对于一个负数,反码就是除符号位外,原码的各位全部取反,即 0变 1,1变 0。

    如:x原=01000101, x反=01000101

    x原=01000101,x反=01000101。

    x原=11000101, x反=10111010

  • x原=11000101,x反=10111010。

    补:多数计算机不采用反码表示数值。

  • 补码:对于一个正数,补码就是其原码;对于一个负数,补码等于反码+1

    如:x原=01000101, x补=01000101,x=01000101,x=01000101。

    x原=11000101, x补=10111011,x原=11000101,x补=10111011

计算机基础知识


  • 计算机的CPU

    • 市面上常见的CPUIntel公司的酷睿、奔腾、赛扬(按性能从高到低排列)

    • 还有AMD公司炫龙、皓龙、锐龙、闪龙等

  • 计算机构成

    • 现代计算机大多为冯 · 诺依曼结构,包含以下五个结构

      • 输入设备

      • 输出设备

      • 运算器

      • 控制器

      • 存储器

一些其他的东西


  • 哈夫曼编码每次吧频率最低的两个节点合并,是用贪心算法。

  • 图灵奖是计算机领域的国际最高奖项。由美国计算机协会(ACM)在1966年设立的奖项。

  • 面向对象程序设计语言

    • C++

    • Python

    • Java

    • PHP

  • 面向过程的编译性语言

    • C

    • Pascal

    • Basic

  • 二者之间的区别用一个例子来说明

    • 人把大象关进冰箱。

      • 面向过程的分析过程: 第一步:把冰箱门打开; 第二步:将大象放进冰箱; 第三步:把冰箱门关闭;

      • 面向对象的分析过程: 第一步:分析动作是由那些实体发出的; //人 ,冰箱,大象

        第二步:定义主体,为其增加属性和功能; //人,人需要有打开关闭冰箱,及将大象放入冰箱的功能; //冰箱,冰箱需要具有能开门和关门的属性; //大象,大象需要具有能够进入冰箱的功能

  • 计算机以二进制存储数据。

  • 以比较作为基本运算,在N个数中找最大数,最坏需要N - 1

  • 排列组合
  • 这个是高中数学,大家自行百度

操作系统


  • 手机操作系统

    • Apple 公司的 IOS系列

    • HUAWEI 公司的 鸿蒙系统

    • Google的安卓系统

       

  • 电脑操作系统

    • MacOS

    • Windows

    • Linux

      • ubuntu

      • Redhat

      • OPENTHOS

      • 优麒麟

      • 银河

 

字符


  • ASCII 码表是由美国国家标准学会1967年发布的。

  • “A”为65,“a”为97。

  • 字符变量为char
  • 小写字符转大写字符可以减去“a”