C++青少年简明教程:C++中的标识符、常量、变量、表达式和语句

C++青少年简明教程:C++中的标识符、常量、变量、表达式和语句

C++编程中,常量、变量、表达式和语句是基本的编程概念。

标识符(Identifiers)是用户定义的,用来命名变量、函数、类、模块等各种程序元素的名称。

以字母(包含下划线"_")开头,不能以数字开头后面可以是字母或者数字。

标识符不能与语言的保留字和关键字相同。例如,不能使用if、for等作为标识符。

例如:

int myVariable;    // 有效

double speed;      // 有效

int 2ndValue;      // 无效:不能以数字开头

double double;     // 无效:不能使用C++关键字

C++ 是区分大小写的编程语言或者说“大小写敏感”。标识符不允许使用关键字作为其名称。

编程语言中的“大小写敏感”意味着该语言在识别标识符、关键字或者其他语法元素时,会区分字母的大小写。在这种语言中,大写字母和小写字母被视为不同的字符,因此,同一个词或标识符的大写形式和小写形式将代表不同的含义或者是完全不同的变量。例如在大小写敏感的编程语言如C、C++、Java、JavaScript和Python中,变量myVariable和myvariable是两个完全不同的变量。

【C++17(SO/IEC 14882:2017)允许标识符 由Unicode字符组成,但是C++编译器可能对Unicode标识符的支持程度有所差异。】

常量(Constants):在程序中具有固定值的数据称为常量。常量可以是字面值,如整数、浮点数、字符或字符串,也可以是被定义为常量的标识符。常量在程序执行期间不会发生改变。

1.字面常量:字面常量是指直接出现在代码中的常量值。例如,整数常量10、浮点数常量3.14、字符常量'A'等都属于字面常量。字面常量的值在编译时就已经确定,并且不能被修改。

在C/C++中,字符常量是一个字符,字符常量属于整型数据类型,可以在程序中使用字符常量作为整型值参与计算或比较。由于字符是按照ASCII码表进行编码的,因此每个字符常量都对应一个整型值。例如,字符常量'A'对应的整型值是65,字符常量'a'对应的整型值是97。

注意字符常量和只含有一个字符的字符串的区别

例如,'A'和"A"的区别

'A'是一个字符常量,它表示一个单独的字符,例如'A'代表字符'A'。

"A"是一个字符串常量,由一串字符组成,其中包含一个空字符('\0')作为字符串的结束符,例如"A"代表字符串"A"。

2.符号常量:符号常量是通过标识符来表示的常量值,在程序中使用时要先进行定义。使用符号常量的好处是可以给常量起一个具有描述性的名字,方便理解和维护代码。在C++中,我们通常使用const关键字来定义符号常量。

使用const关键字定义常量:

const 类型 常量名 = 值;

例子:

const int MAX_VALUE = 100;

const double PI = 3.14159;

在上述代码中,MAX_VALUE和PI都被定义为常量,其值分别为100和3.14159。

在C++中,常量的定义有多种方法。对于简单的常量值,const通常是一个很好的选择。除此之外,还有:

使用#define预处理器指令(不是C++特有的,但常用于C和C++),如:

#define PI 3.14159

宏定义在预处理阶段进行替换。

C++11 引入了 constexpr 关键字,用来定义常量表达式。这种方式允许表达式在编译时被计算。如:

constexpr double E = 2.71828;

constexpr也可以用于函数,表示该函数在编译时就能计算出结果。如:

constexpr int square(int x) {

  return x * x;

}

在这里,square 函数可以在编译时计算,如果其参数也是常量表达式的话。

枚举(Enumeration)类型是一种用户定义的数据类型,允许为整数值指定名称,从而增加代码的可读性。如:

enum Colors { RED, GREEN, BLUE };

在这个例子中,RED、GREEN 和 BLUE 都是常量,它们分别默认为 0、1 和 2。

变量(Variables):变量是用于存储和表示可更改值的内存位置。在程序中,我们可以为变量分配一个名称,并使用该名称来引用存储在其中的值。变量在其声明时被定义,并且可以根据需要修改其值。

定义:变量是一个命名的存储位置,可以存储特定类型的数据。C++还引入了引用类型,允许通过引用变量来操作同一个值。

声明:变量在使用前必须声明其类型和名称,如 int y; 或 int& ref = y;。

存储:基本数据类型的值直接存储在变量分配的内存位置。对象和引用类型可以通过引用直接访问。

示例:

int y;       // 声明一个整数变量y

int& ref = y;  // 声明一个引用变量ref,引用整数变量y

y = 20;      // 给变量y赋值

C++ 中每个变量都必须先声明后使用。

声明变量时,你可以同时初始化变量,即在声明时就给变量一个初始值。例如:

int age =10; //age是一个整数类型的变量,其值为10,这里的“=”是赋值运算符

也可以先声明变量,使用时才赋值。例如:

int age;  // 创建一个整数型的变量,名字是age

age = 10;  // age赋值10,这里的“=”是赋值运算符

变量的赋值,指的是将值和变量关联起来,以便在程序的后续部分中使用或修改该值。

一旦变量被赋值,你就可以在任何需要它的地方使用它,比如计算、条件判断或输出。

使用变量时注意以下几个方面:

变量的命名应该具有可读性和描述性。

变量需要初始化,即在使用变量之前,需要对其进行赋值。

变量的作用域也需要注意,在不同的代码块中,变量可能会出现重名,因此需要在使用时注意区分。

C++ 是区分大小写的编程语言,如变量a和变量A是两个不同的变量。

计算长方形的面积

#include <iostream>
using namespace std;

int main() {
    int a = 10; // 变量  
    int b = 5; // 变量  
    cout << "长方形的面积是:" << a * b << endl;
    
    return 0;
}

表达式(Expressions):表达式是由常量、变量、运算符和函数调用组成的组合,它们在执行时产生一个结果。例如,x + y是一个表达式,其中x和y是变量,+是一个运算符。表达式可以用于计算新的值,赋值给变量,作为判断条件等。

表达式(Expression)是一些数学式子或算术问题。

运算符(Operator)指对常量或变量进行运算或处理的符号。参与运算的数值或变量称为操作数(Operand)。C++有多种运算符,后面讲解。

语句(Statements):语句是执行特定操作的单一指令或命令。C++程序由一系列语句组成。常见的语句包括赋值语句、条件语句(如if-else语句)、循环语句(如for循环和while循环)以及函数调用语句等。具体情况以后介绍。

表达式和语句的区别

表达式会返回一个值作为其结果,而语句通常不会返回一个特定的值。表达式的结果可以被赋值给变量,进而被当作语句使用。语句可以包含表达式,比如if语句中的条件表达式和循环语句中的循环条件表达式。

语句一般需要以分号结束,示例:

int x = 5; // 变量声明和初始化语句

cout << "Hello, world!"; // 输出语句

x++; // 表达式语句,对变量进行自增操作

for (int i = 0; i < 5; i++) { // 循环语句

    cout << i;

}

需要注意的是,有一些特殊情况下不需要分号:

在类定义中的成员函数定义,函数体不需要分号;

在命名空间定义中,命名空间体也不需要分号;

在枚举类型定义中,如果最后一个枚举常量后面跟着花括号,则不需要分号;

某些预处理器的指令(如 #define、#include 等),在其内容后面是不需要分号的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习&实践爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值