开始学习C++
1.main()函数
int main()
{
statement
return 0;
}
C++句法要求main()函数的定义以函数头int main()开始。通常,main()函数被启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁。事实上,该函数头描述的是main()和操作系统之间的接口。
2.C++注释
C++注释符号//,C语言注释符号/*…*/(可以跨越多行)。尽量使用C++注释,因为不涉及结尾符号与起始符号的配对。
3.C++预处理器和iostream文件
#include<iostream>
该编译指令导致预处理器将iostream文件的内容添加到程序中。这是一种典型的预处理操作:在源代码被处理之前替换或添加文本。
4.名称空间
若头文件没有扩展名h,则应使用名称空间编译指令来使iostream中的定义对程序可用:
using namespace std;
类、函数和变量是C++的标准组件,它们现在都被放置在名称空间std中,仅当头文件没有扩展名h时才是这样。若没有该句,源代码也可以写作:
std::cout << std::endl;
using编译指令使得std命名空间中所有名称都可用,这是一种偷懒的做法。更好的办法时只使用所需的名称即可:
using std::cout;
5.输出和输入
cout << string;
从概念上,输出是一个流,即从程序流出的一系列字符。<<符号表示该语句将把这个字符串发送给cout,该符号指出了信息流动的路径,可看作将该字符串插入到了输出流中。
可使用cout拼接cout<<…<<…<<…;由于C++的自由格式规则,可将标记间的换行符和空格看作是可相互替换的:
cout<<…
<<…
<<…;
cin >> number;
输入时,cin使用>>运算符抽取字符。
6.C++源代码的格式化
在C++中,回车的作用和和空格和制表符相同,可以把一条语句放在好几行上,但不能将空格放在元素(比如名称之间),也不能将回车放在字符串中间。
多数程序猿编写源代码都遵循以下几条规则:
1)每条语句占一行;
2)每个函数都有一个开始花括号和一个结束花括号,这两个花括号各占一行;
3)函数中的语句都相对于花括号进行缩进;
4)与函数名称相关的圆括号周围没有空白。
前三条旨在确保代码清晰可读,第四条则帮助区分函数和一些也使用圆括号的C++内置结构(如循环)。
7.类和函数简介
7.1类
类是用户定义的一种数据类型。 要定义类,需要描述它能够表示什么信息和对数据执行哪些操作。类描述指定了可对类对象执行的所有操作。要对特定对象执行这些允许的操作,需要给对象发送一条消息告诉它该开始执行看。C++提供了两种发送消息的方式:一种是使用类方法(本质上就是函数调用),另一种是重新定义运算符。
7.2函数
7.2.1C++程序应当为程序中使用的每个函数提供原型,例如:
double sqrt(double) //第一个double是函数的返回值类型,第二个指函数的参数类型
函数原型指出函数涉及的类型,原型结尾的分号表明它是一条语句,这使得它是一个原型,而不是函数头。若省略分号,编译器将这行代码解释为一个函数头,并要求接着提供定义该函数的函数体。函数原型只描述函数接口,描述发送给函数的信息和返回的信息;而定义包含了函数的代码。
7.2.2C++不允许将一个函数的定义嵌套在另一个函数中,每个函数的定义都是独立的,所有函数的创建都是平等的。
被调用的函数叫做被调用函数,包含函数调用的函数叫做调用函数。