C语言:一种通用的程序设计语言

e5e92c93a761c0af9df82e2c60cca45e.png

点击上方蓝字关注我,了解更多咨询

f5dc198be60984a040e4194597ab2460.png

语言是一种通用的程序设计语言。它同UNIX系统之间具有非常密切的关系。C语言是在UNIX系统上开发的,且无论是UNIX系统本身还是其上运行的大部分程序,都是C语言编写的。但是C语言并不受限于任何一种操作系统或机器。由于C语言使用用来编写编译器和操作系统,因此被称为“系统编程语言”。

C语言的很多重要概念来源于BCPL语言,BCPL对C语言的影响间接地来自于B语言。BCPL和B语言都是“无类型”的语言,而C语言提供了很多数据类型,其基本类型包括:字符、具有多种长度的整型和浮点数,以及通过指针、数组、枚举、结构和联合派生的各种数据类型。表达式由运算符和操作数组成。任何一个表达式,包括赋值表达式或函数调用表达式,都可以是一个语句。指针提供了与具体机器无关的地址算术运算。

Basic Combined Programming Language(BCPL)是一种早期的高级语言。1967年由剑桥大学的Matin Richards在同样由剑桥大学开发的CPL语言上改进而来。BCPL最早被用做牛津大学的OS6操作系统上面的开发工具。1970年,贝尔实验室的Ken Thompson在BCPL的基础上改进出了B语言,用于书写UNIX。这个名字取自BCPL中的第一个字母。B语言使用的时间更短,因为三年后的1973年同样是贝尔实验室的D.M.RITCHIE将B语言进一步改进,并且取了BCPL中的第二个字母将其命名为C语言。

4ccb8cc236316d118b40a14877a82aab.png

C语言为实现结构良好的程序提供了基本的控制流结构:语句组、条件判断(if-else)、分支选择(switch)、循环(while、for)、提前跳出循环(break)等。

函数可以返回基本类型、结构、联合或指针型的值。任何函数都可以递归调用。局部变量通常是“自动的”,即在每次函数调用时重新创建。一个C语言程序的不同函数可以出现在多个单独编译的不同源文件中。变量可以只在函数内部有效,也可以在函数外部但仅在一个源文件中有效,还可以在整个程序中都有效。

C语言可以处理大部分计算机能够处理的对象,比如字符、数字和地址。这些对象可以通过具体机器实现的算术运算符和逻辑运算符组合在一起并移动。

d007b36a43528b1836ca9b2309bbcb35.png

C语言不提供直接处理诸如字符串、集合、列表或数组等复合对象的操作。虽然可以将整个结构作为一个单元进行拷贝,但C语言并没有处理整个数组或字符串的操作。除了由函数的局部变量提供的静态定义和堆栈外,C语言没有定义任何存储器分配工具,也不提供堆和无用内存回收工具。另外,C语言本身没有提供输入/输出功能,没有READ或WRITE语句,也没有内置的文件访问方法。所有这些高层的机制必须由显示调用的函数提供。

类似的,C语言只提供简单的单线程控制流,即测试、循环、分支和子程序,它不提供多道程序设计、并行操作、同步和协同例程。

尽管缺少某些特性看起来好像是一个严重不足(这意味必须通过调用函数来实现),但把语言保持在一个适度的规模会有很多益处,可以用比较小的篇幅将它描述出来,这样也很容易学会。尽管如此。对于大量的程序设计应用来说,C语言是一种公认的非常高效的、表示能力很强的语言。

42adfcb2142dc125aa277ed4372d0224.png

48d793cbc0709b8ef1a12d5935ab7a83.png

END

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

5e268e2b5140a723fdf0e92f81046533.png

38c0d8d48bbc09c2dd563daa3114bd5c.gif

戳“阅读原文”我们一起进步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可禁用计算机服务,win10哪些服务可以禁用 服务哪些可以禁止启动

win10服务哪些可以禁止启动?方法一:命令方法首先使用 Windows R 组合快捷键打开“运行”窗口,之后键入 services.msc 按下回车键,即可打开“服务”。方法二:快捷方式法在Win10桌面的“此电脑”图标上点击鼠标右键&…

drill apache_如何使用Apache Drill分析高度动态的数据集

drill apache当今的数据是动态的,并由应用程序驱动。 由诸如Web /社交/移动/ IOT等行业趋势驱动的新业务应用时代的增长正在生成具有新数据类型和新数据模型的数据集。 这些应用程序是迭代的,并且关联的数据模型通常是半结构化的,无模式的且不…

如何用最短的时间学会C语言,并掌握C语言的精髓所在?

点击上方蓝字关注我,了解更多咨询及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高…

山西能源计算机专业,山西能源学院计算机科学与技术专业2016年在四川理科高考录取最低分数线...

类似问题答案四川大学计算机科学与技术专业2016年在山西理科高考录取最低分数线学校 地 区 专业 年份 批次 类型 分数 四川大学 山西 计算机科学与技术 2016 一批 理科 610 学校 地 区 专业 年份 批次 类型 分数 四川大学 山西 计算机科学与技术 2016 一批 理科 610 四川大学 山…

apache fop_Apache FOP与Eclipse和OSGi的集成

apache fopApache FOP是由XSL格式化对象( XSL-FO )驱动的开源打印处理器。 例如,将数据对象转换为PDF可能非常有用。 但是,事实证明,将其集成到PDE中并最终以OSGi Service的形式启动和运行有点麻烦。 因此&#xff0c…

