C语言入门-1.1 C语言概述

想要学好一门计算机编程语言,就和谈一个女朋友是一样的,需要对其深入了解。

1、计算机语言

(1)什么是计算机语言?

        顾名思义,就是计算机之间交流的语言,就和人一样,咱们都是使用普通话或方言进行交流,如果我们要和国外人进行交流,那我们可以可能就需要使用英文进行交流。

 (2)人如何和计算机进行交流?

        那就需要人理解计算机语言,给计算机发送指令(计算机能认识的命令)让其执行帮我们实现想要的功能。

(3)人如何给计算机下发指令?

        如:windows系统中可以使用命令窗口执行一些指令,例如:dir、cd、rd、md、treed等;但是其更多的是执行一些特定的指令,对于一些复杂的功能,可以通过编程(或俗称代码)让计算机去执行,从而实现功能。

(4)可以用哪些编程语言有哪些?

        编程语言有很多种,如:C、C++、Go、Java、JavaScript、Python、C# 等。

(5)这些编程语言计算机如何听懂的?

        第一代:机器语言时代,计算机其实只能听懂机器语言,或者成为二进制码(即0 和 1,这个主要是计算机硬件决定的),如:0000 0000 00000010000 表示 LOAD A 16,而这种表示方式也就拒接99%的程序员;

        第二代:汇编语言时代,使用一些英文(助记符)来表示一些操作,这种助记符就构成了汇编语言,如:MOVE、ADD 等,汇编语言通过汇编器转换为机器码,从而交给计算机进行执行;相较于机器语言,能通过助记符提高功能的实现效率,也就可以让40%的程序员参与其中了,但汇编是面向机器的,不同的计算机会有不用的汇编语言,导致你的计算机只能听懂的,我的计算计只能听懂我的,不能实现程序的移植。

        第三代:高级编程语言时代,这种编程语言就是更加接近人们的使用习惯,会使用一些特定单词(或称为语法)来实现制定的功能,如:判断经常会使用到 if,循环经常会使用到 while,同事配合上一些数学中的公式等。而这些编程语言要让计算机能执行,就需要通过编译器、解释器编译(类似于你会英语就能和外国人直接交流)或解释(类似于你不会英语,你得带个会英语的翻译)成机器语言,再由计算机进行指令的执行。

编程语言表现形式
c语言a=b+1;
汇编语言mov 0x804a01c, %eax
add $0x1, %eax
mov %eax, 0x804a018
机器语言a1 1c a0 04 08
83 c0 01
a3 18 a0 04 08

(6)目前有哪些高级编程语言呢?

        如:C/Java/Python/C#/JavaScript/PHP/Go/R/...

        世界编程语言排行榜:TIOBE Index - TIOBE


2、C语言概述

- 背景:C 语言最初是作为 Unix 系统的开发工具而发明的。

- 历史:

        1969年,美国贝尔实验室的 肯.汤姆森(Ken Thompson)和 丹尼斯.里奇(Dennis Ritchie) 一起开发了 Unix 操作系统,Unix系统是用 汇编语言 编写的,依赖于计算机的硬件。为了提高代码的 可读性 和 可移植性,决定使用高级编程语言实现,但是当时的高级编程语言无法满足需求,就在选定的 BCPL 语言的基础上发明了 B语言。

        1972年,丹尼斯.里奇再B语言的基础上重写设计,取代了B语言,就称为C语言。

        1973年,整个 Unix 系统就使用 C 语言重写(现在C语言主要的一个应用场景就是操作系统开发或者是嵌入式开发)。

        1988年,美国国家标准协会(ANSI)正式将 C 语言标准化,标志着C语言开始稳定和规划化,便于推广。


3、C语言特点 

(1)可移植性好,跨平台

        用C语言编写的代码可以在不同的操作系统或硬件平台上编译和运行。

(2)应用领域广

        - 操作系统开发:广泛应用于操作系统,如:Unix、Linux和Windows系统。

        - 嵌入式系统开发:用于单片机、微处理器或其他电子设备的开发。

        - 系统软件开发:很多的设备驱动程序、编译器、解释器等系统软件。

        - 网络通信:如Web服务器、网络通信协议等。

        - 游戏开发:C语言能实现与硬件的更直接交互。

        ...

(3)偏硬件的底层语言

        - C 语言可直接对接硬件,实现对内存管理、硬件操作和操作系统,是一种非常接近底层的语言,非常适合跟硬件交互。


4、C语言版本

A、版本1:K&R C

        C语言的初始版本,由于C语言还没有成文的语法标准,C语言的布莱恩.柯林(Brian Kernighan) 与 丹尼斯.里奇(Dennis Ritchie) 合作写了《C编程语言》这本书被当做是公认标准,而将其名字姓氏的首字母作为版本的简称:“K & R C”

B、版本2:C89 或 C90

        由于C语言语法简单,很多情况下描述非常模糊,加上C语言的快速发展;1989年,美国国家标准协会(ANSI)制定了C语言的标准,次年被国际标准化组织(ISO)通过,根据发布的年份,就被称为“C89” 或 “C90”。

C、版本3:C99

        1999年,对C语言的标准进行了一次大的修改,增加了很多大的语言特性,如:// 注释、可变长度的数组、内联函数和初始化设定项等,按照年份被称为“C99”,目前最流行的版本

D、版本4:C11

        2011年,ISO再次对C语言进行了修改,增加了 _Generic、static_assert 和原子类型限定符,按照年份被称为“C11”。    

E、版本5:C17

        在2017年对标准进行了修补,新版本知识解决了C11的一些缺陷,没有引入新功能。

F、版本6:C23

        2023年,增加了类型推导、匿名结构体、半角箭头等,并使用新的工具链:包括编译器和链接器,同时增加了一些C++语言的特性,以提高语言兼容性并构建现代C。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值