c++ primer和plus有什么区别_VC++、C++、C和TC有什么区别?

2023-05-16

b2a4d15f84db75b376efad3e91c888f9.gif

VC++、C++、C和TC,这几个语言名中都带有C,可以说和C都有联系。

1C

C就是指C语言。C语言的关键字少,而且拥有丰富的运算符和数据类型,可以解决大部分的“计算型”的问题或者“描述型”的问题。各大操作系统都提供了各种对C语言的集成化的调试编译环境,使用C语言编写的程序可以轻松地运行在各种平台上而不用做出任何修改,这也是C语言流行的原因。

2 VC++

VC++,一般是指微软公司的Visual Studio 6开发套件中的Visual C++开发环境。Visual Studio 6套件中包含了Visual C++、Visual Basic、Visual FoxPro等语言的开发环境。所谓开发环境,是集成了源代码编辑、编译、连接、调试等功能的一个综合程序。

Visual C++就是一个很好的C或者C++开发环境。一般被简称为VC或者VC++。该开发环境提供了优秀的代码编辑功能,同时提供了编译连接程序,在该开发环境中,输入完源代码,可立即编译运行,并且可以参照代码进行调试。

现在Visual Studio已经发展到了Visual Studio.net 2012版本,相对于Visual Studio 6.0又有比较大的改变。笔者平时工作时,一般使用Visual C++开发工具,如图1-4所示就是该环境的一个快照。

图1-4是正在使用Visual C++.net进行调试的一个快照。从图中可以看到当前处于暂停(break)状态,程序运行到“printf("\nPlease input a number(0-100):");”这条语句,当前的变量i_score的值是0。函数的调用过程是:

9.1.exe!main() Line 12 C++9.1.exe!mainCRTStartup() Line 259 + C

对上面提到的一些词语不理解没有关系,这里只是描述这个快照的情况,使读者对集成的编程环境有个感性认识。等读者有了一定的编程经验后,再回头来看就可以明白。如果读者没有安装VC.net,只需要明白编程环境的概念即可。

526cd35d1871adbdbc84297656c33fd4.png

如图1-1所示也是VC.net的一个快照,显示的是汇编语言窗口。从图1-1可以清楚地看到C语言被翻译成的汇编语言以及其对应的机器语言。从图1-1和图1-4中可以看出,VC.net是一个比较方便的开发环境。笔者机器上还安装了Visual Assist X扩展工具,这是一个扩展VC.net环境的一个小软件。从菜单上可以看到Build、Debug菜单项,顾名思义,Build就是编译相关的菜单项,从中可以找到编译需要的一些命令;Debug是调试的菜单项,从中可以看到调试的相关命令。

说明 可以在VC的这个开发环境中进行编译、连接和运行。

对于编译有专门的编译程序,同样,连接也有专门的程序,在VC的安装目录下面可以找到这些程序,而通过开发环境编译连接的时候,由开发环境在后台悄悄地去调用这些程序。从图1-5中可以发现这些程序的藏身之处。其中,cl.exe就是微软的编译器,link.exe就是微软的连接器,它们都可以单独执行。cl.exe执行后的情况如图1-6所示。

C语言于1987年被标准化,称为ANSI C。由于不同软件厂商都可以开发出自己的C语言编译器,在推出的编译器里,多多少少会增加自己的特性,这些特性被称作语言扩展。但是这些编译器都支持ANSI C。如果使用了其中的语言扩展,则在其他编译器上就不能被正确编译。为了不同编译器都能编译同一份源代码,所以应尽量不使用各厂商的语言扩展功能。

250a2a891abbd02c8310796ff2a476db.png

图1-5 VC.net的编译连接程序藏身之处

a935712173e664b2b0bbb15d16e16978.png

所以说,VC++并不是一门语言,而是开发环境。一般来说,现在进行软件开发,都是在集成的开发环境中进行的。当然,如果愿意,也可以单独编辑源代码,然后用命令行的方法编译并连接程序。

3 C++

C++是另外一门有些类似C语言语法的面向对象的高级语言。虽然C语言不加修改就可以被C++编译器编译,但C和C++是完全不同思想的两种语言,不应将C++看成C的超集。

4 TC

TC是Borland公司早年在16位机器上开发的C编程环境,是Turbo C的简称。最后版本是2.0,一般简称为TC2。一般学习C语言,都使用该编程环境,只是这已经算是老古董了,对于现在的操作系统,使用TC2来编写程序已经很不合时宜了。如图1-7所示是TC2开发环境下输入完源代码后编译完毕的状态。

e2bc623f94c858d928ca87b394f55ff6.png

5 其他编译器及环境

Linux下面开发软件主要使用GCC(GNU Compiler Collection,GNU编译器集合),因为它免费。

Windows下面除VC++外,也还有不少其他的C语言开发环境,Dev-C++是一个值得推荐的开发环境,因为它开源。Code::Blocks同样也是开源的。LCC-Win32是免费的C小型编译器,TCC是轻型C语言编译器。

注意 本书使用LCC-Win32作为开发环境

以上内容来自《零基础学C语言》

de036f691655f3e95c553e8d713c4ec6.png

此书已加入到VIP会员卡,只要购买VIP会员卡即可免费阅读上百本电子书,这张VIP卡除了免费让你读书,还有更多的权益等你来领!

【end】

6409452fb72d7b020284c6d02e8b1e1f.png

若想咨询更多电子书或者视频的

也可加入交流群哦~

添加小姐姐微信 备注码书

728219ad9a1c418ef924322f204ab6c2.png

