2.C语言和C++的几个标准(2023年12月4号)

发布时间 2023-12-04 10:06:19作者: Nike闪电~

C语言和C++的区别

  C语言的设计理念:灵活、高效、性能极限

  C++的设计理念:面向对象为主

 

CPP:

    包含C语言(语法有微小差异)

    面向对象编程

    泛型编程

    STL标准模块库

    C++标准库

 

C语言是结构化语言:

  实例:我喜欢一个女孩

  C语言(结构与过程):

    强调一种结构,比如人,人的的结构就是他的属性(性别,年龄,身高,体重)

    过程喜欢:函数(boy, girl)

        love(boy,girl)

 

  C++语言(面向对象):

    boy和girl都是人,都是同一种对象。

    所以用一个类用来表达人的基本属性,和人类的一些基本行为(每一种行为都是一个函数,包括在人这个类中)

    class(){

      public:
        int Sex;
        int Age;
        ...
        
        love()     //人的基本行为:喜欢
        taoyan()  //人的基本行为:讨厌
        兴趣()    //人的基本行为:兴趣
        job()    //人的基本行为:工作
}      Human me;      Human girl;      me.love(girl);

C与C++在面向对象上的对比就是:

    C++开发起来更加方便,开发起来可以使用更少的代码来完成,管理起来更加方便,并且不容易出错。

    性能方面:因为C++面向对象的观念使程序变得更加方便,所以他的性能是有一些折损的,但是与C比起来基本上可以忽略不计。

 

 

C语言的几个标准

  版本1:K&C:贝尔实验室的两人编写出了C语言,并且写了一本C语言程序设计的书,

    1978这本书就是:经典的C语言版本

 

  版本2:ANSI C

    1989年:因为使用C语言的人越来越多,为了使C语言的可移植性更高,所以美国国家标准总局(ANSI):把C语言拿来做了一些修改,发布了C语言的一个标准

  版本3:ISO C90

    1990年,因为使用C语言的开发者越来越多,所以C语言变成了一种国际编程语言,国际标准组织(ISO)定义了C语言的国际标准,这个时候C89与C90在内容上是没有变化的,只是由国家标准变成了一种国际标准。C89==C90

  版本4:1999

    1999年,发布C99,增加了内容

  版本5:2011

    2011年,发布了C11,增加了内容

  版本6:2017

    2017年,发布了C17,增加了内容(修复了C11的一些问题)

 

从C89/C90:它们之间关键字的变化

 

C语言的理念就是自由

  从C99开始,增加的一些关键字,有的基本上有没有都不是很重要,但是有这些关键字会让程序开发变得更容易,但这同时也限制了程序员的自由开发。C语言正逐渐变得“不自由”。

  

 

 

 

C++语言标注历程

 

2003-2011的变动比较大:

  2011-2014的变动是失败的

  2017版本是对2014版本的修复

  2020版本又是一次重大的变革

  总结:2003——2011(重大变革)——2014(不完整)——2017(完整的2014)——2020(重大变革)

变革理念:自由度越来越低,但是程序开发越来越方便。

 

 

编译器

编译器:将 文本(源文件) 变成 应用软件翻译人

VC++ 6.0 已经淘汰了,某些学校在用