初识C语言

--本文参考书籍:

        Stephen Prata的《C Primer Plus》

前言

C 语言是一门抽象的、面向过程的语言,C 语言广泛应用于底层开发,C 语言在计算机体系中占据着不可替代的作用,可以说 C 语言是编程的基础,也就是说,不管你学习任何语言,都应该把 C 语言放在首先要学的位置上。下面这张图形象地说明 C 语言的重要性

什么是C语言

  C 语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。

C 语言是一种广泛使用的计算机语言,它与 Java 编程语言一样普及,二者在现代软件程序员之间都得到广泛使用。

当前最新的 C 语言标准为 C18 ,在它之前的 C 语言标准有 C17、C11...C99 等。

为什么选择C语言

  在过去的长时间里,C语言已经成为了最重要、最流行的编程语言之一。它的成长归功于使用过它的人都对其

非常满意。在过去的20年间,虽然很多人都从C语言转而使用其他语言(例如:C++,Java等),但是C语言凭借其自身实力在众多语言中脱颖而出。

C语言相较于其他高级语言尤其自己独特的优势,C语言在运行时候其效率是非常高的,并且后来的许多边长语言都是基于C语言来进一步拓展的,故有“C生万物”之说。

设计特性

  C语言融合了计算机科学理论和实践的控制特性。C语言的设计理念能让用户能轻松地完成自顶向下的规划、结构化编程和模块化设计。因此用C语言编写的程序更易懂、更可靠。

高效性

  C语言是一门较高效的编程语言。在设计上,它充分利用了当下计算机的优势,C语言程序相对更紧凑,运行速度更快。C语言具有通常是汇编语言才具有的微调控制能力(汇编语言是为特殊的中央处理器单元设计的一系列内部指令),可以根据具体情况微调程序以获得最大运行速度或最有效的使用内存。

可移植性

  C 语言是一门具有可移植性的语言,这就意味着,对于在一台计算机上编写的 C 语言程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作量。

强大而灵活

  C语言功能强大且灵活(计算机领域经常使用这两个词)。

  例如,功能强大的UNIX操作系统,大部分是用C语言编写的;其他语言(如perl,python,BASIC等)的许多编译器和解释器都是使用C语言编写的。因此,在UNIX机上使用FORTRAN时,最终时由C程序生成最后的可执行程序。C程序可以用于解决物理学和工程学的问题,甚至可以制作电影的动画特效。

面向程序员

  C语言是为了满足程序员的需求而设计的,程序员利用C可以访问硬件、操控内存中的位。C语言由丰富的运算符,能让程序员简洁地表达自己的意图。大多数C实现都有一个的大型的库,包含众多的有用的C函数。这些函数用于处理程序员经常需要解决的问题。

C语言的应用范围

  早在20世纪80年代,C语言就已经成为小型计算机(UNI1X系统)使用的主流语言。从那以后C语言的应用范围扩展到微型机(个人计算机)和大型机(庞然大物)。许多软件公司都用语言来开发文字处理程序电子表格编译器和其他产品,因为用语编写的程序紧凑而高效。更重要的是,C程序很方便修师移到新型号的计算机中也没什么问题。

无论是软件公司、经验丰富的程序员,还是其他用户,都能从C语言中收益。越来越多的计算机用户已转而求助C语言解决一些安全问题。不一定非得是计算机专家也能使用C语言。

20世纪90年代,许多软件公司开始改用C++来开发大型的编程项目。C++在C语言的基础上嫁接了面向对象编程工具。C+几乎是C的超集,这意味任何C程序差不多就是一个C++程序。学习C语言,也相当于学习了许多C++的知识。

C语言的应用范围

虽然这些年来C++和JAVA非常流行,但是C语言仍是软件业中的核心技能。在最想具备的技能中,C
语言通常位居前十。特别是,C语言已成为嵌入式系统编程的流行语言。也就是说,越来越多的汽车、照
相机、DVD播放机和其他现代化设备的微处理器都用C语言进行编程。除此之外,C语言还从长期被
FORTRAN独占的科学编程领域分得一杯羹。最终,作为开发操作系统的卓越语言,C在 Linux开发中扮演
着极其重要的角色。因此,在进入21世纪的第2个10年中,C语言仍然保持着强劲的势头。
简而言之,C语言是最重要的编程语言之一,将来也是如此。如果你想拿下一份编程的工作,被问到
是否会C语言时,最好回答“是”。

