介绍一些编程语言—C语言

这篇具有很好参考价值的文章主要介绍了介绍一些编程语言—C语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍一些编程语言—C语言

C语言

简介

C 语言是一门面向过程的计算机编程语言,与 C++、C#、Java 等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C 语言一般只比汇编语言代码生成的目标程序效率低 10 % 10\% 10% 20 % 20\% 20%。因此,C 语言可以编写系统软件。

当前阶段,在编程领域中,C 语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是 C 语言应用的两大领域。同时,C 语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

C 语言拥有经过了漫长发展历史的完整的理论体系,在编程语言中具有举足轻重的地位。

介绍一些编程语言—C语言,编程语言介绍,c语言,开发语言

介绍一些编程语言—C语言,编程语言介绍,c语言,开发语言

发展历史

C 语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的 B 语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了 UNIX,且随着 UNIX 的发展,C 语言也得到了不断的完善。为了利于 C 语言的全面推广,许多专家学者和硬件厂商联合组成了 C 语言标准委员会,并在之后的 1989 1989 1989 年,诞生了第一个完备的 C 标准,简称 C89,也就是“ANSI C”,截至 2020 2020 2020 年,最新的 C 语言标准为 2018 2018 2018 6 6 6 月发布的 C18。

1967 1967 1967 年,剑桥大学的 Martin Richards 对 CPL 语言进行了简化,于是产生了 BCPL(Basic Combined Programming Language)语言。也就是 B 语言。

20 20 20 世纪 60 60 60 年代,美国 AT&T 公司贝尔实验室(AT&T Bell Laboratories)的研究员肯·汤普森(Kenneth Lane Thompson)闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——Space Travel。他背着老板,找到了台空闲的小型计算机——PDP-7。但这台电脑没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNICS(Uniplexed Information and Computing Service)。

1969 1969 1969 年,美国贝尔实验室的 Ken Thompson,以 BCPL 语言为基础,设计出很简单且很接近硬件的 B 语言,并且用 B 语言写了初版 UNIX 操作系统叫作 UNICS。

1971 1971 1971 年,同样酷爱 Space Travel 的丹尼斯·里奇为了能早点儿玩上游戏,加入了汤普森的开发项目,合作开发 UNIX。他的主要工作是改造 B 语言,使其更成熟。

1972 1972 1972 年,美国贝尔实验室的丹尼斯·里奇在B语言的基础上最终设计出了一种新的语言,他取了 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言。

1973 1973 1973 年初,C 语言的主体完成。汤普森和里奇迫不及待地开始用它完全重写了 UNIX。此时,编程的乐趣使他们已经完全忘记了那个 Space Travel,一门心思地投入到了 UNIX 和 C 语言的开发中。随着 UNIX 的发展,C 语言自身也在不断地完善。

直到 2020 2020 2020 年,各种版本的 UNIX 内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承汤普逊和里奇之手的代码。

在开发中,他们还考虑把 UNIX 移植到其他类型的计算机上使用。C 语言强大的移植性在此显现。机器语言和汇编语言都不具有移植性,为 x86 开发的程序,不可能在 Alpha、SPARC 和 ARM 等机器上运行。而 C 语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的 C 语言编译器和库,然后将 C 源代码编译、连接成目标二进制文件之后即可在哪种架构的处理器运行。

1977 1977 1977年,丹尼斯·里奇发表了不依赖于具体机器系统的 C 语言编译文本《可移植的 C 语言编译程序》。

C 语言继续发展,在 1982 1982 1982 年,很多有识之士和美国国家标准协会为了使 C 语言健康地发展下去,决定成立C 标准委员会,建立 C 语言的标准。委员会由硬件厂商、编译器及其他软件工具生产商、软件设计师、顾问、学术界人士、C 语言作者和应用程序员组成。

