首页 > 代码库 > 黑马程序员—01-c语言概述

黑马程序员—01-c语言概述

------- android培训、java培训、期待与您交流! ----------

 

 

 

 

一、      计算机和软件常识

 

1.       计算机运行原理

 

1)          硬件基本组成:硬盘、内存、CPU

 

 

 

2.       计算机只能识别0和1

 

1)          0和1组成的指令

 

2)          0和1组成的数据

 

 

 

3.       计算机和软件的联系

 

1)          软件的基本概念:指令的集合

 

2)          软件的安装运行过程

 

u   安装在硬盘

 

u   运行在内存

 

3)          为什么要开发软件:写出能控制计算机的指令

 

 

 

4.       计算机语言

 

1)          一门跟计算机打交道的语言

 

2)          方便写出一连串的指令

 

 

 

二、      计算机语言发展史

 

 

 

1.       机器语言

 

1)          简介:所有代码里面只有0和1,每一条指令称为“机器指令”

 

2)          优点

 

u   代码能被计算机直接识别,直接对硬件产生作用,程序的执行效率非常高

 

u   能直接访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等

 

3)          缺点

 

u   程序全是些0和1的指令代码,可读性差,还容易出错

 

 

 

u   对硬件的依赖性很强,因此不同型号计算机的机器语言又不一样。也就是说,如果2台不同型号的机器想实现一样的功能,需要编写2套完全不同的代码

 

u   要熟记所用计算机的全部指令和指令的涵义,指令又多又难记

 

 

 

4)          使用场合

 

综上所述,机器语言很难掌握和推广,现在除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了

 

 

 

2.       汇编语言

 

1)          简介:用英文单词等符号代替机器指令

 

2)          优点

 

u   像机器语言一样,可以直接访问、控制计算机的各种硬件设备

 

u   占用内存少,执行速度快

 

3)          缺点

 

u   不同的机器有不同的汇编语言语法和编译器,代码缺乏可移植性,也就是说,一个程序只能在一种机器上运行,换到其他机器上就不能运行

 

u   符号非常多、难记,即使是完成简单的功能也需要大量的汇编语言代码,很容易产生BUG,难于调试

 

u   必须对硬件非常了解,开发效率很低,周期长且单调

 

4)          使用场合

 

u   操作系统内核、驱动程序、单片机程序

 

u   软件的加密、解密、破解

 

u   病毒的制作、防治

 

u   程序的调试、分析

 

 

 

3.       高级语言

 

1)          简介:接近自然语言

 

2)          优点

 

u   简单、易用、易于理解,语法和结构类似于普通英文

 

u   远离对硬件的直接操作,使得一般人经过学习之后都可以编程,而不用太熟悉硬件知识

 

u   一个程序还可以在不同的机器上运行,具有可移植性

 

3)          缺点

 

u   程序不能直接被计算机识别,需要经编译器翻译成二进制指令后,才能运行到计算机上

 

4)          种类:C语言、C++、C#、Java、Objective-C等

 

 

 

三、      C语言简介

 

1.       先学习C语言的原因

 

1)          OC基于C

 

2)          OC跟C的思想和语法很多地方不太一样,而且OC能和C混用

 

3)          C是所有编程语言中的经典,很多高级语言都是从C语言中衍生出来的,比如C++、C#、Objective-C等

 

 

 

2.       简史

 

1)          C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前主要是用汇编语言写的,它奠定了操作系统的基础)

 

2)          随着UNIX操作系统的成功,C语言也得到了大幅度地推广,被先后使用到大、中、小、微型主机上,至今还是世界上最流行、使用最广泛的高级程序设计语言之一

 

3)          C语言是一门面向过程的语言,非面向对象的语言

 

 

 

3.       特点

 

1)          丰富的运算符

 

2)          丰富的数据类型

 

3)          可以直接操作硬件

 

4)          高效的目标代码

 

5)          可移植性好

 

 

 

4.       主要用途

 

1)          编写系统软件、图形处理、单片机程序、嵌入式系统开发

 

2)          编写游戏外挂

 

3)          编写android程序

 

4)          编写iOS程序

 

……

 

 

 

黑马程序员—01-c语言概述