1
0
wiki/docs/开发/C++/基本语法.md
2022-02-21 15:50:42 +08:00

4.4 KiB
Raw Blame History

id title sidebar_position data
基本语法 基本语法 2 2022年2月18日

基本语法

C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。

  • 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。
  • 类 - 类可以定义为描述对象行为/状态的模板/蓝图。
  • 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。
  • 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。

示例

输出单词 Hello World

#include <iostream>
using namespace std; 

// main() 是程序开始执行的地方 
int main(){   
	// 输出 Hello World
	cout << "Hello World";    
	return 0;
}
  1. C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件

  2. using namespace std; 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。

  3. // main() 是程序开始执行的地方 是一个单行注释。单行注释以 // 开头,在行末结束。

  4. int main() 是主函数,程序从这里开始执行。

  5. cout << "Hello World"; 会在屏幕上显示消息 "Hello World"。

  6. return 0; 终止 main( )函数,并向调用进程返回值 0。

分号

语句结束符;每个语句必须以分号结束,表明一个逻辑实体的结束。 C++ 不以行末作为结束符的标识,一行上可以放置多个语句。

// 三个不同的语句
x = y;
y = y+1;
add(x, y);

// 放置多行语句
x = y;y = y+1;add(x, y);

空格

在 C++ 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int在哪里结束下一个元素在哪里开始。

/*
 * int 和 age 之间必须至少有一个空格字符(通常是一个空白符)
 * 这样编译器才能够区分它们。
 */

int age;


/*
 * fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的
 * 但是为了增强可读性,您可以根据需要适当增加一些空格
 */

fruit = apples + oranges;   // 获取水果的总数

注释

C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。

// 单行注释

/*
 * 多行注释
 */

语句块

一组使用大括号括起来的按逻辑连接的语句。

// 语句块
{   
    cout << "Hello World"; 
    // 输出 Hello World   
    return 0;
}

标识符

C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。

一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始后跟零个或多个字母、下划线和数字0-9

C++ 标识符内不允许出现标点字符,比如 @、$ 和 %。C++ 是区分大小写的编程语言。因此,在 C++ 中,Manpowermanpower 是两个不同的标识符。

// 标识符示例
mohd       zara    abc   move_name  a_123myname50   _temp   j     a23b9      retVal

关键字

关键字不能作为常量名、变量名或其他标识符名称。

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