读者可能很熟悉编程和编程语言的基本概念,下面从普遍的意义上简要描述一下本书将用到的一些术语,并阐述C++与其他编程语言的关系。

无论使用哪种编程语言,编写出来的程序都是由各个指令构成的。这些指令就称为源代码,存储在磁盘的源文件中。目前有许多编程语言,每一种语言都有其优缺点,都有其吹捧者和批评者。除了C++之外,读者一定还听说过BASIC、COBOL、FORTRAN、PASCAL和C等编程语言。

例如,FORTRAN语言就有将近40年的历史了,目前仍广泛应用于科学和工程计算中,但C++和其他语言也逐渐进入这些领域。COBOL语言专门用于商务数据处理应用程序,它的历史几乎与FORTRAN语言一样长。目前几乎不用COBOL编写新代码,而是多年前编写的大量代码仍在使用。C++也逐渐成为许多商务数据处理程序的可选语言。

C是C++的前身,因为这两种语言有许多共同的语法和功能。实际上,C编程语言是C++的一个子集。但是,C++在发展过程中进行了许多扩展和改进,使之成为一种成熟的语言,而且,C++比功能更强大,用途更广泛。

1.1.1 解释性的程序和编译性的程序的执行过程

编程语言的目的是,与计算机可以执行的程序相比,能够更简单地描述希望计算机执行的动作。计算机只能执行包含机器指令(也称为机器代码)的程序,不能直接执行我们编写的程序。用前面提到的语言编写的程序基本上有两种执行方式,在大多数情况下,一种语言会选择其中一种执行方式。例如,用BASIC语言编写的程序通常是解释性的,也就是说,另一个称为解释器的程序会检查BASIC源代码,确定该程序要做什么,再让计算机完成这些动作。见图1-1。

图 1-1

而C++是一种编译语言。在执行C++程序之前,必须用另一个程序(即编译器)把它转换为机器语言。编译器会检查C++程序,并生成机器指令,以执行源代码指定的动作。当然,解释和编译都不像这里描述的那样简单,但其工作原理就是这样。

使用解释性语言,执行过程是间接的,也就是说,每次执行程序时,都需要确定源代码的意图。因此,这种语言比编译语言的对应程序的执行速度慢得多,有时要慢100倍。任何一种语言要么是解释性的,要么是编译性的,这通常由该语言的设计和用途来决定。

这个规则的一个例外是Java,它是一种相当新的语言,它具有C++的许多特性。由于Java主要用于在不同计算机之间移植以及用在Internet上,所以它基本上是一种解释性的语言。尽管如此,还有一种just-in-time编译器可以在执行过程中,为Java源代码生成对应的机器码,从而大大提高了执行速度。

1.1.2 库

每次编写程序时,如果总是要从头开始编写,就相当烦琐。在许多程序中,常常需要某种相同的功能,例如从键盘上输入数据,或在屏幕上显示信息。为了解决这个问题,编程语言提供了大量预先编写好的代码,以执行标准的输入输出操作,这样就不必重新编写这些代码了。

可用于任意程序的标准代码都保存在一个库中。编程语言附带的库跟语言本身一样重要,因为库的质量和使用范围对完成某一编程任务所需的时间有非常大的影响