C primer plus笔记之初识C语言的更多相关文章

  1. go 学习笔记之初识 go 语言

    Go 是一种开源编程语言,可以轻松构建简单,可靠,高效的软件. 摘录自 github: https://github.com/golang/go,其中官网(国外): https://golang.or ...

  2. Go学习笔记:初识Go语言

    Go语言简介 Go语言是Google(谷歌)公司开发的一款静态型.编译型并自带垃圾回收机制和并发的编程语言. Go语言的风格类似于C语言.其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括 ...

  3. 《Go并发编程实战》读书笔记-初识Go语言

    <Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一. ...

  4. [编程笔记]第一章 C语言概述

    //C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...

  5. C++ Primer学习笔记(二)

    题外话:一工作起来就没有大段的时间学习了,如何充分利用碎片时间是个好问题. 接  C++ Primer学习笔记(一)   27.与 vector 类型相比,数组的显著缺陷在于:数组的长度是固定的,无法 ...

  6. 《30天自制操作系统》笔记(02)——导入C语言

    <30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...

  7. Storm学习笔记 - Storm初识

    Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大 ...

  8. 初识 go 语言:方法,接口及并发

    目录 方法,接口及并发 方法 接口 并发 信道 结束语 前言: go语言的第四篇文章,主要讲述go语言中的方法,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示例,可直接运行. 方法,接 ...

  9. 初识 go 语言:数据类型

    目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...

  10. 初识 go 语言:语法

    目录 语法 for 循环 if 语句 switch 语句 defer 语句 defer 栈 结束 前言: go语言系列第二篇,主要讲述go语言的语法,如循环,if判断,swich语句,defer语句, ...

随机推荐

  1. vol2以及mimikatz插件安装教程

    volatility2安装 https://github.com/volatilityfoundation/volatility git clone https://github.com/volati ...

  2. 洛谷P1063

    [NOIP2006 提高组] 能量项链 题目描述 在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链.在项链上有 \(N\) 颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着 ...

  3. 深入理解 JavaScript 闭包:前端开发中的重要概念

    闭包是 JavaScript 中一个非常重要的概念,对于理解和编写高效.灵活的代码至关重要.尽管它看似复杂,但一旦掌握了闭包,你将能够更好地理解 JavaScript 的函数作用域和变量生命周期.本文 ...

  4. jQuery 插件autocomplete 应用

    项目中有时会用到自动补全查询,就像Google搜索框.淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete插件就是完成这样的功能. auto ...

  5. [oeasy]python0133_[趣味拓展]好玩的unicode字符_另类字符_上下颠倒英文字符

    另类字符 回忆上次内容 上次再次输出了大红心<span style="font-size:64px;color:red"></span> 找到了红心对应的编 ...

  6. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-62 - 判断元素是否可操作

    1.简介 有些页面元素的生命周期如同流星一闪,昙花一现.我们也不知道这个元素在没在页面中出现过,为了捕获这一美好瞬间,让其成为永恒.我们就来判断元素是否显示出现过. 在操作元素之前,可以先判断元素的状 ...

  7. 【Java】 Void 类型

    void 也算一个类型,而且是基本数据类型 和其它数据类型一样提供了对应的包装类Void 每个包装类都提供一个TYPE字节实例,返回对应的原型类实例 public static void main(S ...

  8. 【SpringMVC】02 流程分析

    首先是web.xml配置SpringMVC最核心的东西,DispatcherServlet 也称为[请求分发器][前端控制器][分发Servlet] <!--1.注册DispatcherServ ...

  9. 【JS】03 BOM 浏览器对象模型

    BOM :Broswer Object Model 浏览器对象模型 核心对象是window对象,window对象又可以操作以下的常见对象: - frames[] 窗口对象数组? 浏览器可以打开多个窗口 ...

  10. blender建模渲染Tips

    blender渲染 灯光的三种方式 1,常规灯光:shift+A选择灯光. 2,世界环境光:右侧地球图标调整. 3,物体自发光:把渲染物体变成一个发光体来进行调节灯光. 渲染视窗的调节 ctrl+b裁 ...