C++和C语言的关系

c和c++的关系

C语言是结构化和模块化的语言,面向过程。未完全实现解决软件设计危机的目标。
C++保留了C语言原有的优点,还扩充了不少功能 :

  • 增加了面向对象的机制。
  • 对C语言的功能做了扩充:
    1. 变量的定义可以出现在程序中的任何行
    2. 提供了标准输入输出流对象cin,count
    3. 用const定义常变量
    4. 函数重载,函数模板,带默认值的函数
    5. 引用类型
    6. 单目作用域运算符
    7. string类型字符串
    8. 使用new和delete代替malloc和free函数等

c++的编译和执行过程

c++的编译和执行过程和C语言的编译和执行过程基本上是一样的,只是环境不一样。
c++的编译和执行过程

  • (1)编译( 预处理->编译->目标文件)
    形成目标代码/文件,目标代码是编译器的输出结果,常见扩展名为" .o " 或" .obj "
  • (2)连接
    将目标代码跟C++函数库相连接,并将源程序所用的库代码与目标代码合并
    形成最终可执行的二进制机器代码(可执行程序 .exe)
  • (3)运行
    在特定的机器环境下运行C++应用程序
    在这里插入图片描述

用c++输出一个hello world

在这里插入图片描述

通过上图你会发现在c++中导入一个库函数,库函数的名不在需要.h了
在c++中基本输入输出函数的标准库是iostream
在C语言中基本输入输出函数的标准库是stdio.h

在这里插入图片描述

上述代码中:
using namespace std; 的作用:
使用名称空间std,std的全称是standard(标准)。
使用标准的名称空间
名称空间是一项c++特性,用来在编写大型程序时组织源代码。

当不用标准的名称空间时:代码如下
在这里插入图片描述

你会发现名称空间就好像一个标签。
例: 全国有好多叫 小明的。
使用河南的名称空间之后
默认说的小明都是河南的小明(cout)。
如果没有说明河南的名称空间。
则在说小明前得加一个前缀.: 河南-小明(std:: cout)

在这里插入图片描述

endl 和 '\n'的区别
'\n' 就是代表单纯的换行。
endl (1)代表换行 (2) fflush(stdin) 清除缓冲区

c++是完全兼容c的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值