首页 > 编程语言 >从C语言到C++语言

从C语言到C++语言

时间:2022-11-22 23:03:29浏览次数:67  
标签:语言 ++ flag C++ C语言 编译器 函数


 

 ​​C++​​​ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++ 是在​​C语言​​的基础上增加新特性。从语法上看,C语言是 C++ 的一部分,C语言代码几乎不用修改就能够以 C++ 的方式编译。

       对于C和C++的关系,有很多种说法,新人很容易认为C++是C的升级版,C++比C要高级,C++高大上,C过时了,这种想法不一定对,我们先来看一个数据。

       

从C语言到C++语言_C

       从上表中看出,在中国以外,C程序员比C++程序员多很多。

       这么多年了,我也搞不清楚自己是C程序员,还是C++程序员,好像没什么差别。

       对我来说,采用C++的目的就是提高开发效率,C++有很多新的特征,这些新特征并不一定实用,甚至很烦人,所以我仍然采用断章取义的方式来介绍C++,不管是C还是C++,实用就好。

C++程序的命名规则

       C++头文件一般采用.h后缀,也用有.hpp的。

       C++程序文件一般采用.cpp后缀,也有用.cc的,建议采用.cpp。实际上,C++对程序文件的命名没有强制要求,采用.cpp为后缀是大部分程序员的习惯。

C++程序的编译

       在某些UNIX系统中,C和C++是两个不同的编译器,在CentOS中,C的编译器是gcc,C++的编译器是g++。

1、安装g++编译器

       在命令提示符下输下g++,如果出现以下提示,表示已安装好g++编译器。

       

从C语言到C++语言_C_02

如果出现以下提示,表示还没有安装好g++编译器。

       

从C语言到C++语言_C语言_03

我在虚拟机上安装了CentOS 6.9,可以采用yum在线安装g++编译器,前提条件是计算机必须接入互联网。

用root用户登录,输入yum install gcc-c++,按系统提示,选择y,在安装g++的过程中,如果出现了错误,就尝试多几次。

2、编译C++程序

编译C程序的命令是gcc,编译C++程序的命令是g++,g++命令和gcc命令的用法相同,把gcc改为g++就可以了,我们在学习C语言时写的那些示例程序,基本上都可以用g++来编译。

       

从C语言到C++语言_C_04

C++输入和输出

       在​​C语言​​​中,我们使用 scanf 和 printf 来对数据进行输入输出操作。在​​C++​​语言中,C语言的这一套输入输出库我们仍然能使用,C++增加了cin和cout输入输出库,我不想用它,因为cin和cout对格式化的支持实在是太麻烦。

C++布尔类型(bool)

       C语言并没有彻底从语法上支持“真”和“假”,只是用 0 和非 0 来代表。这点在 ​​C++​​ 中得到了改善,C++ 新增了 bool 类型(布尔类型),它占用 1 个字节长度。bool 类型只有两个取值,true 和 false:true 表示“真”,false 表示“假”。

       bool 是类型名字,也是 C++ 中的关键字,它的用法和 int、char、long 是一样的,可以用=赋值,可以用于函数的参数和返回值。

              bool flag=true;

              if (flag) printf("flag is true");

              else printf("flag is fals");

              flag=false;

              if (flag) printf("flag is true");

              else printf("flag is fals");

C++定义变量的位置

       ANSI C 规定,所有局部变量都必须定义在函数开头,在定义变量之前不能有其他的执行语句。C99标准取消这这条限制,但是某些编译器对C99的支持很不积极,仍然要求变量定义在函数开头,或者只支持一部分。

       取消限制带来的另外一个好处是,可以在 for 循环的控制语句中定义变量。

              int sum = 0;

       // 在for循环的条件语句内部定义变量i

              for(int ii=1; iii<=100 ;ii++)

              total = total + ii;

C++函数的缺省参数

       在C语言中,函数在声明的时候指定参数列表,调用的时候函数参数的个数和数据类型必须与函数声明参数列表相同,但是,在C++中,声明函数的时候,可以为函数指定缺省参数,调用时缺省参数可以不填写。例如:

              int writetofile(FILE *fp,char *strbuf,bool enbuffer=true);

       enbuffer参数表示是否启用缓冲区,writetofile函数被调用的时候,如果只写fp和strbuf参数,不写enbuffer参数,enbuffer参数将缺省为true,例如:

             writetofile(fp,strbuf);

C++动态内存分配

       在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。

       在C++中,这两个函数仍然可以使用,但是C++又新增了两个关键字,new 和 delete,new 用来动态分配内存,delete 用来释放内存。

重点学习的内容

       1、C++函数重载;

       2、类的基本知识。

       3、vector容器。

       4、引用。

       5、string类。

       6、类的继承。

       最多5天就可以学完。

版权声明

作者:码农有道

如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

标签:语言,++,flag,C++,C语言,编译器,函数
From: https://blog.51cto.com/u_13748800/5878709

相关文章

  • C语言系统错误信息
         我们在写程序的时候需要调用C语言提供的库函数,并通过函数的返回值判断调用是否成功。其实在C语言中,还有一个全局变量errno,存放了函数调用过程中产生的错误码。......
  • C语言目录文件操作补充
     本章节补充一些目录和文件操作的更多知识,因为这些知识涉及到时间操作,所以放在时间操作之后的章节中介绍。access库函数access函数用于判断当前操作系统用户对文件或目录的......
  • C 语言的数据类型
     C语言的数据类型1、基本类型    C语言的最基本的数据类型,包括字符型、整数型、浮点型。    字符型(char)    描述单个字符,用单引号包含起来,如'a'、'A......
  • C语言常量和变量
     一切都是数据    对计算机来说,图片、文字、音乐、视频等都是数据,在计算机中以二进制的0和1存储,数据量越大,0和1就越多。    数据分为静态数据和动态数据。 ......
  • C/C++语言学习的策略
    断章取义C语言出现50年了,有很多内容已过时,至少有百分之二十的内容没有实用价值。C++更过份,对程序员来说,至少有百分之七十的内容没有实用价值。Linux系统也是,命令上千个,对程......
  • C/C++程序员如何学习英语
       英语是程序员的重要技能,有多重要?比较重要,极其重要吗?也不一定。    我是高中毕业,在刚开始学习计算机的一两年,曾经买过许国璋英语四级和计算机英文方面的书籍......
  • Go语言SQL语句到结构体的转换命令行工具
    学习:SQL语句到结构体的转换|Go语言编程之旅(eddycjy.com)目标:SQL表转换为Go语言结构体可以在线体验这个过程:SQL生成GO语言结构体-支持批量处理(tl.beer)MySQL数......
  • C语言程序的基本结构
    文章目录​​一、C语言基础知识的学习方法​​​​二、C语言程序开发的流程​​​​三、安装C语言的编译器​​​​四、C程序的基本结构​​​​1、程序的注释​​​​2、预......
  • C语言常量、变量和关键字
    文章目录​​一、一切都是数据​​​​1、静态数据​​​​2、动态数据(临时数据)​​​​二、常量​​​​三、变量​​​​1、整数型、字符型、浮点型变量​​​​2、字符串......
  • C语言运算符
    文章目录​​一、C语言的运算符​​​​二、算术运算符​​​​三、赋值运算符​​​​四、sizeof运算符​​​​五、运算符的优先级​​​​六、获取视频教程​​​​七、......