C语言是计算机及其相关专业的必修课,很多编程爱好者也是从C语言开始的编程之旅。

C语言之父镇楼!


相较于GO,python等语言而言C语言真可以算是老古董了(发明于上世纪70年代),但是也正因为其历史悠久,现代很多语言都是脱胎于C语言,从很多特性中还是可以看见C语言的影子。

C语言是一门实践中诞生的语言,他出生的第一件事就是把现在仍大名鼎鼎Unix系统重构了,同是也是后来Linux诞生的基础,从这就可以看出,C语言是服务于操作系统等底层逻辑的工具,适合于对速度和内存敏感的项目,也正因为此,直到现在,C语言还是牢牢的占据着编程排行榜前三的位置(准确的说是千年老二)。

TIOBE 8月编程语言排行 1-20

不管Java和python多么火热,C语言还是依然在那里。

历史排名

C语言可以说见证了计算机行业的兴起与繁荣,但是C语言的缺点也很明显,毕竟是几十年前发明的语言,面向过程的编程方式在日新月异的互联网行业中开发效率太低(所以逐渐演化出了C++),对于很多初学者而言不像Java,python那样可以很快实现一个项目,资料也没有这些语言多,所以很多初学者都慢慢避开了C语言。

但是如果你想成为一名优秀的开发人员,而不仅仅是流于表面,做只会粘贴复制的码农,那C语言是绕不过去的坎,只有熟悉C语言,之后再面对其他语言的时候就会触类旁通,发现很好上手。

你可能会问,C语言容易上手学习吗?
答案是不一定,C语言基础的语法非常简单,库函数和关键字也不多,具有编程语言基本的逻辑结构,这是推荐学习C语言的原因。但同时其也非常接近底层,对内存和指针的操作是其最大的难点,当然也是C语言最精华的部分,所以学习C语言应该分成两步。
1.学习基本的C语言语法,很好入门。
2.深入学习指针和内存的操作,是后续进阶数据结构与算法的基础,需要深入思考实践。


C 语言究竟是一门怎样的语言?的更多相关文章

  1. C语言究竟是一门怎样的语言?

    对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员. C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在 ...

  2. (二)Python是一门什么样的语言?

    在学习python是一门什么样的语言之前首先需要知道什么是编译和解释? 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 而 ...

  3. 老李分享:Uber究竟是用什么开发语言? 1

    老李分享:Uber究竟是用什么开发语言?   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...

  4. PHP 是一门弱类型语言

    PHP 是一门弱类型语言 我们注意到,不必向 PHP 声明该变量的数据类型. PHP 会根据变量的值,自动把变量转换为正确的数据类型. 在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类 ...

  5. Python是一门什么样的语言

    先做个总结:Python是一门动态解释型的强类型定义语言. 那何为动态?何为解释?何为强类型呢? 我们需要了解编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言这6个概念就可知晓. 编 ...

  6. Python 笔试集(3):编译/解释?动态/静态?强/弱?Python 是一门怎样的语言

    面试题 解释/编译?动态/静态?强/弱?Python 到底是一门怎样的语言? 编译 or 解释? 编译.解释都是指将(与人类亲和的)编程语言翻译成(计算机能够理解的)机器语言(Machine code ...

  7. Go是一门什么样的语言?

    Go语言基本介绍 首先Go语言诞生于2007年由谷歌公司研发,2009年开源,2012年推出1.0版本,Go是一种语言层面支持并发(Go最大的特色.天生支持并发).内置runtime,支持垃圾回收(G ...

  8. C语言学习-01第一个C语言程序

    一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...

  9. 《自学C语言》第一章:C语言简介

    这一章主要介绍什么是C语言,以及它的产生.发展历史.如其中所说的计算机术语有不懂的请百度,例如什么是强类型,什么是高级语言. 1.C语言是什么? 答:C语言是一门通用计算机编程语言,应用广泛.C语言的 ...

随机推荐

  1. win10 启动后会自动恢复上次关机前的应用

    转载:https://www.v2ex.com/t/425101

  2. gdb命名记录

    gdb常用命令 显示类 info locals 显示当前局部变量 info args 显示当前函数的参数 info sharedlibrary 显示当前程序依赖的动态库 ptype val 打印变量类 ...

  3. html中使用mathjax数学公式

    测试用例: test.html: <!DOCTYPE html> <html> <head> <link rel="stylesheet" ...

  4. [LeetCode] 637. Average of Levels in Binary Tree 二叉树的层平均值

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an ...

  5. Git安装和使用(Windows)

    Git介绍 分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具. 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态:可以在该 ...

  6. Influx Sql系列教程零:安装及influx-cli使用姿势介绍

    influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Qu ...

  7. 八、spring生命周期之BeanPostProcessor

    BeanPostProcessor我们一般称为Bean的后置处理器,它与我们前面介绍的InitialingBean.init-method等一样,都是在bean的初始化时被调用,具体的用法我们在举例中 ...

  8. python3遇到的问题

    a bytes-like object is required,not str': 问题出在python3.5和Python2.7在套接字返回值解码上有区别:python bytes和str两种类型可 ...

  9. microk8s 搭建

    一.简述 microk8s不通过虚拟机但与主机隔离方式,快速轻巧安装Kubernetes.通过在单个快照包中打包Kubernetes,Docker.io,iptables和CNI的所有上游二进制文件来 ...

  10. Go语言变量的初始化

    正如上一节<Go语言变量声明>中提到的 Go语言在声明变量时,自动对变量对应的内存区域进行初始化操作.每个变量会初始化其类型的默认值,例如: 整型和浮点型变量的默认值为 0. 字符串变量的 ...