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语言基础好。

  1. 可以写网站后台程序
  2. 可以写GUI界面(Windows等可视化操作界面)
  3. 可以针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。
  4. 可以写出大型游戏的引擎
  5. 可以写出另一个语言
  6. 可以写操作系统和驱动程序,并且只能用C语言编写,Linux操作系统的全部源代码都可以在网上得到,要深入了解操作系统的运行秘密,懂C语言就可以看懂。
  7. 任何设备只要配置了微处理器,就都支持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语言开发环境搭建

  1. Visual studio(全宇宙最强编译器)

记得勾选C++开发