1989 1989 1989 年,ANSI 发布了第一个完整的 C 语言标准——ANSI X3.159-1989,简称 C89,不过人们也习惯称其为“ANSI C”。C89 在 1990 1990 1990 年被国际标准化组织—ISO,一字不改地采纳,ISO 官方给予的名称为:ISO/IEC 9899,所以 ISO/IEC9899:1990 也通常被简称为“C90”。1999年,在做了一些必要的修正和完善后,ISO发布了新的C语言标准,命名为ISO/IEC 9899:1999,简称 C99。

2011 2011 2011 12 12 12 8 8 8 日,ISO 又正式发布了新的标准,称为 ISO/IEC9899:2011,简称为 C11

语言特点

主要特点

C 语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且 C 语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。通过对C语言进行研究分析,总结出其主要特点如下:

  1. 简洁的语言

C语言包含的各种控制语句仅有 9 9 9 种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且 C 语言本身不提供与硬件相关的输入输出、文件管理等功能,故 C 语言拥有非常简洁的编译系统。

  1. 具有结构化的控制语句

C 语言是一种结构化的语言,提供的控制语句具有结构化特征,可以用于实现函数的逻辑控制,方便面向过程的程序设计。

  1. 丰富的数据类型

C 语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。

  1. 丰富的运算符

C 语言包含 34 34 34 个运算符,它将赋值、括号等均视作运算符来操作,使 C 程序的表达式类型和运算符类型均非常丰富。

  1. 可对物理地址进行直接操作

C 语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。C 语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。

  1. 代码具有较好的可移植性

C 语言是面向过程的编程语言,在用 C 语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,从而极大的减少了程序移植的工作强度。

  1. 可生成高质量、目标代码执行效率高的程序

与其他高级语言相比,C 语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。

特有特点

C 语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。具体体现为以下三个方面:

  • 其一,广泛性。C 语言的运算范围的大小直接决定了其优劣性。C 语言中包含了 34 34 34 种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。此外,C 语言包含了字符型、指针型等多种数据结构形式,因此,更为庞大的数据结构运算它也可以应付。

  • 其二,简洁性。 9 9 9 类控制语句和 32 32 32 个关键字是 C 语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。

  • 其三,结构完善。C 语言是一种结构化语言,它可以通过组建模块单位的形式实现模块化的应用程序,在系统描述方面具有显著优势,同时这一特性也使得它能够适应多种不同的编程要求,且执行效率高。

缺点

  1. C 语言的缺点主要表现为数据的封装性弱,这一点使得 C 语言在数据的安全性上有很大缺陷,这也是 C 和 C++ 的一大区别。

  2. C 语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用 C 语言的人,要求对程序设计更熟练一些。

编程开发编辑

编译器

GCC,GNU 组织开发的开源免费的编译器

MinGW,Windows 操作系统下的 GCC

Clang,开源的BSD协议的基于 LLVM 的编译器

Visual C++ :: cl.exe,Microsoft VC++ 自带的编译器

集成开发环境

Code::Blocks,开源免费的 C/C++ IDE

CodeLite,开源、跨平台的 C/C++ 集成开发环境

Dev-C++,可移植的 C/C++IDE

C-Free

Light Table

Visual Studio 系列文章来源地址https://www.toymoban.com/news/detail-646353.html

简单程序

打印 Hello World!

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

计算 A + B problem

#include <stdio.h>
int main(){
	int a, b;
	scanf("%d%d", &a, &b); 
    printf("%d", a + b);
    return 0;
}

判断奇偶数

#include <stdio.h>
int main(){
	int a;
	scanf("%d", &a);
	if(a % 2 == 0) {
		printf("是偶数");
	}
	else {
		printf("是奇数");
	}
    return 0;
}

计算 1 + 2 + 3 + ⋯ + ( n − 1 ) + n 1+2+3+\dots+(n−1)+n 1+2+3++(n1)+n 的值

#include <stdio.h>
int main(){
	int n, sum;
	scanf("%d", &n);
	int i;
	for(i = 1; i <= n; i ++) {
		sum += i;
	}
	printf("%d", sum);
    return 0;
}

