C语言概述

  • 1.1 C语言发展简史
  • 1.2 C语言特点
  • 1.3 C语言的编译
  • 1.4 Hello World 示例

1.1 C语言发展简史

  • C语言最初是作为 Unix 系统的开发工具而发明的。
  • 1969年,美国贝尔实验室的肯·汤普森(Ken Thompson)与丹尼斯·里奇(Dennis Ritchie)一起开发了Unix操作系统。Unix是用汇编语言写的,无法移植到其他计算机,他们决定使用高级语言重写。但是,当时的高级语言无法满足他们的要求,汤普森就在BCPL语言的基础上发明了B语言。
  • 1972年,丹尼斯·里奇和布莱恩·柯林汉(Brian Kernighan)又在B语言的基础上重新设计了一种新语言,这种新语言取代了B语言,所以称为C语言。
  • 1973年,整个Unix系统都使用C语言重写。此后,这种语言开始快速流传,广泛用于各种操作系统和系统软件的开发。
  • 1988年,美国国家标准协会(ANSI)正式将C语言标准化,标志着C语言开始稳定和规范化。
  • 几十年后的今天,C语言依然是最广泛使用、最流行的系统编程语言之一,Unix和Linux系统现在还是使用C语言开发。

1.2 C语言特点

  1. 兼具高级语言、低级语言的双重能力。C语言能够直接操作硬件、管理内存、跟操作系统对话,这使得它是一种非常接近底层的语言,也就是低级语言,非常适合写需要跟硬件交互、有极高性能要求的程序。
  2. 生成的目标代码质量好,程序执行效率高。C语言具有汇编语言的许多特性,一般只比汇编程序生成的目标代码低 10%~20% ,可以开发执行速度很快的程序。
  3. 语言简洁,结构清晰。C语言的语法相对简单,语法规则不算太多,也几乎没有语法糖。一般来说,如果两个语法可以完成几乎相同的事情,C语言就只会提供一种,这样大大减少了语言的复杂性。
  4. 语言表达能力强。C语言运算符丰富,总共有34种运算符。
  5. 程序通用性、可移植性好。C语言的原始设计目的,是将 Unix 系统移植到其他计算机架构。这使得它从一开始就非常注重可移植性,C程序可以相对简单地移植到各种硬件架构和操作系统。

1.3 C语言的编译

C语言是一种编译型语言,源码都是文本文件,本身无法执行。必须通过编译器,生成二进制的可执行文件,才能执行。编译器将代码从文本翻译成二进制指令的过程,就称为编译阶段,又称为“编译时”,跟运行阶段(又称为“运行时”)相区分。

1.4 Hello World 示例

C语言的源代码文件,通常以后缀名.c结尾。下面是一个简单的C程序。它就是一个普通的文本文件,任何文本编译器都能用来写。

#include <stdio.h>
int main(void) {printf("Hello World\n");return 0;
}

上面这个程序的唯一作用,就是在屏幕上面显示 “Hello World”。

C语言——C语言概述相关推荐

  1. 山西农业大学c语言答案,第一章C语言及程序设计概述-东北农业大学教务处.doc...

    全国高等农林院校"十一五"规划教材 C语言程序设计 孙力 主编 中国农业出版社 内容简介 本书是全国高等农林院校"十一五"规划教材之一. 全书共11章,分别介绍 ...

  2. 1.Java之路(Java语言发展和概述以及特点)

    1.Java语言概述   1.1 什么是Java语言 Java语言是美国Sun公司(StanfordUniversityNetwork),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言 ...

  3. 《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序...

    本节书摘来自华章出版社<C语言程序设计与实践(第2版)>一书中的第1章,第1.1节,作者:凌云等著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 C语言 ...

  4. 语言 {软件开发概述}

    语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: ...

  5. c语言程序设计林小茶,C语言第一篇概述林小茶

    <C语言第一篇概述林小茶>由会员分享,可在线阅读,更多相关<C语言第一篇概述林小茶(8页珍藏版)>请在人人文库网上搜索. 1.第一章,C,语言概述,1.1,程序与程序设计语言, ...

  6. c语言程序设计论文总结,大学工科C语言程序设计教学概述论文

    大学工科C语言程序设计教学概述论文 1教学内容 在教学过程中不能以是否将C语言所有知识点都讲授完为教学目标,而应该转向以培养学生"分析问题和解决问题"的能力为核心,淡化语法细节,让 ...

  7. 程序设计语言python语言概述

    程序设计语言 什么是程序设计语言 程序设计语言是人类与计算机交流和沟通的语言.人们通过使用程序语言,来书写计算机程序,以达到设计的程序满足需求的目的. 程序语言的发展历史 程序语言经历了从低级语言到高 ...

  8. linux 在指定区域分配内存 c语言,C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存...

    一.malloc/free概述 malloc是在C语言中用于在程序运行时在堆中进行动态内存分配的库函数.free是进行内存释放的库函数. 1.函数原型 #include void *malloc( s ...

  9. python语言是哪种语言_python语言是哪种语言

    python的三种选择语句_电子/电路_工程科技_专业资料.本文将详细介绍 Python 语言中的三种选择语句:if 语句,if/else 语句和 if/elif/else 语句.对 于每种语句,.. ...

  10. 为什么我们需要一门新语言——Go语言

    编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...

最新文章

  1. ArcGIS API for JavaScript压缩版(compact)与标准版的区别
  2. [深度学习] AutoDis --- KDD2021 连续特征的Embedding学习框架
  3. python安装依赖包经常出错怎么办_Python 下载依赖包环境经常失败超时解决方法...
  4. (Josephus )约瑟夫环问题 C语言实现
  5. java丢硬币boolean_抛硬币模拟器
  6. python读取odb_python提取Abaqus软件odb文件位移数据(方法1)
  7. latex插入参考文献--BibTex格式
  8. SuperMap iDesktop常见问题解答集锦 (二)
  9. 计算机电源+3c认证,电源适配器要不要做3C认证?怎么做
  10. 既是计算机高手,也是情书高手,原来王小波才是最会撩妹的程序员
  11. 大数据教程:数据可视化(ECharts)
  12. 是时候让《武林外传》教你反内卷了
  13. 使用css样式做出亚克力背景和透明背景
  14. 瑞典皇家理工学院计算机学什么,瑞典皇家理工大学学科设置是怎样的?
  15. 《时光不再,你还在》凌莫寒白静熙第二章 这么开心的时刻,他只想和我庆祝...
  16. redis数据类型之GEO
  17. PHP下载文件(laravel)
  18. c语言魔法阵原理,魔法阵构成理论及运行原理
  19. Hyper-V 和 VMWare 终于可以无缝共存、同时运行了
  20. 研大考研不是骗子:考研政治时事之破除国企岗位

热门文章

  1. 用python来新建并复制文件内容
  2. iOS网络请求优化之DNS映射
  3. 云红包SDK:金融魔方云红包SDK助力摄影大赛玩出新亮点
  4. 2020年煤矿安全检查免费试题及煤矿安全检查考试技巧
  5. yarn install报Integrity check failed for “extension-widgets“(computed integrity doesn‘t match our)
  6. 一直都想用AGI技术做市场营销/品牌
  7. Vue3.0 provide与inject依赖注入:VCA
  8. NBA全明星对抗赛,如果改革一下,变为东,西,国际三队比赛,会不会更好看
  9. 宝鸡文理学院计算机系教师,2021年宝鸡文理学院招生专业排名及重点优势专业排名榜...
  10. Netty入门 初识Netty helloword netty组件EventLoop源码分析