学习目标:完成对C语言大致的了解
1、概述
C语言是一种结构化的面向过程的程序设计语言,同时具有高级语言与汇编语言的特点。
2、程序设计语言
程序设计语言即用于书写计算机程序的语言。计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言三个阶段。
机器语言:计算机能够直接识别的二进制代码语言。
汇编语言:面对机器的程序设计语言,用英文字母以及符号串替代二进制码。汇编语言指令是机器指令的符号化。
高级语言:人们把机器语言以及汇编语言这种面向机器的语言称为低级语言,相对的程序设计语言就称为高级语言。高级语言又分为面向对象与面向过程两种。C语言就是典型的面向过程的语言。
PS:使用汇编语言编写的程序,机器不能直接识别,要有一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫做汇编程序。
3、面向过程与面向对象的区别
面向过程 | 面向对象 |
强调将问题拆成一步一步的解决, 即以步骤划分。 | 强调建立各个对象,并赋予他们功能从而解决问题,即以功能划分。 |
C语言等 | C++、Java、Python等 |
例:阿辉搬砖
简介:阿辉需要将红砖从A地搬至B地。
面向过程: 面向对象:
①分别构造阿辉与红砖的数据结构。 ①建立阿辉类,类中包含搬砖方法。
②编写阿辉搬砖的函数。 ②建立红砖类,类中包含砖的大小、位置等信息。
③调用搬砖函数实现阿辉搬砖。 ③调用阿辉类中的方法实现阿辉搬砖。
面向过程代码思路:
struct Hui{int age; //年龄int speed; //速度int power; //力量
};struct Zhuan{int size; //大小int weight; //重量char location; //位置
};void BanZhuan{struct Hui*h,struct Zhuan*z//阿辉拿起砖//阿辉搬动砖//阿辉放下砖
}
面向对象代码思路:
class Hui{
public://拿起砖void pick();//搬动砖void move();//放下砖void down();
private:int age; //年龄int speed; //速度int power; //力量
};class Zhuan{
private:int size; //大小int weight; //重量char location; //位置int weight
}
从例子中可以看出,面向过程和面向对象解决问题的方法其实大同小异,都需要读入阿辉和砖的数据再通过算法实现搬砖。但是当对象多了之后就不一样了,比如除了阿辉还有阿宇、阿梁,这种时候如果是面向过程的话就要继续构造阿宇以及阿梁的数据结构并且更新搬砖函数,这样就会有很多的重复的代码;而如果用面向对象的话,就可以利用继承的机制,通过建立工人父类的方式来实现添加阿宇以及阿梁。