C++ 基本语法
C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。
C++ 程序结构
让我们看一段简单的代码,可以输出单词 Hello World。
#includeusingnamespacestd;
// main() 是程序开始执行的地方intmain(){
cout <<"Hello World"; // 输出 Hello World
return0;
}
尝试一下
接下来我们讲解一下上面这段程序&#xff1a;
是一个输入输出流相关的头文件。里面包含了一些对输入输出流操作的方法。
编译 & 执行 C&#43;&#43; 程序
接下来让我们看看如何把源代码保存在一个文件中&#xff0c;以及如何编译并运行它。下面是简单的步骤&#xff1a;
$ g&#43;&#43; hello.cpp
$ ./a.out
Hello World
请确保您的路径中已包含 g&#43;&#43; 编译器&#xff0c;并确保在包含源文件 hello.cpp 的目录中运行它。
您也可以使用 makefile 来编译 C/C&#43;&#43; 程序。
C&#43;&#43; 中的分号 & 块
在 C&#43;&#43; 中&#xff0c;分号是语句结束符。也就是说&#xff0c;每个语句必须以分号结束。它表明一个逻辑实体的结束。
例如&#xff0c;下面是三个不同的语句&#xff1a;
x &#61; y;
y &#61; y&#43;1;
add(x, y);
块是一组使用大括号括起来的按逻辑连接的语句。例如&#xff1a;
{
cout <<"Hello World"; // 输出 Hello Worldreturn0;
}
C&#43;&#43; 不以行末作为结束符的标识&#xff0c;因此&#xff0c;您可以在一行上放置多个语句。例如&#xff1a;
x &#61; y;
y &#61; y&#43;1;
add(x, y);
等同于
x &#61; y; y &#61; y&#43;1; add(x, y);
C&#43;&#43; 标识符
C&#43;&#43; 标识符是用来标识变量、函数、类、模块&#xff0c;或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始&#xff0c;后跟零个或多个字母、下划线和数字&#xff08;0-9&#xff09;。
C&#43;&#43; 标识符内不允许出现标点字符&#xff0c;比如 &#64;、$ 和 %。C&#43;&#43; 是区分大小写的编程语言。因此&#xff0c;在 C&#43;&#43; 中&#xff0c;Manpower 和 manpower 是两个不同的标识符。
下面列出几个有效的标识符&#xff1a;
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
C&#43;&#43; 关键字
下表列出了 C&#43;&#43; 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
asm | else | new | this |
auto | enum | operator | throw |
bool | explicit | private | true |
break | export | protected | try |
case | extern | public | typedef |
catch | false | register | typeid |
char | float | reinterpret_cast | typename |
class | for | return | union |
const | friend | short | unsigned |
const_cast | goto | signed | using |
continue | if | sizeof | virtual |
default | inline | static | void |
delete | int | static_cast | volatile |
do | long | struct | wchar_t |
double | mutable | switch | while |
dynamic_cast | namespace | template | |
三字符组
三字符组就是用于表示另一个字符的三个字符序列&#xff0c;又称为三字符序列。三字符序列总是以两个问号开头。
三字符序列不太常见&#xff0c;但 C&#43;&#43; 标准允许把某些字符指定为三字符序列。以前为了表示键盘上没有的字符&#xff0c;这是必不可少的一种方法。
三字符序列可以出现在任何地方&#xff0c;包括字符串、字符序列、注释和预处理指令。
下面列出了最常用的三字符序列&#xff1a;
三字符组 | 替换 |
??&#61; | # |
??/ | \ |
??&#39; | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
所有的编译器都不支持三字符组&#xff0c;为避免造成混乱&#xff0c;不建议使用三字符组。
C&#43;&#43; 中的空格
只包含空格的行&#xff0c;被称为空白行&#xff0c;可能带有注释&#xff0c;C&#43;&#43; 编译器会完全忽略它。
在 C&#43;&#43; 中&#xff0c;空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分&#xff0c;让编译器能识别语句中的某个元素&#xff08;比如 int&#xff09;在哪里结束&#xff0c;下一个元素在哪里开始。因此&#xff0c;在下面的语句中&#xff1a;
int age;
在这里&#xff0c;int 和 age 之间必须至少有一个空格字符&#xff08;通常是一个空白符&#xff09;&#xff0c;这样编译器才能够区分它们。另一方面&#xff0c;在下面的语句中&#xff1a;
fruit &#61; apples &#43; oranges; // 获取水果的总数
fruit 和 &#61;&#xff0c;或者 &#61; 和 apples 之间的空格字符不是必需的&#xff0c;但是为了增强可读性&#xff0c;您可以根据需要适当增加一些空格。
C&#43;&#43; 注释
程序的注释是解释性语句&#xff0c;您可以在 C&#43;&#43; 代码中包含注释&#xff0c;这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。
C&#43;&#43; 支持单行注释和多行注释。注释中的所有字符会被 C&#43;&#43; 编译器忽略。
C&#43;&#43; 注释以 /* 开始&#xff0c;以 */ 终止。例如&#xff1a;
/* 这是注释 */
/* C&#43;&#43; 注释也可以
* 跨行
*/
注释也能以 // 开始&#xff0c;直到行末为止。例如&#xff1a;
#includeusingnamespacestd;
intmain(){
cout <<"Hello World!"; // 输出 Hello World!return0;
}
尝试一下
当上面的代码被编译时&#xff0c;编译器会忽略 // prints Hello World&#xff0c;最后会产生以下结果&#xff1a;
Hello World
在 /* 和 */ 注释内部&#xff0c;// 字符没有特殊的含义。在 // 注释内&#xff0c;/* 和 */ 字符也没有特殊的含义。因此&#xff0c;您可以在一种注释内嵌套另一种注释。例如&#xff1a;
/* 用于输出 Hello World 的注释
cout <<"Hello World"; // 输出 Hello World */