1、示例C++ 程序代码
下面是一个简单的代码,该代码将打印输出Hello World。
#includeusing namespace std;int main() { cout << "Hello World!"; return 0;}
示例说明:
1)程序的第一行#include
是预处理器指令,告诉 C++ 编译器在实际编译之前要包含iostream
文件。
2)using namespace std
表示我们可以使用标准库中对象和变量的名称。
3)下一行 int main()
是主函数,程序从这里开始执行。
4)下一行 /*...*/
将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
5)下一行cout
(发音为"see-out")是一个与插入操作符(<<
)一起使用的对象,用于输出/打印文本。在我们的例子中,它将输出"Hello World"。
6)下一行 return 0;
终止 main()
函数,并返回值 0
。
2、分号;
在 C/C++ 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。
例如,下面是两个不同的语句:
cout << "Hello World!";
3、标识符
C/C++ 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z
或 a-z
或下划线 _开头,后跟零个或多个字母、下划线和数字(0-9
)。
C/C++ 标识符内不允许出现标点字符,比如@
、$
和 %
。C 是区分大小写的编程语言。例如,Cjavapy
和 wonhero
是两个不同的标识符。
4、关键字
下表中是 C++ 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
alignas | decltype | namespace | struct |
alignof | default | new | switch |
and | delete | noexcept | template |
and_eq | do | not | this |
asm | double | not_eq | thread_local |
auto | dynamic_cast | nullptr | throw |
bitand | else | operator | true |
bitor | enum | or | try |
bool | explicit | or_eq | typedef |
break | export | private | typeid |
case | extern | protected | typename |
catch | false | public | union |
char | float | register | unsigned |
char16_t | for | reinterpret_cast | using |
char32_t | friend | return | virtual |
class | goto | short | void |
compl | if | signed | volatile |
const | inline | sizeof | wchar_t |
constexpr | int | static | while |
const_cast | long | static_assert | xor |
continue | mutable | static_cast | xor_eq |
5、C和C++
C++是C的超集,也可以说C是C++的子集,因为C先出现。按常理说,C++编译器能够编译任何C程序,但是C和C++还是有一些小差别。
例如,C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写出来。而C++可以使用空参数列表。
C++中new
和delete
是对内存分配的运算符,取代了C中的malloc
和free
。
标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数(C中没有字符串类型)。
C++中用来做控制态输入输出的iostream
类库替代了标准C中的stdio
函数库。
C++中的try/catch/throw
异常处理机制取代了标准C中的setjmp()
和longjmp()
函数。
C++中还增加了bool
型变量和wchar_t
型变量。