d436c313a3d8540421f74b762280f559.gif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++ primer和plus有什么区别_VC++、C++、C和TC有什么区别? 的相关文章

  • 《C++ Primer》和《C++ Primer Plus》有哪些区别?

    C 43 43 Primer 和 C 43 43 Primer Plus 有哪些区别 xff1f 有了一点C语言基础 xff0c 看哪一本比较好 xff1f
  • SpringBoot整合mybatis-plus

    导入依赖 在项目pom文件导入依赖 在项目pom文件导入依赖 span class token tag span class token tag span class token punctuation lt span dependency
  • 《C++ Primer》一书极不适合我国“国情”

    客气地说 xff0c C 43 43 Primer 不适合大学C 43 43 基础课堂教学 xff0c 也不适合初学者入门 不客气地说 xff0c 恐怕你们的大学老师也搞不定 C 43 43 Primer xff0c 更别说拿这本书教学生了
  • &与&&有什么区别?

    一 简要说明 按位与 xff1a a amp b 是把 a 和 b 都转换成二进制数然后再进行与的运算 xff1b 逻辑与 xff1a a amp amp b 就是当且仅当两个操作数均为 true 时 xff0c 其结果才为 true xf
  • C++抽象基类与虚基类(C++ primer)

    c 43 43 primer plus P508 xff0c 抽象基类 c 43 43 primer plus P556 xff0c 虚基类 抽象基类 xff08 abstract base class xff0c ABC xff09 抽象
  • C++ STL中判断list为空,size()==0和empty()有什么区别

    关于两个的区别 xff0c 首先size 61 61 0为bool表达式 xff0c empty 为函数调用 xff0c 这一点很明显 查看源代码 xff0c bool empty const return M node gt M next
  • C++ Primer Plus (Fifth Edition)pdf

    下载地址 xff1a 网盘下载 本书是久负盛名的C 43 43 经典教程 xff0c 其内容是C 43 43 大师Stanley B Lippman丰富的实践经验和C 43 43 标准委员会原负责人Jos e Lajoie对C 43 43
  • Bash 中的 ${} 和 $() 有什么区别

    像 Linux 这样的基于 GNU 的操作系统依赖于一个名为 Bash 的命令语言解释器或 Shell 来完成它们的大部分计算任务和目标 Bash 是 Bourne Again Shell 的缩写 xff0c Bunne Again She
  • mybatis-plus出错:Invalid bound statement (not found): com.kuang.mapper.UserMapper.selectList

    错误点 xff1a 原因 xff1a UserMapper继承BaseMapper xff0c 让我们看看BaseMapper 可以发现 xff0c BaseMapper使用的是范型 所以上边我们UserMapper继承的BaseMappe
  • 若依代码生成器(mybatis-plus)

    看这篇文章之前 xff0c 先去看一下我前面的文章 xff1a 若依前后端分离整合mybatis plus wjdsg的博客 CSDN博客 用过若依都知道 xff0c 若依自带的代码生成器 xff0c 是下载下来 xff0c 然后自己粘贴到
  • C++ primer plus

    https github com lilinxiong cppPrimerPlus six https github com lilinxiong cppPrimerPlus six 最近在看C 43 43 primer plus这本书 x
  • mybatis-plus 之 and()和or()连用

    1 and 方法 span class token class name List span span class token generics span class token punctuation lt span span class
  • TFmini Plus在Arduino上的开发例程(二)

    本例程以Arduino Uno板为例 xff0c 通过Arduino实现TFmini Plus相关指令的写入 xff0c 上行数据的读取 判断和测量数据的获取打印 xff0c 主要帮助客户快速熟悉我公司雷达 xff0c 减少产品的研发周期
  • C++的类和C里面的struct有什么区别?

    C 43 43 的类和C里面的struct有什么区别 xff1f
  • 使用mybatis plus批量插入数据

    之前用mybaits插入数据时 xff0c 需要在sql语句中作特殊的处理 xff0c 然后才能够批量插入数据 今天试验了一下mybatis plus的批量插入方式 xff0c 简直太简单了 xff0c 太爽了 xff0c 真真切切的体会到
  • LoRa和NB-IoT有什么区别?LoRa的优势在哪些方面?

    对于LoRa技术 xff0c 行业内人士都不会陌生 xff0c 它也经常会被拿来和NB IoT技术比较 作为低功耗广域网 xff08 LPWAN xff09 的新兴技术 xff0c 两种技术都备受关注 对于LoRa技术 xff0c 行业内人
  • 《C Primer Plus 》--C++初识

    向着每天一点c知识进发 学习C 43 43 xff0c 需要先了解C语言的一些知识 xff0c C 43 43 是在C语言高度集成 C 43 43 编程方式 xff1a 融合了三种编程语言 xff0c C语言代表的过程性语言 xff0c 类
  • C++ Primer (暂时完结)

    C 43 43 Primer C 43 43 预备知识泛型编程第二章 开始学习C 43 43 2 1 3 C 43 43 预处理器 和iostream 文件名称空间第二章 输出输入endl控制符换行符规范的书写格式c 43 43 源码风格
  • 色彩空间中的HSL、HSV、HSB有什么区别?

    作者 xff1a 大蔚陈 链接 xff1a https www zhihu com question 22077462 answer 29483467 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业
  • OpenMV:19OpenMV4 Plus训练神经网络进行口罩识别

    文章目录 1 采集2 连接3 训练复制API KEY上传照片模型创建生成神经网络训练神经网络测试神经网络备份保存 4 下载代码分析 注意 xff1a 只有 OpenMV4 Plus可以自己训练神经网络 xff0c 其他版本的性能不够 本节讲

随机推荐