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

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

时间:2023-12-04 10:13:31浏览次数:44  
标签:12 C++ C语言 版本 2014 girl 2011

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 已经淘汰了,某些学校在用

 

标签:12,C++,C语言,版本,2014,girl,2011
From: https://www.cnblogs.com/shandian-fox/p/17874299.html

相关文章

  • C#12新功能(.NET 8)有哪些?
    前言作为.NET8发布会的一部分,微软于11月14日发布了C#12的新功能,这也是目前.NET的最新版本。正如之前公布的那样,最显著的改进包括了集合表达式、主构造函数、任何类型的别名以及lambda表达式中参数提供默认值。主构造函数C#12扩展了主构造函数,现在可以在任何class和struct中创......
  • C#12新功能有哪些?
    前言作为.NET8发布会的一部分,微软于11月14日发布了C#12的新功能,这也是目前.NET的最新版本。正如之前公布的那样,最显著的改进包括了集合表达式、主构造函数、任何类型的别名以及lambda表达式中参数提供默认值。主构造函数C#12扩展了主构造函数,现在可以在任何class和struct中创......
  • C++中 enum 的使用
    C++中的枚举enum使用如果没有对应的范围限定,会很容易出现重定义的错误。如下的重定义错误,在一个文件中有如下两个枚举,编译时会出现重定义错误enumType{MIN_TYPE,MAX_TYPE,INPUT_TYPE};enumMode{CITY,INPUT_TYPE};此时虽然是不同的枚举类型,......
  • 微信小程序开发周记(11.27-12.3)
    第二周周报(部分)云开发相关云开发是管理微信小程序的后端数据库、运营数据等逻辑核心的平台。前置前置知识资源环境用户开通云开发后即创建了一个独立的环境,包括数据库、存储空间、云函数等一整套云开发资源。实际开发中,建议每个正式环境都搭配一个测试环境,所有功能都在测试......
  • 12.3日记
    imread()读取图像cv.imread(filename[,flags])ImreadModes.Color:始终将图像转换为3通道BGR彩色图像,默认方式ImreadModes.Grayscale:始终将图像转换为单通道灰度图像ImreadModes.Unchanged:按原样返回加载的图像(使用Alpha通道)ImreadModes.AnyDepth:在输入具有相应深度时返回16位/3......
  • 20211105李宜时信息安全系统设计与实现学习笔记12
    20211105李宜时信息安全系统设计与实现学习笔记121.引言背景介绍:介绍MySQL数据库及其在业界的普及和应用,解释为何在Linux环境下学习MySQL是重要的。学习目标:明确学习MySQL的目标,比如理解数据库原理,掌握基本操作,或者成为数据库管理员。2.安装和配置安装步骤:详细描述在不......
  • 学习笔记12
    MySQL在openeuler上的安装与基本操作知识点归纳本章涵盖了MySQL关系数据库系统的基础知识。MySQL是一个由瑞典MySQLAB公司开发的关系型数据库管理系统,目前归属于Oracle旗下产品。它在WEB应用方面具有广泛的应用,被认为是最流行的关系型数据库管理系统之一。MySQL将数据保存在......
  • 2023-2024-120232325《网络空间安全导论》第四周学习
    教材内容总结问题1.整体论与还原论2.sql的应用数据库管理:SQL被用于创建、修改和管理数据库中的表格、索引、视图和存储过程等数据库对象。数据查询:SQL用于从数据库中检索数据,可以通过SELECT语句来执行简单或复杂的查询操作,以满足特定的数据需求。数据更新:SQL可以用于更新......
  • LeetCode-Java:121. 买卖股票的最佳时机
    题目给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,......
  • LeetCode-Java:122. 买卖股票的最佳时机Ⅱ
    题目给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。示例1:输入:prices=[7,1,5,3,6,4]输出:7解释......