c++学习(一)

第一部分: c++ 和C的区别

**1.c和c++的头文件不同:** 

c的头文件------#include<stdio.h>  

c++的头文件---#include<iostream>(输入输出流文件)

 C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。

**2.输入输出不同:**  

输入:  

int i = 10;  

c:scanf("%d",&i)(需要注意输入的变量类型)  

c++:cin>>i(不需要注意变量类型)  

输出:  

c:printf("%d\n",i)(需要注意输出的变量类型)  

c++:cout<<i<<endl(不需要注意输出类型)

**3.变量的声明定义不同:**  

c语言:变量要放在语句之前定义,否则会报错  

c++:变量随用随定义,方便灵巧

**4.命名空间:**  

c语言:没有命名空间  

c++:有命名空间:using namespace std(可以防止函数出现相同的情况)

**5.函数重载:**  

c语言:不支持函数重载  

c++:支持函数重载(条件:参数个数不同,或者参数类型不同)

**6.自定义类型:**  

c语言:使用结构体,结构体不能为空(为空无意义),不可以定义class类  

c++:使用class类定义对象,且class类可以为空,也可以定义结构体

**7.兼容性分析:**  

c语言不兼容c++ c++兼容c语言

**8.c语言面向过程,主要是以函数为主;c++面向对象,主要是以类为主**

转载 : 原文地址: https://blog.****.net/angry_youth/article/details/63683180

 

 

第二部分: c++ 的一些内容

C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。

C++ 程序的源文件通常使用扩展名 .cpp、.cp 或 .c。

1.C++ 程序结构

c++学习(一)

接下来我们讲解一下上面这段程序:

  • C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <iostream>
  • 下一行 using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。
  • 下一行 // main() 是程序开始执行的地方 是一个单行注释。单行注释以 // 开头,在行末结束。
  • 下一行 int main() 是主函数,程序从这里开始执行。
  • 下一行 cout << "Hello World"; 会在屏幕上显示消息 "Hello World"
  • 下一行 return 0; 终止 main( )函数,并向调用进程返回值 0。

 

2.C++ 中的分号 & 语句块

在 C++ 中,分号是语句结束符。

语句块是一组使用大括号{}括起来的按逻辑连接的语句。

c++学习(一)

 

3.C++ 标识符

C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

C++ 标识符内不允许出现标点字符,比如 @、& 和 %。C++ 是区分大小写的编程语言。因此,在 C++ 中,Manpower 和 manpower 是两个不同的标识符。

 

4.C++ 关键字

下表列出了 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。  

c++学习(一)

 

5.一种特殊形式的C++ 注释

#if 0 ... #endif

c++学习(一)

 

6. 循环中的无限循环

c++学习(一)

 

7. c++中特殊的函数形式——Lambda 函数与表达式

C++11 提供了对匿名函数的支持,称为 Lambda 函数(也叫 Lambda 表达式)。

Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。

Lambda 表达式本质上与函数声明非常类似。Lambda 表达式具体形式如下: