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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息系统项目管理基础

目录 一、项目管理概论 1、定义 2、项目管理的十二原则 3、SMART原则 4、项目经理 5、项目的生命周期 二、项目立项管理 1、项目启动过程 三、项目整合管理 1、管理基础 2、项目整合管理过程 ①制定项目章程 ②制定项目管理计划 ③指导与管理项目工作 ④管理项目…

河南大学大礼堂火灾事故引发安防监控对智能分析技术应用的思考

一、方案背景 2024年5月2日&#xff0c;在修缮施工期间的河南大学河南留学欧美预备学校旧址大礼堂发生火情。现场航拍画面显示&#xff0c;大礼堂经过火灾&#xff0c;房顶已经基本坍塌&#xff0c;被火烧过的建筑呈焦黑状。 公开资料显示&#xff0c;大礼堂属河南留学欧美预…

【栈】Leetcode 比较含退格的字符串

题目讲解 844. 比较含退格的字符串 算法讲解 使用栈模拟&#xff0c;但遇到#字符就让栈顶元素出栈&#xff0c;但是在写的过程中有两点需要注意&#xff1a;当#出现在第一个位置&#xff0c;需要特殊处理一下&#xff1b;当栈为空的时候&#xff0c;还出现#字符需要特殊处理…

FFmpeg常用API与示例(二)—— 解封装与转封装

封装层 封装格式(container format)可以看作是编码流(音频流、视频流等)数据的一层外壳&#xff0c;将编码后的数据存储于此封装格式的文件之内。 封装又称容器&#xff0c;容器的称法更为形象&#xff0c;所谓容器&#xff0c;就是存放内容的器具&#xff0c;饮料是内容&…

【操作系统】处理机调度

处理机调度 处理机调度概念调度概念调度时机 调度原则调度算法实时调度优先级翻转 处理机调度概念 调度概念 进程切换&#xff1a; CPU资源的当前占用者切换 保存当前进程在PCB中的执行上下文(CPU状态)恢复下一个进程的执行上下文 处理机调度: 从就绪队列中挑选下一个占用…

在哪里打印资料比较便宜

在数字时代&#xff0c;我们常常需要在各种文档、资料之间穿梭&#xff0c;然而&#xff0c;有时候我们需要的并不是数字版&#xff0c;而是纸质版。那么&#xff0c;在哪里打印资料比较便宜呢&#xff1f; 琢贝云打印以其超低的价格&#xff0c;优质的打印服务&#xff0c;赢…

html划过盒子出现弹窗

<template><div><div class"content">盒子<div class"topUserInfo">弹窗</div></div></div> </template><script> export default {} </script><style lang"less" scoped> .…

P8802 [蓝桥杯 2022 国 B] 出差

P8802 [蓝桥杯 2022 国 B] 出差 分析 很明显&#xff1a;单源最短路径 没有负权边 dijkstra 1.存图 2.准备两个数组 dis[]&#xff1a;更新源点到各个点的距离 vis[]&#xff1a;标记是否访问 3.从源点开始&#xff0c;更新源点到与其邻接的点的距离&#xff0c;每次选…

01.基本概念

操作系统 为什么要有操作系统&#xff1f; 计算机时一个十分复杂的系统&#xff0c;又cpu、内存、磁盘、IO设备、网络接口等等复杂的硬件组成&#xff0c;人的精力是有限的&#xff0c;不可能了解所有的硬件接口&#xff0c;但是程序可以。 所以我们在计算机上安装了一层软件&…

从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析4

大家好呀&#xff0c;我是一个SLAM方向的在读博士&#xff0c;深知SLAM学习过程一路走来的坎坷&#xff0c;也十分感谢各位大佬的优质文章和源码。随着知识的越来越多&#xff0c;越来越细&#xff0c;我准备整理一个自己的激光SLAM学习笔记专栏&#xff0c;从0带大家快速上手激…

Linux -- 日志

一 日志的重要性 在之前的编程经历中&#xff0c;如果我们的程序运行出现了问题&#xff0c;都是通过 标准输出 或 标准错误 将 错误信息 直接输出到屏幕上&#xff0c;以此来排除程序中的错误。 这在我们以往所写的程序中使用没啥问题&#xff0c;但如果出错的是一个不断在运行…

fb设备驱动框架分析

一、字符设备注册过程&#xff1a; 归根到底&#xff0c;fb设备也是一个字符设备&#xff0c;所以逃不开常规的字符设备驱动框架&#xff1a; Linux内核中编写字符设备驱动通常遵循以下步骤&#xff1a; ①、定义主设备号&#xff1a; 在Linux中&#xff0c;每个字符设备都…

MySQL 通过 systemd 启动时 hang 住了……

mysqld&#xff1a;哥&#xff0c;我起不来了…… 作者&#xff1a;贲绍华&#xff0c;爱可生研发中心工程师&#xff0c;负责项目的需求与维护工作。其他身份&#xff1a;柯基铲屎官。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编…

如何查看页面对应的Selenium定位参数

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

谷歌外链怎么发?

既要数量也要质量&#xff0c;要保证你的链接广泛分布&#xff0c;在数量上&#xff0c;确实需要你的链接在各种平台上有所展现&#xff0c;这样能提升你网站的知名度和曝光率&#xff0c;但是&#xff0c;光有数量是不够的&#xff0c;如果这些链接的内容不行&#xff0c;那对…

泰迪智能科技企业数据挖掘流程分析及特色服务优势

企业发展会沉淀大量的数据&#xff0c;数据中囊括了企业业务各种维度指标&#xff0c;通过数据挖掘和数据分析 &#xff0c;让企业业务了解过去、现在和未来将要发生什么&#xff0c;从而更好的调整企业发展方向。泰迪智能科技企业数据挖掘平台是面向企业级用户快速处理数据构建…

2024年湖北省专升本C语言程序设计大题真题解析

2024年湖北省的专升本考试已于4月30日举行&#xff0c;考试中&#xff0c;出现了许多不同的考试题目&#xff0c;我在网上找到一所高校专升本的大题&#xff08;好像是湖北师范的&#xff0c;后续会有湖北理工的大题真题解析&#xff0c;敬请期待&#xff09;&#xff0c;那么我…

在新页面中跳转到指定 div容器位置

要在打开新的页面时跳转到指定 div&#xff0c;我们需要结合 HTML、JavaScript 和后端技术来实现。以下是两种常见的方法&#xff1a; 使用 URL 参数传递目标 div 信息 HTML (新页面): 在新页面的链接中&#xff0c;添加参数来指示目标 div 的 id&#xff0c;例如&#xff1a;…

致远M3 Session 敏感信息泄露漏洞复现

0x01 产品简介 M3移动办公是致远互联打造的一站式智能工作平台,提供全方位的企业移动业务管理,致力于构建以人为中心的智能化移动应用场景,促进人员工作积极性和创造力,提升企业效率和效能,是为企业量身定制的移动智慧协同平台。 0x02 漏洞概述 致远M3 server多个日志文…

Vue3自定义指令封装-按钮权限控制v-permission、hasPermissions

背景&#xff1a;平常所接触到的系统权限控制&#xff0c;大部分都是菜单、路由级别的控制&#xff0c;但后台管理系统中&#xff0c;很多操作都是与职责和角色挂钩的&#xff0c;同样一个列表&#xff0c;不同人的操作列并不都一样&#xff0c;有些页面存在一些含有重要数据的…