为什么要学习和使用C语言?

对于理工科学生来说,这个答案可能很简单,因为这是一门必修课。而对于程序员来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎之又慎。那么,为什么要选择一门诞生了将近半个世纪的语言?

为操作系统而生的标签注定了 C 不可能平庸,实话实说,C 是一门很难学习和使用的编程语言,没有编译原理、操作系统和计算机体系结构扎实的基础知识,根本不可能把 C 学的明白、用的顺手。C 作为一门工程实用性极强的语言,提供了对操作系统和内存的精准控制,高性能的运行时环境,源码级的跨平台编译等优点,才是我们必须学习和使用 C 的理由。

同时,幸运的是 C 也是个有趣的东西,对编程的认知越深,就会越觉得有意思,我简单列举一些 C 的优点:

结构化设计语言,语法清晰、结构简单,模块化使得程序的各个部分除了必要的信息交流外彼此独立,便于开发、调试以及调试。

运算符多,把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以大大提高编程效率。

数据结构丰富,能实现各种复杂的数据类型的运算,引入指针、结构体概念使程序效率更高。

为操作系统而生,可以像汇编语言一样对位、字节和地址进行操作,允许直接访问物理地址对硬件进行操作,把高级语言的基本结构和语句与低级语言的实用性结合起来。

程序执行效率高,一般比汇编程序生成的目标代码效率低 10%~20%。

可移植性好,C 语言抽象了针对 CPU 编程的细节,能广泛应用于针对大型操作系统和系统软件的编写。

具备强大的绘图功能,和 C++ 一样也可以写出很优雅的二维、三维图形和动画。

有人说,C 是 C++ 的子集,C 能做到的事,C++ 一样能做到,并且还可以做的更好,如:三大面向对象特性、GUI 编程,诚然,我承认在 GUI 编程领域 C++ 占据着绝对的统治地位,至今无人能撼动。但真的有必要用 C++ 来替代 C 完成工作吗?很多时候 C++ 解决问题的思路真的比 C 更先进吗?

学习C语言的主要理由有以下几点:

C语言可以作为学习计算机程序设计语言的入门语言;

C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效;

C语言具有现代高级程序设计语言的基本语法特征;

常用的面向对象程序设计语言例如C++和Java,其基本语法源于C语言;

许多C语言编写的软件系统需要维护;

用于要求程序高速运行领域的编写,例如单片机程序、嵌入式系统软件和通信程序等;

游戏设计者和黑客少不了C语言;

C语言使用者和爱好者众多。

需要强调的是,C语言是一种既高级又低级的程序设计语言,高级是指它具有高级程序设计语言的所有特征,低级是指它可以代替机器语言或汇编语言编写高速运行的软件程序。C语言有丰富的库函数可以使用,这为编程带来了极大的便利性,提高了编程的效率。C语言的库函数种类齐全,包括标准输入输入(stdio.h)、数学函数(math.h)、存储分配(malloc.h)和字符串函数(string.h)等等。通过C语言程序及其存储分配函数实现计算机系统内存分配是一种不可替代的实现。

方方面面来看,C语言应该是计算机相关专业人士必须学习的基础的程序设计语言。还需要明确的是,程序设计语言只是一种工具,一种描述计算过程的工具,它主要包括语法和语义两个部分。程序设计与程序设计语言并不是一回事,需要另外加以学习。

很多小伙伴也都是刚刚接触到这个方面,有很多的不了解的地方,我这边也是给大家准备了一些相关的资料帮助大家,也是希望大家能够有所进步。一起进步。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191212A0RKYE00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券