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

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

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

常量(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。

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

C++ 中每个变量都必须有指定的类型。

变量的概念:

    • 变量就像一个盒子或容器,用来存放数据。
    • 每个盒子都有一个名字,可以通过这个名字找到它。
    • 例如,我们可以创建一个叫做"age"的盒子来存放人年龄。

例如:

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

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

上边两句也可写为:int age =10; //age是一个整数类型的变量,其值为10

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

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

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

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

计算长方形的面积

#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 等),在其内容后面是不需要分号的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/686013.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mamba-ssm安装卡着不动

项目中用到Mamba的小伙伴&#xff0c;causal_conv1d和 mamba-ssm两个包&#xff0c;但是会卡在Building wheel for mamba-ssm (setup.py) &#xff1a; 为了探究卡在了building的哪一步&#xff0c;加入–verbose进行显示&#xff1a; pip install mamba-ssm --no-cache-dir -…

初探 JUC 并发编程:读写锁 ReentrantReadWriteLock 原理(8000 字源码详解)

本文中会涉及到一些前面 ReentrantLock 中学到的内容&#xff0c;先去阅读一下我关于独占锁 ReentrantLock 的源码解析阅读起来会更加清晰。 初探 JUC 并发编程&#xff1a;独占锁 ReentrantLock 底层源码解析 6.4&#xff09;读写锁 ReentrantReadWriteLock 原理 前面提到的 R…

JUC下CountDownLatch详解

详细介绍 CountDownLatch是Java并发包java.util.concurrent中提供的一个同步工具类&#xff0c;它允许一个或多个线程等待其他线程完成操作后再继续执行。这个工具类基于一个计数器&#xff0c;计数器的初始值可以由构造函数设定。线程调用countDown()方法会将计数器减1&#x…

drawio 网页版二次开发(2):开始修改代码

目录 一 说明 二 打开开发环境 1. 代码调整 2. 修改访问链接 3. 注意 三 部分功能的代码汇总 1. 保存功能 2. 菜单栏折叠按钮功能 3. 顶部菜单栏 4.在顶部菜单栏中的【文件】菜单中新增选项 &#xff08;1&#xff09; 方法一&#xff1a;单独增加 &#xff08;…

C++动态内存管理:与C语言动态内存管理的差异之争

当你改错一行代码的时候&#xff1a; 当你想要重构别人的代码时&#xff1a; 目录 前言 一、C/C的内存分布 二、C/C语言中的动态内存管理 三、new与delete的实现原理 总结&#xff1a; 前言 在C中&#xff0c;内存管理是一个至关重要的主题。正确地管理内存可以避免内存泄…

SparkSQL编程入口和模型与SparkSQL基本编程

SparkSQL编程入口和模型 SparkSQL编程模型 主要通过两种方式操作SparkSQL&#xff0c;一种就是SQL&#xff0c;另一种为DataFrame和Dataset。 1)SQL&#xff1a;SQL不用多说&#xff0c;就和Hive操作一样&#xff0c;但是需要清楚一点的是&#xff0c;SQL操作的是表&#xf…

百面算法工程师 | 模型评价指标及优化策略

本文给大家带来的百面算法工程师是深度学习模型评价指标的面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的评价方案&#xff0c;并提供参考的回答及其理论基础&…

程序的环境和预处理#define #ifdefine

文章目录 预编译 预处理做的事情把#include<>里面的内容执行了注释删除&#xff0c;使用空格替换注释define 把符号统统替换为值 编译阶段做的事情链接做的事情运行环境预处理(预处理)详解预定义符号__FILE____LINE____DATE__ __TIME__写日志文件__FUNCTION__ #define预处…

Java解决垂直鉴权问题(对垂直权限进行校验)

Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09; 文章目录 Java解决垂直鉴权问题&#xff08;对垂直权限进行校验&#xff09;前言一、垂直鉴权是什么&#xff1f;二、实现过程1.新建接口权限菜单映射表2.项目初始化时加载接口菜单映射关系3.自定义过滤器拦截…

Amazon SQS使用

Amazon SQS 服务(Amazon Simple Queue Service)。Amazon SQS 允许生产器向队列发送消息。然后&#xff0c;消息会存储在 SQS 队列中。当使用者准备好处理新消息时&#xff0c;使用者可以从队列中轮询这些消息。应用程序、微服务和多个 AWS 服务可以担当生产器或使用者的角色。 …

重生我是嵌入式大能之串口调试UART

什么是串口 串口是一种在数据通讯中广泛使用的通讯接口&#xff0c;通常我们叫做UART (通用异步收发传输器Universal Asynchronous Receiver/Transmitter)&#xff0c;其具有数据传输速度稳定、可靠性高、适用范围广等优点。在嵌入式系统中&#xff0c;串口常用于与外部设备进…

C++内存分区

代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的 全局区&#xff1a;存放全局变量和静态变量以及常量 栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量等 堆区&#xff1a;由程序员分配和释放&#xff0c;若…