2022年最值得学习的 5 种编程语言,你有在学习吗?

点击上方蓝字关注我,了解更多咨询作为一个初学者电脑程序员,很多人都会想知道当下主流的编程语言有哪些,哪些行业和公司都在用它们,因为这些信息可以帮助你了解想要学习的内容,使你更接近最终想用代码完成的事情。今天…

计算机组装名词术语解释,计算机名词解释及简答题总结

计算机名词解释及简答题总结信息技术:指的是用来扩展人们信息器官功能,协助人们更有效地进行信息处理的一类技术1.信息处理:信息的收集、加工、存储、传递、施用相关的行为和活动2.信息产业:是指生产制作信息设备,以及…

wildfly mysql_MySQL作为Kubernetes服务,可从WildFly Pod访问

wildfly mysqlKubernetes上使用Vagrant的Java EE 7和WildFly(技术提示#71)介绍了如何在使用Kubernetes和Docker托管的WildFly上运行琐碎的Java EE 7应用程序。 Java EE 7应用程序是在世界范围内交付的动手实验室 。 它使用与WildFly捆绑在一起…

想学C语言?这些你一定要知道

点击上方蓝字关注我,了解更多咨询首先,你想运行自己的C语言程序,就必须要有一个IDE(集成式开发工具)。不然想运行程序很难。这里有两个方法可以运行你的C语言程序,一个是在菜鸟网站上云运行C语言程序&#…

mongodb实验报告_Dropwizard,MongoDB和Gradle实验

mongodb实验报告介绍 我使用Dropwizard,MongoDB和Gradle创建了一个小项目。 它实际上是作为一个实验性的Guava缓存开始的,作为将计数器发送到MongoDB(或任何其他DB)的缓冲区。 我也想尝试MondleDB插件的Gradle。 接下来&#xff0…

历城职专学前计算机专业,历城职专学前教育专业2020学年第一学期技能运动会拉开帷幕...

原标题:历城职专学前教育专业2020学年第一学期技能运动会拉开帷幕技能运动会学前教育专业技能运动会1月13日,历城职专学前教育专业2020学年第一学期技能运动会拉开帷幕,技能运动会是历城职专对每一位职专学子专业技能考核的一项重要检测&…

guava集合操作类的使用_使用Guava进行测试集合的实现

guava集合操作类的使用我目前正在为LibFX添加一项新功能,为此我创建了一些类似于Java Collections Framework的自定义集合。 我一直在寻找可以与之对抗的测试,并很高兴发现Google的Guava包含了我所需要的:一个庞大的测试套件,可以…

如何正确认识C语言在当今编程领域的地位

点击上方蓝字关注我,了解更多咨询一、什么是语言,什么是C语言,有什么区别与联系?一提到语言这个词,人们自然想到的是像英语、汉语等这样的自然语言,因为它是人和人相互交流信息不可缺少的工具。大家听到我们…

三十学计算机编程,计算机学习三宗罪3——计算机达人成长之路(25)

6、论道(四)计算机学习三宗罪之偏科上文说道木鹏飞声明计算机学习的第二宗罪是学习浮躁,只流于表面而不肯深入底层学习,并指出了编程的三重境界。木鸿飞则继续咨询第三宗罪。“第三宗罪就是偏科。具体来讲有两种表现,一是动手编程和理论学习二…

fx 线程 弹窗_JFXPanel和FX Platform线程陷阱

fx 线程 弹窗JFXPanel是一个组件,可将JavaFX内容嵌入到(旧版;-))Swing应用程序中。 基本上,这使合并两个对象变得非常容易,但是要掌握一些陷阱:两个UI工具箱都是单线程的(Swing:EDT …

计算机操作系统的新技术新知识,计算机操作系统教程:核心与设计原理

计算机操作系统教程:核心与设计原理语音编辑锁定讨论上传视频《计算机操作系统教程——核心与设计原理》是2007年清华大学出版社出版的图书,作者是范策、许宪成、黄红桃。书 名计算机操作系统教程——核心与设计原理作 者范策许宪成黄红桃等ISBN97…

理解好内存管理,C语言就不难学了

点击上方蓝字关注我,了解更多咨询任何程序运行起来都需要分配内存空间存放该进程的资源信息的,C程序也不例外。C程序中的变量、常量、函数、代码等等的信息所存放的区域都有所不同,不同的区域又有不同的特性。C语言学习者、尤其是在学习嵌入式…

智伴机器人安卓怎么设置个人热点_周五到!!宿舍断网怎么办,教你一招

对于大学里喜欢上网的小伙伴们,一旦到了断网的时间段,非常的难受,今天小白教大家一招,看到最后!!以后断网再也不怕啦,熬夜伤身,慎用!!相信很多同学都知道了手…

netty socket_Netty:另一种Web(Socket)服务器

netty socket如今, Netty已用于Internet上的各种应用程序中,以处理数千个(如果不是上百万个)聊天对话,包括Minecraft , Twitter和许多其他应用程序在内的多人游戏。 但是,它并没有深入到开发企业…

计算机用户guest无法删除吗,Win7怎么删除Guest账户?

原标题:Win7怎么删除Guest账户?我们都知道,访客帐户是系统附带的帐户。通常,用户给出了访客帐户。为了确保系统的安全性,它是一个限制帐户。使用客人帐户,您有权临时使用我们的计算机。但是,一些…