c语言和编程是什么关系,C语言与其他编程语言的关系相关推荐

  1. c语言考试编程题万能公式,C语言程序设计历年统考试题集10套含答案(可编辑)

    <C语言程序设计历年统考试题集10套含答案(可编辑)>由会员分享,可在线阅读,更多相关<C语言程序设计历年统考试题集10套含答案(可编辑)(39页珍藏版)>请在人人文库网上搜索 ...

  2. c语言游戏编程网盘下载,C语言游戏编程 计算器(5分下载)

    C语言游戏编程 #include /*DOS接口函数*/ #include /*数学函数的定义*/ #include /*屏幕操作函数*/ #include /*I/O函数*/ #include /* ...

  3. C语言经典编程(浙大版C语言第三版)详解

    C语言经典编程详解 – 一览表: 1.[C语言经典编程]练习2-1 Programming in C is fun! (5分) 2.[C语言经典编程]练习2-3 输出倒三角图案 (5分) 3.[C语言 ...

  4. C语言图形编程(绘图函数部分),C语言图形编程(三、绘图函数-02)12

    C语言图形编程(三.绘图函数-02)12 } 84. putimage() 输出图像函数 功能: 函数putimage()将一个先前保存在内存中的图像输出到屏幕上. 用法: 此函数调用方式为void ...

  5. c语言最新编程技巧200例,C语言最新编程技巧200例(修订本)

    东坡贡山孳孳盘折面巾立案克穆序战,梦寐裙房族谱儒士氰醇潜航当令!刹住楚庄行述没有麻城免提算清妹妹!开戒硫胺买单崇敬屈从磨光骑楼谢词古松菜市.参院昌黎年月过望滤纸南侧.发信得数兰若校长破缝放晴全长磨炼! ...

  6. java语言可以编程无人机么_java可以作为第一门编程语言学习吗

    十年前,Java 还是计算机科学的入门课程中的必学语言.如果你想学其他语言,比如 C.Python.PHP,你就得专门选那个语言的课程,或者选相关的应用.但是现在,Java 不再受大学的青睐.根据国际 ...

  7. c语言经典编程282例xiazai,C语言经典编程282例源码(入门级)

    [实例简介] [实例截图] [核心代码] 目 录 第1章 初识C语言1 实例001 第一个C语言程序2 实例002 一个完整的C语言程序2 实例003 输出名言3 实例004 用TC 2.0打开文件4 ...

  8. c语言二级编程题库,二级C语言题库-编程题.doc

    二级C语言题库-编程题 第 PAGE \* Arabic \* MERGEFORMAT 27 页第 PAGE \* Arabic \* MERGEFORMAT 27 页 1.请编写函数fun,其功能是 ...

  9. c语言sleep_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美

    前言 1.本文主要围绕 如何 在 控制台上 下起 一场 只有自己能看见的雪 2.是个简易跨平台的,主要是C语言 3.动画 采用 1s 40帧, 雪花具有 x轴速度和y轴速度 4.比较简单,可以给学生作 ...

  10. 取两个数较小值c语言_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美...

    前言 1.本文主要围绕 如何 在 控制台上 下起 一场 只有自己能看见的雪 2.是个简易跨平台的,主要是C语言 3.动画 采用 1s 40帧, 雪花具有 x轴速度和y轴速度 4.比较简单,可以给学生作 ...

最新文章

  1. blender动画全面学习教程
  2. 神经网络的分类行为怎么就不能是一种力的行为?
  3. matlab生成有向网络,matlab ode45和矩阵生成有向网络图
  4. 论文浅尝 | Rot-Pro:通过知识图谱嵌入中的投影建模关系的传递性
  5. GDAL对空间数据的管理
  6. 用python爬虫抓站的一些技巧
  7. android超频闪退,显卡超频后玩游戏闪退 | 手游网游页游攻略大全
  8. 第十六周助教心得体会
  9. 数据库相关类型(日期、复合、bit、布尔)
  10. Java实现家谱家族管理系统,图形化家谱家族树,单机应用程序
  11. 计嵌 廖峻 20178303040 C++作业
  12. 天猫精灵如何和我们聊天?
  13. 2013年各大小IT公司待遇,绝对真实,一线数据!
  14. 虚拟机WindowServer2003共享文件夹
  15. 你知道嵌入式可以做什么工作吗?
  16. 使用kinect2.0做动作识别和重量颜色识别
  17. 单机模式运行hadoop,来自《Hadoop权威指南》
  18. 机器学习-监督学习及典型算法
  19. StreamSets 3.22.2 安装部署
  20. P4455 [CQOI2018]社交网络

热门文章

  1. Hadoop单节点搭建
  2. 爱美的你知道色彩该如何搭配吗?
  3. 红米note9pro和华为Nova8pro哪个好-参数对比-哪款手机更值得入手
  4. for语句中break运用
  5. centos把桌面的中文目录修改成英文
  6. 我的世界服务器修改飞行速度,我的世界怎么修改飞行的速度 我的世界飞行的速度怎么改...
  7. Chrome浏览器中安装Edge浏览器下已安装的扩展插件
  8. Hacmp 5.1 配置手册---牛新庄(1)
  9. 【Java进阶】02-线程(中)
  10. enum枚举类型用法