《乐在C语言》一第1章 浅谈C程序语言1.1 什么是程序语言

简介:

本节书摘来自异步社区《乐在C语言》一书中的第1章,第1.1节,作者 蔡明志,更多章节内容可以访问云栖社区“异步社区”公众号查看

第1章 浅谈C程序语言

乐在C语言
本章大纲

1-1 什么是程序语言

1-2 C语言的历史背景

1-3 如何学好程序设计

1-4 如何编译程序

1-5 关键词

1-6 上机实习

1-7 参考文献

1.1 什么是程序语言

乐在C语言
程序员(programmer)利用程序语言(programming language)编写程序(program),以完成某一项任务,如图1-1所示。如利用C程序语言编写C程序,以完成10 000个数由小到大的排序工作或是以C程序语言编写一个您亲朋好友的通讯录等。


abdb999e34c059e63e48ad21a6291cca8f159b38

图1-1 小明利用C程序语言将一堆杂乱无章的数据由小到大排序

您编写的C程序,计算机是看不懂的,这之间需要C的编译程序(compiler)将C程序语言编译为计算机看得懂的由0与1组成的机器语言(machine language),让计算机知道要做什么。编译程序就像是一位翻译员(translators),例如,有一位日本人到德国幕尼黑大学拜访某一位教授,由于他不会讲德语,所以请了一位会讲德语的日本人当做翻译员,作为与这一位教授沟通的桥梁,让彼此了解对方的意思,如图1-2所示。

程序语言多得数不清,有Fortran、COBOL、Pascal、C、C++、Java、C#、Visual Basic、Ada、Objective C、Delphi等。试问是不是每一种都要学习呢?其实大可不必,因为程序语言的架构几乎大同小异,如每一种程序语言都有选择语句、循环语句、只是以不同的关键词来表示罢了。了解大架构后,再去探讨每一种语言都有其独有的特性及功能。如:Fortran(发表于1957年)它的计算精确度高,适合于工程。COBOL(发表于1960年)适用于数据量大,但计算少的情况,而且可以输出美观的报表,如目前的自来水公司、电信局打印出来的缴费单都是用COBOL程序语言写的。这两种语言我在大学时都学过。后来Pascal兴起,因为它有指针(pointer),可以用来实现数据结构(data structures)的一些主题,如:链接表(linked list)、二叉查找树(binary search tree)等。


de504339810cbbfc9c12087269b983766653e086

图1-2 中间的翻译人员就是编译程序(compiler)

目前Fortran的最新版本为Fortran 2003(发表于2003年),但慢慢地被C(发表于1970年)取代了,只有少数如数学系、物理系的人还在使用,因为他们有些特殊的应用软件是用Fortran编写的,所以不得不学它。COBOL没有新的版本,也逐渐地被另一种程序语言取而代之。

相关文章
|
3月前
|
存储 自然语言处理 编译器
【C语言】编译与链接:深入理解程序构建过程
【C语言】编译与链接:深入理解程序构建过程
|
5月前
|
存储 算法 C语言
"揭秘C语言中的王者之树——红黑树:一场数据结构与算法的华丽舞蹈,让你的程序效率飙升,直击性能巅峰!"
【8月更文挑战第20天】红黑树是自平衡二叉查找树,通过旋转和重着色保持平衡,确保高效执行插入、删除和查找操作,时间复杂度为O(log n)。本文介绍红黑树的基本属性、存储结构及其C语言实现。红黑树遵循五项基本规则以保持平衡状态。在C语言中,节点包含数据、颜色、父节点和子节点指针。文章提供了一个示例代码框架,用于创建节点、插入节点并执行必要的修复操作以维护红黑树的特性。
119 1
|
5月前
|
NoSQL 编译器 程序员
【C语言】揭秘GCC:从平凡到卓越的编译艺术,一场代码与效率的激情碰撞,探索那些不为人知的秘密武器,让你的程序瞬间提速百倍!
【8月更文挑战第20天】GCC,GNU Compiler Collection,是GNU项目中的开源编译器集合,支持C、C++等多种语言。作为C语言程序员的重要工具,GCC具备跨平台性、高度可配置性及丰富的优化选项等特点。通过简单示例,如编译“Hello, GCC!”程序 (`gcc -o hello hello.c`),展示了GCC的基础用法及不同优化级别(`-O0`, `-O1`, `-O3`)对性能的影响。GCC还支持生成调试信息(`-g`),便于使用GDB等工具进行调试。尽管有如Microsoft Visual C++、Clang等竞品,GCC仍因其灵活性和强大的功能被广泛采用。
159 1
|
27天前
|
Unix 编译器 C语言
[oeasy]python052_[系统开发语言为什么默认是c语言
本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
26 5
|
5月前
|
编译器 C语言 计算机视觉
C语言实现的图像处理程序
C语言实现的图像处理程序
231 0
|
2月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
75 5
|
2月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
78 4
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
68 1
|
2月前
|
网络协议 物联网 数据处理
C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势
本文探讨了C语言在网络通信程序实现中的应用,介绍了网络通信的基本概念、C语言的特点及其在网络通信中的优势。文章详细讲解了使用C语言实现网络通信程序的基本步骤,包括TCP和UDP通信程序的实现,并讨论了关键技术、优化方法及未来发展趋势,旨在帮助读者掌握C语言在网络通信中的应用技巧。
54 2
|
2月前
|
程序员 C语言
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门
C语言中的指针既强大又具挑战性,它像一把钥匙,开启程序世界的隐秘之门。本文深入探讨了指针的基本概念、声明方式、动态内存分配、函数参数传递、指针运算及与数组和函数的关系,强调了正确使用指针的重要性,并鼓励读者通过实践掌握这一关键技能。
45 1