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

news2024/11/26 11:43:36

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.coloradmin.cn/o/1671478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

西门子博途WINCC动画之旋转运动

概述 本例将介绍在西门子 TIA Portal HMI 中旋转运动动画的一种实现方法。本例以风机、搅拌器和传送带为例&#xff0c;按下启动按钮开始转动&#xff0c;按下停止按钮停止转动。 第1步&#xff1a; 添加 PLC 设备。​博途TIA/WINCC社区VX群 ​博途TIA/WINCC社区VX群 选择西…

基于SpringBoot的酒店(预约)客房管理系统的设计与实现+毕业论文

系统介绍 酒店客房管理系统为酒店管理者和用户、清洁人员提供一个在线管理酒店客房的系统。在网站的设计中&#xff0c;一共分为了两个模块设计&#xff0c;一个是前台模块&#xff0c;一个是后台模块&#xff0c;前台主要用于提供查看客房信息&#xff0c;酒店资讯&#xff0…

iOS MRC那句话

混编时使用MRC文件需要使用这句话 -fno-objc-arc在下图中显示的位置添加

5月13号作业

使用消息队列实现的2个终端之间的互相聊天 并使用信号控制消息队列的读取方式&#xff1a; 当键盘按ctrlc的时候&#xff0c;切换消息读取方式&#xff0c;一般情况为读取指定编号的消息&#xff0c;按ctrlc之后&#xff0c;指定的编号不读取&#xff0c;读取其他所有编号的消息…

004.可观察对象与观察者

Rx非常适合事件驱动的应用程序。这是有意义的&#xff0c;因为事件(作为)(如前所述)是创建时变值的命令式方法。从历史上看,事件驱动编程主要出现在客户端技术中&#xff0c;因为作为事件实现的用户交互。例如&#xff0c;你可能工作过使用OnMouseMove或OnKeyPressed事件。正因…

commvault学习(7):恢复oracle

在实际生产环境中&#xff0c;oracle的恢复方式大部分是异机恢复。 环境&#xff1a; 备份机&#xff1a;windows server2008&#xff0c;ip&#xff1a;192.168.20.56 恢复目标机&#xff1a;windows server2008&#xff0c;ip&#xff1a;192.168.20.55 CS、MA&#xff1…

acw165. 小猫爬山-DFS剪枝与优化

题目 思路 暴搜顺序&#xff1a;从前往后依次枚举每只小猫&#xff0c;枚举当前这只小猫应该放在哪一辆车上&#xff0c;递归完n层之后&#xff0c;就可以知道所有方案中的最少车辆总数剪枝的情况&#xff1a; 优化搜索顺序&#xff1a;大部分情况下&#xff0c;应该优先搜索分…

Java抽象类:为何它是你代码架构的基石?

目录 1、抽象类的概念 2、抽象类语法 3、抽象类特性 4、抽象类的作用 5、 完结散花 个人主页&#xff1a;秋风起&#xff0c;再归来~ 文章专栏&#xff1a;javaSE的修炼之路 个人格言&#xff1a;悟已往之不谏&#xff0c;知来者犹可追 克…

FPGA OSD 方案,应用于XBOX游戏机收费等领域

FPGA方案&#xff0c;HDMI IN接收原始HDMI 信号&#xff0c;HDMI OUT输出叠加字符/图片后的HDMI信号 客户应用&#xff1a;XBOX游戏机收费 主要特性&#xff1a; 1.支持多分辨率格式显示 2.支持OSD 叠加多个图层 3.支持字体大小随意配置 4.支持字体格式随意配置 5.零延时&…

GStreamer中如何自定义配置线程优先级

1.引言 如果看了gstreamer官方教程配置多线程出现编译不过的问题了&#xff0c;不妨进来看看这篇文章或许能解决一些编译问题。 GStreamer 本质上是多线程的&#xff0c;并且是完全线程安全的。大多数线程内部对应用程序是隐藏的&#xff0c;这应该使应用程序开发更容易。但是&…

测试项目实战--安享理财2(Jmeter接口测试)

说明&#xff1a; 1.访问地址&#xff1a; 本项目实战使用的是传智播客的安享理财项目&#xff08;找了半天这个项目能免费用且能够满足测试实战需求&#xff09; 前台&#xff1a;http://121.43.169.97:8081/ 后台&#xff1a;http://121.43.169.97:8082/ &#xff08;点赞收藏…

机器人开发项目实现过程

比赛项目实现过程 第一步&#xff1a;设置远程桌面连接 登录机器人系统&#xff0c;设置网络&#xff0c;参考远程桌面连接20230525.mp4 外接显示器、鼠标和键盘 登录系统 账户&#xff1a;robuster 密码&#xff1a;123456 建议&#xff0c;手机开热点&#xff0c;机器人…

开关电源功率测试方法:输入、输出功率测试步骤

在现代电子设备中&#xff0c;开关电源扮演着至关重要的角色&#xff0c;其效率和稳定性直接影响到整个系统的性能。因此&#xff0c;对开关电源进行功率测试成为了电源管理的重要环节。本文将详细介绍如何使用DC-DC电源模块测试系统对开关电源的输入输出功率进行准确测量&…

RabbitMQ(四种使用模式)

文章目录 1.Fanout&#xff08;广播模式&#xff09;1.基本介绍2.需求分析3.具体实现1.编写配置类 RabbitMQConfig.java2.编写生产者&#xff0c;发送消息到交换机 MQSender.java3.编写消费者&#xff0c;接受消息 MQReceiver.java4.控制层调用方法&#xff0c;发送信息到交换机…

大厂Java面试题:MyBatis中是如何实现动态SQL的?有哪些动态SQL元素(标签)?描述下动态SQL的实现原理。

大家好&#xff0c;我是王有志。 今天给大家带来的是一道来自京东的 MyBatis 面试题&#xff1a;MyBatis 中是如何实现动态 SQL 的&#xff1f;有哪些动态 SQL 元素&#xff08;标签&#xff09;&#xff1f;描述下动态 SQL 的实现原理。 MyBatis 中提供了 7 个动态 SQL 语句…

7B2 PRO主题5.4.2免授权直接安装

B2 PRO 5.4.2 最新免授权版不再需要改hosts&#xff0c;直接在wordpress上传安装即可

全域运营是割韭菜吗?看完再下结论!

随着流量时代的到来&#xff0c;各大公私域平台中的流量争夺战日益激烈&#xff0c;商家和品牌实现流量变现的难度值也不断提高&#xff0c;运营人员的压力也逐渐增大。在此背景下&#xff0c;全域运营的兴起或许是一个契机&#xff0c;能够将所有人从内卷的状态中解救出来。而…

基于springboot+vue+Mysql的医疗服务系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

流量卡避坑指南

流量卡避坑指南 在选择流量卡时&#xff0c;有几点需要注意以避免踩坑&#xff1a; 合同期和优惠期。 务必看清楚流量卡的合同期和优惠期。 有些卡可能首月免费&#xff0c;但月底办理可能不划算。 真正的长期套餐应该是优惠期20年以上的。 宣传与实际。 对于所谓的“永久9元…

UV胶的应用场景有哪些?

UV胶是一种特殊的胶水&#xff0c;其固化过程需要紫外光照射。它具有快速固化、高强度、无溶剂挥发等优点&#xff0c;因此在许多应用场景中被广泛使用。UV胶的应用场景非常广泛&#xff0c;包括但不限于以下几个方面&#xff1a; 1.电子产品组装: UV胶在电子产品的组装中扮演…