C语言——C语言概述
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语言特点
兼具高级语言、低级语言的双重能力
。C语言能够直接操作硬件、管理内存、跟操作系统对话,这使得它是一种非常接近底层的语言,也就是低级语言,非常适合写需要跟硬件交互、有极高性能要求的程序。生成的目标代码质量好,程序执行效率高
。C语言具有汇编语言的许多特性,一般只比汇编程序生成的目标代码低 10%~20% ,可以开发执行速度很快的程序。语言简洁,结构清晰
。C语言的语法相对简单,语法规则不算太多,也几乎没有语法糖。一般来说,如果两个语法可以完成几乎相同的事情,C语言就只会提供一种,这样大大减少了语言的复杂性。语言表达能力强
。C语言运算符丰富,总共有34种运算符。程序通用性、可移植性好
。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语言概述相关推荐
- 山西农业大学c语言答案,第一章C语言及程序设计概述-东北农业大学教务处.doc...
全国高等农林院校"十一五"规划教材 C语言程序设计 孙力 主编 中国农业出版社 内容简介 本书是全国高等农林院校"十一五"规划教材之一. 全书共11章,分别介绍 ...
- 1.Java之路(Java语言发展和概述以及特点)
1.Java语言概述 1.1 什么是Java语言 Java语言是美国Sun公司(StanfordUniversityNetwork),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言 ...
- 《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序...
本节书摘来自华章出版社<C语言程序设计与实践(第2版)>一书中的第1章,第1.1节,作者:凌云等著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第1章 C语言 ...
- 语言 {软件开发概述}
语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: ...
- c语言程序设计林小茶,C语言第一篇概述林小茶
<C语言第一篇概述林小茶>由会员分享,可在线阅读,更多相关<C语言第一篇概述林小茶(8页珍藏版)>请在人人文库网上搜索. 1.第一章,C,语言概述,1.1,程序与程序设计语言, ...
- c语言程序设计论文总结,大学工科C语言程序设计教学概述论文
大学工科C语言程序设计教学概述论文 1教学内容 在教学过程中不能以是否将C语言所有知识点都讲授完为教学目标,而应该转向以培养学生"分析问题和解决问题"的能力为核心,淡化语法细节,让 ...
- 程序设计语言python语言概述
程序设计语言 什么是程序设计语言 程序设计语言是人类与计算机交流和沟通的语言.人们通过使用程序语言,来书写计算机程序,以达到设计的程序满足需求的目的. 程序语言的发展历史 程序语言经历了从低级语言到高 ...
- linux 在指定区域分配内存 c语言,C语言动态内存分配:(一)malloc/free的实现及malloc实际分配/释放的内存...
一.malloc/free概述 malloc是在C语言中用于在程序运行时在堆中进行动态内存分配的库函数.free是进行内存释放的库函数. 1.函数原型 #include void *malloc( s ...
- python语言是哪种语言_python语言是哪种语言
python的三种选择语句_电子/电路_工程科技_专业资料.本文将详细介绍 Python 语言中的三种选择语句:if 语句,if/else 语句和 if/elif/else 语句.对 于每种语句,.. ...
- 为什么我们需要一门新语言——Go语言
编程语言已经非常多,偏性能敏感的编译型语言有 C.C++.Java.C#.Delphi和Objective-C等,偏快速业务开发的动态解析型语言有 PHP.Python.Perl.Ruby.JavaS ...
最新文章
- ArcGIS API for JavaScript压缩版(compact)与标准版的区别
- [深度学习] AutoDis --- KDD2021 连续特征的Embedding学习框架
- python安装依赖包经常出错怎么办_Python 下载依赖包环境经常失败超时解决方法...
- (Josephus )约瑟夫环问题 C语言实现
- java丢硬币boolean_抛硬币模拟器
- python读取odb_python提取Abaqus软件odb文件位移数据(方法1)
- latex插入参考文献--BibTex格式
- SuperMap iDesktop常见问题解答集锦 (二)
- 计算机电源+3c认证,电源适配器要不要做3C认证?怎么做
- 既是计算机高手,也是情书高手,原来王小波才是最会撩妹的程序员
- 大数据教程:数据可视化(ECharts)
- 是时候让《武林外传》教你反内卷了
- 使用css样式做出亚克力背景和透明背景
- 瑞典皇家理工学院计算机学什么,瑞典皇家理工大学学科设置是怎样的?
- 《时光不再,你还在》凌莫寒白静熙第二章 这么开心的时刻,他只想和我庆祝...
- redis数据类型之GEO
- PHP下载文件(laravel)
- c语言魔法阵原理,魔法阵构成理论及运行原理
- Hyper-V 和 VMWare 终于可以无缝共存、同时运行了
- 研大考研不是骗子:考研政治时事之破除国企岗位
热门文章
- 用python来新建并复制文件内容
- iOS网络请求优化之DNS映射
- 云红包SDK:金融魔方云红包SDK助力摄影大赛玩出新亮点
- 2020年煤矿安全检查免费试题及煤矿安全检查考试技巧
- yarn install报Integrity check failed for “extension-widgets“(computed integrity doesn‘t match our)
- 一直都想用AGI技术做市场营销/品牌
- Vue3.0 provide与inject依赖注入:VCA
- NBA全明星对抗赛,如果改革一下,变为东,西,国际三队比赛,会不会更好看
- 宝鸡文理学院计算机系教师,2021年宝鸡文理学院招生专业排名及重点优势专业排名榜...
- Netty入门 初识Netty helloword netty组件EventLoop源码分析