进入C++
首先介绍一个显示消息的简单C++程序(不同于以往的“Hello,world")
#include<iostream>
int main()
{
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it." << endl;
return 0;
}
注意看这里的文件名,是以.cpp 结尾的。这是C++程序常用的方式
在其他环境中可能需要不同的扩展名
另外C++对大小写敏感,也就是说严格区分大写字母和小写字母。
通过上面这一小段程序来分析一下C++程序的一些知识
- main函数
去掉修饰后,程序的基本结构如下:
int main()
{
statements;
return 0;
}
这几行表明有一个名为main()的函数,并描述该函数的行为。
这几行代码构成函数的定义。该定义由两部分组成:第一行 int main()叫函数头,花括号中包含的部分叫函数体
函数头对函数与程序其他部分之间的接口进行了总结;
函数体是指出函数应做什么的计算机指令。
在C++中每条完整的指令都称为语句(语句就是要执行的操作),所有的语句都以分号结束(请一定不要省略分号);
最后一条语句叫做返回语句,它结束该函数;
C++语法要求main()函数的定义以函数头int main()开始。函数头描述了函数与调用它的函数之间的接口。
位于函数名前面的部分叫做函数返回类型,它描述的是函数返回给它的调用函数的信息 ;
函数名后括号中的部分叫做形参列表或参数列表,它描述的是调用函数传递给被调用函数的信息
能不能不使用main()?
通常C++程序必须包含一个名为main()的函数,main()被启动代码调用,而启动代码是由编译器 添加到程序中的,是程序和操作系统之间的桥梁。运行C++程序时通常从main()函数开始执行
当然也存在一些例外情况,这里不予讨论。
- 程序注释
有两种注释的方法,一种是单行注释,使用双斜杠(//),它的注释效果到行尾就结束了
另外一种是将注释包括在符号/*和*/之间,这种可以跨越多行
- C++预处理器和iostream文件
如果程序需要使用 C++输入或输出工具,就要提供这两行代码:
#include<iostream>
using namespace std;
(可以使用其他代码替换第2行)
预处理器在进行主编译之前对源文件进行处理,上面的程序使用了#include<iostream>编译指令,该编译指令导致预处理器将iostream文件的内容添加到程序中(这是一种典型的预处理器操作,在源文件被编译之前,替换或添加文本)
为什么要将iostream文件的内容添加到程序中?
这涉及程序与外部之间的通信。iostream中的io指的是输入(进入程序的信息)和输出(从程序中发送出去的信息)。实际上iostream文件的内容将取代程序中#include<iostream>这一行,#include编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器,编译的下一阶段将使用这个复合文件。
- 头文件
像iostream这样的文件叫做包含文件(include file)——由于它们被包含在其他文件中,也叫头文件。每一个头文件都支持一组特定的工具
- 名称空间
名称空间支持是一项C++特性,旨在编写大型程序以及将多个厂商现有的代码组合起来的程序更容易。如果两个已封装好的产品中都包含了一个同名函数,这样在使用的时候编译器不知道要使用哪一个,名称空间让厂商能够将其产品封装在一个叫名称空间的单元中,这样就可以通过名称空间的名称来区分是哪个厂商的产品。
向上面使用了iostream,就要包含 using namespace std这个名称空间来使iostream中的定义对程序可用。
- 使用cout进行C++输出
如何来显示消息:使用下面的C++语句
cout << "Come up and C++ me some time.";
双引号括起的部分是要打印的消息,在C++中,用双引号括起的一系列字符叫做字符串,因为它是由若干字符串组合而成的。
<<符号表示该语句将把这个字符串发给cout;该符号指出了信息流动的路径。
cout是一个预定义的对象,知道如何显示字符串、数字和单个字符串。
cout的对象属性包括一个插入运算符(<<),它可以将其右侧的信息插入到流中;
控制符endl:endl表示一个重要的概念:重起一行。在输出流中插入endl将导致屏幕光标移动到下一行开头。诸如endl等对于cout来说有特殊含义的特殊符号被称为控制符,endl也是在iostream中定义的,且位于名称空间std中。
C++还提供了另一种在输出中换行的方法,\n(\n被视为一个字符,名为换行符)
C++语句
C++程序是一组函数,而每个函数又是一组语句
声明语句和变量
要将信息项存储在计算机中,必须指出信息的存储位置和所需的内存空间。方法就是使用声明语句来指出存储类型并提供位置标签
int x;
这条语句提供了两项信息:需要的内存以及该内存单元的名称。
这条语句指出程序需要足够的存储空间来存储一个整数,C++中用int来表示整数,用名称x来标识存储在该内存单元中的值。
赋值语句
赋值语句将值赋给存储单元。
x=30;
将整数30赋给变量x表示的内存单元;
符号=叫做赋值运算符,C++可以连续使用赋值运算符
函数
C++函数分为两种:有返回值的和没有返回值的
使用有返回值的函数
有返回值的函数将生成一个值,而这个值可赋给变量或在其他表达式中使用。
被调用的函数函数叫作被调用函数,包含函数调用的函数叫调用函数。圆括号中的值是发送给函数的信息,这被称为传递给函数,以这种方式发送给函数的值叫作参数。