编程语言 | 青训营笔记

74 阅读2分钟

机器语言

常用的有8086指令格式,分为操作码和操作数两部分

语言通常需要介质来承载。最早的承载介质是纸带,近代出现的计算机通常需要线缆/开关控制

汇编语言

汇编语言使用字母来代替数字,方便输入,同时不同的字母在不同的机器架构下可以转化成不同的数字,因此也具有了一定的可移植性

高级语言

高级语言进一步提高可移植性,贴近自然语言,贴近人类思维

编译器:高级语言转换成汇编语言,再转换成机器语言

C/C++

C:“中级语言”过程式语言代表

C语言发明人 Thompson/Ritchie

  • C语言是一种工具语言,把高级语言的基本结构和语句与低级语言的实用性结合起来
  • 可对位,字节,地址直接操作
  • 代码和数据分离倡导结构化编程
  • 功能齐全:数据类型和控制逻辑多样化
  • 可移植能力强

计算机最基本的数据结构、工作单元:位,字节,地址

void reverse(char *s){
    //获取字符串长度
    int len=0;
    char *p=s;  (1)
    while(*p!=0){
        len++;
        p++;
    }
    //交换
    int i=0;
    char c;
    while(i<=len/2-1){
        c=*(s+i);   (1)
        *(s+i)=s(s+len-1-i);    (1)
        *(s+len-1-i)=c; (1)
        i++;
    }
}
#include <stdio.h>  (2)
int main(){
    char s[]="1234567";
    printf("'%s'=>\n",s);   (2)
    reverse(s); //反转字符串 (2)
    printf("'%s'\n",s); (2)
    return 0;
}

(1):操作地址

(2):函数调用

计算机最基本的数据结构、工作单元:位,字节,地址

C++:面向对象语言代表

Bjarne Stroustrup

  • C with Classes

  • 继承

  • 权限控制

  • 虚函数

  • 多态

class Animal{   //类
public: //权限
    vitual void speak()=0;  //虚函数
};
class Cat:public Animal{    //继承
public:
    void speak(){
        cout<<"小猫在说话"<<endl;
    }
};
class Dog:public Animal{
public:
    void speak(){
        cout<<"小狗在说话"<<endl;
    }
};
void DoSpeak(Animal &animal){
    animal.speak(); //多态
}
int main(){
    Cat cat;
    DoSpeak(cat);
    Dog dog;
    DoSpeak(dog);
}