机器语言
常用的有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);
}