第二章 开始学习C++
第二章 开始学习C++
2.1 main函数
简单代码如下:
#include <iostream>
int main()
{
//This is my first program
using namespace std;
cout << "Hello C++!" << endl;
return 0;
}
C++中所有的语句都以分号(;)结束。return 0;叫做返回语句。
2.1.1 作为接口的函数头
函数头描述了函数与调用它的函数的接口。函数头包含函数返回类型、函数名和参数列表。
在C++中int main(void)和int main()等效。
在C中int main()意味着对是否接受参数保持沉默。
2.1.2 为什么main不能用其他名称
C++程序必须包含一个名称为main的函数,这个名称为main的函数为程序的入口。
不过也存在例外。Windows编程中,程序并不是以main函数作为入口。
2.1.3 C++注释
C++风格的注释采用//
C风格的注释采用/*…*/,后来C++也融合了这种方式。但是应当尽量避免使用这种风格的注释,因为这样的注释会要求左右的匹配,容易出现问题。
2.1.4 预处理器
程序中#include <iostream>是预处理指令,表示编译之前要包含iostream这个文件到程序的开始位置。
2.1.5 头文件的命名
C++虽然完全融合了C语言,不过应当尽量使用C++风格的文件。下表为旧式风格的文件命名和新风格的文件命名。
| 
 C++旧式风格  | 
 以.h结尾  | 
 例如iostream.h  | 
| 
 C旧式风格  | 
 以.h结尾  | 
 例如string.h  | 
| 
 C++新风格  | 
 没有扩展名  | 
 例如iostream  | 
| 
 C新风格  | 
 没有扩展名,加上前缀c  | 
 例如cstring  | 
2.1.6 命名空间
为了解决不同厂商提供的函数库可能存在同名函数的问题,C++提出命名空间的解决方案。上述代码中using指令显示指定要采用std名称空间。如果使用using指令,要在每个函数或者变量之前加入std::前缀(作用域限定符)。
2.2 C++语句
2.2.1 声明语句
C++是类型严格的编程语言,在使用变量之前要先声明变量,以告知编译器该变量的类型,声明语句一般为:type name; 如int i;
2.2.2 赋值语句
赋值语句的作用是为变量提供数值。赋值语句的格式为:name = express; 如i = i + 1;
2.2.3 其他语句
其他语句还有函数调用语句,表达式语句等。
2.3 函数
2.3.1 函数格式
函数的一般格式为
type functionname(argumentlist)
{
Statements
}
2.3.2 函数声明
如果在函数体的定义之前调用该函数,编译器会报出未识别的标识符的错误。原因是编译器不能提前预知函数名。解决方案是在函数的调用之前加入该函数的函数头,来声明该函数。这样编译器就会提前知道所使用的标识符为函数,并且知道函数的返回类型和参数列表。
第二章 开始学习C++的更多相关文章
- 逆向基础 C++ Primer Plus 第二章 开始学习C++
		
C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成 ...
 - 《C++Primer》第五版习题答案--第二章【学习笔记】
		
C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类 ...
 - [第二章]c++学习笔记6(复制构造函数在各个编译器中的表现)
		
visual studio结果 dev c++结果 两者的输出有所不同 原因:dev c++编译对这个过程进行了优化,因为直接return对象给a,为节省时间所以不生成临时对象,所以结果为10. 注: ...
 - [第二章]c++学习笔记5(构造函数和析构函数调用时机)
		
示例函数 注:输出并不一定从main函数开始,如全局对象的初始化在main函数前执行,如构造函数中存在输出,则从构造函数的输出开始 此处6被类型转换构造函数的存在转换为临时对象赋值,而在这个过程结束后 ...
 - [第二章]c++学习笔记5(类型转换构造函数)
		
使用例 析构函数 使用例 析构函数和数组 delete运算符导致析构函数的调用
 - [第二章]c++学习笔记4(复制构造函数)
		
性质 (1)只有一个参数,即被同类对象的引用. 注 起作用的三种情况 注 常量引用参数
 - [第二章]c++学习笔记3(构造函数)
		
成员函数的一种 (1)名字与类名相同,可以有参数,不能有返回值(void也不行) (2)作用是对对象初始化,如给成员变量赋初值 (3)如果定义类时没写构造函数,则编译器生成一个默认的无参数的构造函数( ...
 - [第二章]c++学习笔记2(类和对象的基础3)
		
隐藏的概念 隐藏的作用 使用例 成员函数的重载与缺省(附使用例) 注意事项
 - [第二章]c++学习笔记1(类和对象的基础2)
		
类的成员函数可和类的定义分开写 类成员的可访问范围(private,public,protected) 具体使用方法 使用例
 
随机推荐
- h5-2
			
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
 - LINUX 逻辑地址、线性地址、物理地址和虚拟地址 转
			
一.概念物理地址(physical address)用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应.——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地 ...
 - 开始研究Ray tracing
			
几个月前面试时Boss问过我一个问题--"除了scanline渲染方法,你还知道什么其他渲染方式?",我没答出来,至今记忆犹新. 前段时间摆弄Intel VTune时看了它的示例代 ...
 - 关于android listview去掉分割线
			
1.设置android:divider="@null" 2.android:divider="#00000000" #00000000后面两个零表示透明 3.. ...
 - Seedwork
			
Seedwork 源框架 Martin Fowler 马丁·福勒 11 September 2003 2003-9-11 In the very ear ...
 - java  输入输出   函数对象构造
			
/*********************输入输出*******************/ //输入字符串 不包括最后的换行符'\n' import java.io.BufferedRe ...
 - Android小项目之六 apk下载
			
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
 - 使用手机模拟器与android操作系统
			
创建手机模拟器: 1. 点击Eclipse中新增的按钮,打开"Android Virtual Device Manager"(不同版本的ADT可能打开路径不同),如下图: 2. 点 ...
 - centos(linux) 下如何查看端口占用情况及杀死进程
			
使用这个命令:netstat -nap [root@Jaosn sphinx]# netstat -nap Active Internet connections (servers and estab ...
 - hdu 4714 树形DP
			
思路:dp[i][0]表示第i个节点为根的子树变成以i为一头的长链最小的花费,dp[i][0]表示表示第i个节点为根的子树变成i不是头的长链最小花费. 那么动态方程也就不难想了,就是要分几个情况处理, ...