C语言概述
1.1.1 什么是C语言
C语言就是和电脑进行交流的语言。学习C语言是为了进阶C++。
1.1.2 什么是软件
软件:一系列按照特定顺序组织的计算机数据和指令集合。
常见的软件:
系统软件:如:DOS、Windows、Linux、IOS、Android等。
应用软件:如:微信、扫雷、迅雷、QQ等。
软件的出现实现了人与计算机之间的更好的交互。
交互方式:
自然交互界面:声音控制、触摸屏手势识别。
图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。
命令行方式:需要一个控制台,输入特定的指令,让计算机完成一系列操作。较为麻烦,需要记录住一些命令。
1.1.3 计算机信息存储
位(Bit):度量数据的最小单位
字节(Byte):最常用的基本单位,一个字节有8Bit
K :1K = 1024 byte
M(兆):1M = 1024 K
G(吉):1G = 1024 M
T (太):1T = 1024 G
1.1.4 进制的概念
注意:计算机是用二进制存储数据的。
十进制: R=10 数字集 0123456789
二进制: R=2 数字集 01
八进制: R=8 数字集 01234567
十六进制:R=16 数字集 0~9ABCDEF
1.1.5 程序与指令
指令是对计算机进行程序控制的最小单位。
所有的指令的集合称为计算机的指令系统。电脑是X86,手机是 ARM。
程序是为了完成一项特定任务而用某种语言来编写的一组指令序列。
计算机的大脑或者是心脏就是CPU,它控制着整个计算机运作,每种CPU,都有自己的指令系统,这个指令系统,就是该CPU的机器语言。机器语言是一组由0和1系列组成的指令码,这些指令码,是CPU制作厂商规定出来的,然后发布出来,请程序员遵守。比如下面某CPU指令系统中的两条指令:
10000000 加 | 10010000 减
要让计算机工作,就得用这样的语言去命令它。这样的命令,不是一条两条,而是上百条。而且不同型号的计算机其计算机语言是不相通的,按着一种计算机的机器指令编制的程序,不能在另一种计算机上执行。
终于出现了汇编语言,就是一些标识符取代0与1,一门人类可以比较轻松认识的编程语言。只是这门语言计算机并不认识,所以人类还不能用这个语言命令计算机做事情。
所以,有一类专门的程序,既认识机器语言,又认识汇编语言,也就是编译器,将标识符转化为0与1,知道怎么把汇编语言翻译成机器语言。于是人类和机器间的交流,终于又畅通了,而且人类可以比较轻松的编写程序了,也就是编译器,将标识符转化为0与1。
汇编语言和机器语言都是面向机器的,机器不同,语言也不同。既然有办法让编译器翻译成机器语言,难道就不能把其他更人性化的语言翻译成机器语言?1954年,Fortran 语言出现了,其后相继出现了类似的语言。这批语言,使程序员摆脱了计算机硬件的限制,把主要精力放在了程序设计上,不在关注底层的计算机硬件。这类语言称为高级语言。同样的,高级语言要被计算机执行,也需要一个翻译程序将其翻译成机器语言,这就是编译程序,简称编译器。
这类高级语言解决问题的方法是分析出解决问题所需要的步骤,把程序看作是数据加工的过程。基于这类方法的程序设计语言成为面向过程的语言。C语言就是这种面向过程的程序设计语言。
1.1.5.1
例子:使用指令关机
Shutdown -s -t 600 // 关机
shutdown -a // 取消关机
Shutdown -r -t // 重启
1.1.6 主流语言进化史
艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日 - 1954年6月7日),英国数学家、逻辑学家,被称为计算机之父,人工智能之父。
1.1.6.1 PHP是最好的语言出处
PHP是最好的语言这个梗不是出自别处,而就是出自PHP的官方文档!
PHP is the best language for web programming,but what about other languages?
Because PHP is the best language ever, ever It`s fast ,very powerful, and free.
1.1.6.2
第一代:机器语言
第二代:汇编语言
第三代:C语言
第四代:C/C++、ObjectiveC语言
第五代:Java、C#、PHP、Lua、Pyhon、VB
1.1.7 C语言特点
代码量小(相对汇编)执行速度快可移植性较差
功能强大(上帝之手)过于自由,经验不足易出错
编程自由(基本后面的语言都它写的)对平台库依赖较多
编写代码实现周期长 可移植性较差
1.1.8 为什么要学C语言
因为强,黑客必备。
名企、外企、高新程序员面试必考
未来的精英语言
1.1.9 C语言适用领域
计算机领域,C/C++大小通吃
C语言的应用极为广泛,从网站后台,到底层操作系统,从多媒体应用到大型网络游戏,从主板开发到人工智能均可使用C语言来开发。大公司职位,高薪职位都要求C语言基础好。
- 可以写网站后台程序
- 可以写GUI界面(Windows等可视化操作界面)
- 可以针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。
- 可以写出大型游戏的引擎
- 可以写出另一个语言
- 可以写操作系统和驱动程序,并且只能用C语言编写,Linux操作系统的全部源代码都可以在网上得到,要深入了解操作系统的运行秘密,懂C语言就可以看懂。
- 任何设备只要配置了微处理器,就都支持C语言。从微波炉到手机,都是由C语言技术来推动的。嵌入式开发
1.2.0 C语言关键字
C语言仅有32个关键字,9种控制语句,却能完成无数的功能。
32个关键字:(由系统定义,不能重做其他定义)
auto | break | case | char | const |
---|---|---|---|---|
continue | default | do | double | else |
Enum | extern | float | for | go to |
if | int | long | register | return |
short | signed | size of | static | struct |
switch | typedef | unsigned | union | void |
volatile | while | | ||
| ||||
| ||||
1.2.1 9种控制语句
If () ~ else ~
For () ~
while ()~
do ~ while ()
Continue
Break
Switch
Go to
Return
1.2.2 C语言的34种运算符
34种运算符:
算术运算符:+ - * / % ++ –
关系运算符:< <= == > >= !=
逻辑运算符:! && ||
位运算符:<< >> ~ | ^ &
赋值运算符: = 及其扩展
条件运算符:?:
逗号运算符:,
指针运算符:* &
求字节数:sieze of
强制类型转化:(类型)
分量运算符:. ->
下标运算符:[]
其他::() -
2.0 C语言开发环境搭建
- Visual studio(全宇宙最强编译器)
记得勾选C++开发