到了这里,关于介绍一些编程语言—C语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 主流编程语言的“介绍”与“选择”

    编程语言本身没有优劣之分,不同的语言适合不同的场景,文中说的建议,多是站在小白要就业的立场给出的建议。 我们看这张导图,这张图右侧是前端类的语言,左侧是服务端的语言:   我们先说右侧。 我强调下他和 Java 是没有关系的,只是名字类似。 他的用途是前端开

    2024年03月09日
    浏览(84)
  • GO语言网络编程(并发编程)并发介绍,Goroutine

    进程和线程 并发和并行 协程和线程 协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级线程的调度也是自己实现的。 线程:一个线程上可以跑多个协程,协程是轻量级的线程。 goroutine 只是由官方实现的超级\\\"线程池\\\"。 每个

    2024年02月09日
    浏览(58)
  • Go语言网络编程介绍以及案例运用

    1. 基本概念 TCP 和 UDP : Go语言支持TCP(传输控制协议)和UDP(用户数据报协议)。TCP提供可靠的、面向连接的通信,而UDP提供无连接的快速数据传输。 并发 : Go语言的并发模型是通过goroutines实现的。每个网络请求都可以在自己的goroutine中处理,实现高效的并发。 Channels : 用于

    2024年01月25日
    浏览(71)
  • 模拟计算器编程教程,中文编程开发语言工具编程实例

    模拟计算器编程教程,中文编程开发语言工具编程实例 中文编程系统化教程,不需英语基础。学习链接 ​​​​​​https://edu.csdn.net/course/detail/39036 课程安排:初级1 1  初级概述 2  熟悉构件取值赋值 3 折叠式菜单滑动面板编程 4 自定义图形窗口自定义标题栏编程 5 多行文本

    2024年02月08日
    浏览(67)
  • 大数据Flink(四十九):框架版本介绍和编程语言选择

    文章目录 框架版本介绍和编程语言选择 一、框架版本介绍 二、编程语言选择

    2024年02月15日
    浏览(52)
  • 中文编程开发语言工具构件说明:屏幕截取构件的编程操作

    屏幕截取 用于截取指定区域的图像。 图    标: 构件类型:不可视 重要属性 l        截取类型 枚举型,设置在截取屏幕时的截取类型。包括:全屏幕、指定区域、活动窗口三种。当全屏幕截取时相当于执行了硬拷屏(PrintScreenSysRq键)功能;指定区域截取则是通过矩形

    2024年02月07日
    浏览(57)
  • APP开发入门:了解主流的编程语言

    在过去的几年里,有许多程序员开始学习和使用编程语言。这其中包括C、C++、 Java和 Python。尽管有许多语言可供选择,但大多数程序员都会选择最容易学习的编程语言。 如今,有很多编程语言供选择。程序员们在学习这些语言时可以自由地选择他们喜欢的方式,因为他们的

    2024年02月15日
    浏览(49)
  • 中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例

    中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例 中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例。 软件功能: 1、系统设置:参数设定,账号及权限设置,系统初始化,卡类型设置,积分清零等。 2、会员信息登记:可以刷卡

    2024年02月07日
    浏览(59)
  • 游戏开发的最佳编程语言及免费引擎推荐

    游戏至今仍然是人们重要的娱乐方式之一,那么哪种编程语言最适合游戏开发呢?这取决于要开发的游戏类型。例如,如果你想开发一个2D平台游戏,Lua脚本和JavaScript这样的语言比较方便。但是,如果想要开发大型3D第一人称射击游戏,那么用C++或C#之类的语言更加合适。 游

    2024年02月12日
    浏览(57)
  • 中文编程开发语言工具编程实际案例:台球棋牌混合计时计费软件使用的编程构件说明

    台球棋牌混合计时计费软件使用的编程构件说明 上图说明:该软件可以用于桌球和棋牌同时计时计费,在没有开台的时候,图片是处于等待状态,这使用编程工具中的固定图像构件,在正在计时的时候,图片自动变换为 进行中的状态,在编程中可以动态读取图片。 上图说明

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包