编程第一步:C语言(1)什么是C&C能拿来干什么

C语言(1)

一、什么是C

在大学的时候,很多理工科都会开设C语言这门课程。当初的我们觉得,“哇!好cool!开始学习编程预言了”。开课的第一个语句就是:

#include <stdio.h>

int main()
{
printf("Hello World!");
}
return 0;

当时会觉得,好厉害。电脑的黑框框里面会出现“Hello World!”,跟小时候看到的《黑客帝国》里面的场景一样耶!
但同时对上面的各种英文字符,产生疑问。到底那个#Include是个啥,后面尖括号里面的stdio.h又是个啥玩意。大概很多同学跟我一样,能够看懂print的意思。但是它后面为啥又多了个f。反正就是脑子里都是问号。

下面,我就从起源开始讲起,什么是C语言,C语言又是来自哪里!

好久好久以前,在美国的贝尔实验室,有一群人闲的无聊。然后讨论到为什么不能对底层的机器语言进行简易化的处理,那样我们就有更多的时间可以出去愉快的玩耍。他们以BCPL语言为基础,开始设计,
一个叫Ken Thompson的小伙子写出了B语言。但是另外一个喜欢玩耍的小伙子Dennis M.Ritchie,觉得还是麻烦,然后继续对其优化。这不C语言就此出现了。

众所周知,C是现在很多很多计算机语言的爸爸!对,就是爸爸。不要说什么汇编、机器语言啊之类的。那都是偏底层的语言,跟硬件的联系比较多。C语言是是系统层级的高级语言,它是面向过程的。那么什么是面向过程?

面向过程

面向过程就是以过程为中心的编程思想。分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步的完成实现,使用的时候一个一个按照顺序调用就可以。以公共汽车为例,在面向过程的思想里面,汽车启动是一个事件,汽车到站是另外一个事件。在编写程序的时候,我们关注的是其中某一个事件,而不是关注汽车本身。所以我们需要分别对启动和到站进行编写程序。

这里稍微的扩展一下,什么是以后要学的***C++***中的面向对象的思想:
面向对象是一种以事物为中心的编程思想。还是以公共汽车为例,这次我们关注的点就是汽车这个对象,这个对象里面会包含很对自己的属性,比如轮胎大小,汽车的颜色等;还有就是它有自己的运行方法,比如启动的方式啊,到站停车的方式。面向对象需要建立一个汽车的实例模型,这就是以后C++里面的容器还有类之类的东西。所以在针对汽车这个例子编程,我们就需要对汽车的属性和运行方法分别进行编程。

二、C的优缺点

任何一种语言都会有利弊,包括我们现在所用的汉语呀,英语。汉语是 方块行体字,可表音也可表意。同样的一个字,在不同的环境下面可以表示不同的意思。但是在编程领域,由于汉语的极简风格,使用使用不是很方便。对于英语来说,每出现一个新的事物,就必须造个新词。因此,单词量会越来越多,不同的专利领域更是相差很大。

在计算机编程语言当中,C语言也有利与弊。

1.优点

(1)C语言是一种结构化的语言:它的层次清晰明了,可以按照模块化的方式进行编写,十分有利于现代化的工作形式。
(2)C语言具有简洁化的语言:它包含的各种控制语句仅9种,关键词只有32各,程序的编写要求不是很严格,大小写也作为区分条件。同时由于是高级语言,本身不提供与硬件之间的联系,所以在需要对硬件进行操作的时候,只需要添加相应的库就行。按需所取,效率高,形式简洁。
(3)C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
(4)C语言包含的数据类型广泛:不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
(5)C语言与底层有良好的联系:C语言允许对硬件的内存进行直接读写,可以实现很多汇编语言的功能,同时也比汇编语言更加容易编写。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。
(6)C语言具有良好的移植性,和延续性:python这两年很火,但是3与2之间互相不连续,不兼容。C语言移植到另外的一台电脑上,就能直接运行。

2.缺点

为啥后来会出现C++,这都是C语言的缺点导致的。
(1)C语言缺乏对数据的封装,核心代码就很直白的出现的所有人的面前,这样会导致1.代码的泄露,2、数据的安全问题。因为在移植过程中,你不晓得,哪里会不会复制错误,出现个bug。
(2)由于开发的时间比较早,因此很多语法不全面。这个问题已经在C++中解决。

三、C能拿来干什么

C语言的场景非常丰富,大多数的编程场景都是有C的身影。
目前C语言仍然是世界上最流行、使用最广泛的高级编程语言。
(1)上层开发
(2)底层开发
(3)嵌入式设备开发:单片机、DSP、FPGA
(4)游戏软件开发;
(5)操作系统的开发;
(6)数字计算,但随着机器学习的发展,现在python比较火
(7)机器学习,其中可以用到OpenCV这样的库,但是现在opencv都是C++编写及python。

四、C小结

C语言是计算机编程的毕竟之路,当然很多时候可以选择从JAVA或python。但是计算机编程思想大都一脉相承。学好C,可以为以后的编程之路打下坚实的基础!
加油!奥里给!在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值