首页 > 编程语言 >c++基础知识——常量和变量

c++基础知识——常量和变量

时间:2024-07-06 14:27:00浏览次数:24  
标签:const 变量 浮点数 c++ 基础知识 面值 标识符 常量

常量

1.常量的性质

在程序运行的过程中,其值不改变的量称为常量。常量分为两种:一类直接写出它的值,称为字面值常量,如123,'abc',true等;一类是使用const修饰的对象。

2.整形字面值常量

整形字面值常量采用我们平常使用的十进制整数表示。如138,0,-512等,都是整形常量,二18.1,32.6等不是整形常量。

3.浮点数字面值变量

浮点数字面值常量也就是我们通常使用的实数,包括正实数、负实数和实数0。 C ++语言中表示浮点数常量的形式有两种:
①十进制小数表示法。即日常使用的带小数点的表示方法。如0.0,-0.0,+5.61,-8.0,-6.050等,都是浮点数常量,而0.,.37都不是合法的浮点数常量。
②科学记数法。科学记数法是指数形式的实数表示方法,如12500表示成1.25x105,编写程序时,上标不方便输入,便约定写成1.25E+05。在科学记数法中,字母" E "表示10这个"底数",而 E 之前为一个十进制表示的小数,称为尾数, E 之后必须为一个整数,称为"指数"。如﹣1234.56E+26,+0.268E-5,1E5是合法形式的实数,而.34E12,2.E5,E5, E ,1.2E+0.5都不是合法形式的实数。
无论浮点数采用的是十进制小数表示法还是科学记数法,它们在计算机内的表示形式都是一样的,都是用浮点方式存储。
和整数相比,浮点数表示的范围要大得多,但值得注意的是浮点数的运算比整数的运算速度慢且有误差。

4.char字面值常量

在 C ++语言中, char 字面值常量由单个字符组成,所有字符均来自 ASCII 字符集。在代码中,通常用一对单撇号将单个字符括起来表示一个字符常量,如' a ',' A ',' o '等。特殊地,对于单引号字符,则要表示成""。这样的 char 字面值常量在使用时等同于它的 ASCII 码,只不过在输出时会以它所对应的字符形式输出。

5.布尔型常量

布尔型常量仅有两个值:真和假,分别用标准常量 true 和 false 表示,它们的序号分别为
1和0。

6.const修饰的对象

一个常量既可以直接用字面形式表示(称为字面值常量,如124,156.8),也可以用一个标识符来代表,称为一个 const 对象(符号常量),符号常量必须先声明后使用。
声明符号常量的一般格式:

 const <常量类型><常量标识符>=<常量>;


说明:符号常量声明以关键字 const 开头,后面的常量标识符即为符号常量的名称,"="号后的常量可为字面值常量,可为整数、实数、字符、字符串(字符串常量在后面章节中进行介绍)。
例如:
 

 const double PI =3.1415926;

如上声明后,在程序中, PI 作为符号常量即代表实数3.14159。也就是说,符号常量声明既定义了常量名及其值,又定义了常量的类型。关于 const 对象,应注意下列两点:
①符号常量一经定义,就不能修改其值。
②使用符号常量比直接使用数值更能体现"见名知义"的原则,也便于修改参数,故一个好的程序,应尽量使用符号常量,而在执行部分基本上不出现字面值常量。

变量

1.变量的性质

变量代表一个存储单元,其值是可变的,故称为变量。例如,游戏魂斗罗中玩家的生命值最初为3,每死一次,生命值就减少1,这里的生命值就是一个变量(或者说生命值存储在一个存储单元中)。在程序运行过程中,其值可以改变的量,称为变量。
一个程序可能要使用干个变量,为了区别不同的变量,必须给每个变量(存贮单元)取一个名字,称之为变量名,该变量(存贮单元)存放的值称为变量的值,变量中能够存放值的类型称为变量的类型。例如,游戏魂斗罗中用于存放生命值的变量可取名为 N ,它的类型为整型,游戏开始时其值为3.

2.变量名

变量名必须是一个合法的标识符。如 n , m , rot , total 等,都是合法变量名。在程序中用到的变量名必须在说明部分加以说明。变量名应遵循自定义标识符的命名规则,并注意"见名知义"的原则,即用一些有意义的单词作为变量名。注意 C ++语言严格区分字母大小写。
"自定义标识符"的命名规则为:自定义标识符必须以字母或下划线开头,后面的字符可以是字母、数字或下划线;标识符长度不得超过63个字符。

4.变量的类型

变量是用来存储值的,因此也有相应的类型。如整型变量用来存储整数,浮点数变量用
来存储浮点数。

5.变量的定义

在程序中若要使用变量,变量的名称及类型需加以定义。变量的值既可以在定义时初始化,也可以在之后改变。
变量定义的一般格式:

<数据类型><变量名称>[初始化参数];


例如:

 int a , b =2, c ;
 char d ;


一旦定义了变量,就确定了变量的类型,也就是确定了该变量的取值范围和对该变量所能进行的运算。

完结撒花!

标签:const,变量,浮点数,c++,基础知识,面值,标识符,常量
From: https://blog.csdn.net/asdfghjkl66hh/article/details/140201744

相关文章

  • 【C/C++ new/delete和malloc/free的异同及原理】
    new/delete和malloc/free都是用于在C++(以及C语言在malloc/free的情况下)中动态申请和释放内存的机制,但它们之间存在一些显著的异同点。以下是对这两组函数/运算符的异同点的详细分析:相同点目的相同:两者都用于在堆(heap)上动态地分配和释放内存。手动管理:无论是new/delete还是......
  • 快速排序c++&&java代码实现
    快速排序的思想(基于分治法): 每次选一个基准元素x,通过一次遍历将排序表划分为独立的两部分a[l,k-1],a[k+1,r];其中左边的元素<=x,右边的1元素>x,然后递归下去,直到每个块的大小为1;c++#include<bits/stdc++.h>usingnamespacestd;voidquickSort(vector<int>&q,int......
  • java学习——基础语法篇(适合已经学过c++的人群)
    本篇适合之前学过c和c++语言,现在要学java的人进行学习。由于之前学习过c++同为面向对象的程序语言,基础语法在相对比之下学习,对比c++与java的差异,会快速掌握基本语法。学编程语言,语法不是重点,用时即查,编程思路才是重点。1.注释、标识符、关键字、数据类型,变量定义,运算符与c++基本......
  • 初始C++
    1.visualstudio2022创建项目以及创建C++文件完成上述步骤之后我们就可以敲代码了!!2.关于编译和链接1.ctrl+F7对当前C++文件进行编译并会在编译成功后生成.obj文件。2.F5运行整个项目就会将一个项目下的所有C++文件进行编译再将编译后生成的.obj文件链接起来生......
  • 【C++】认识使用string类
    【C++】STL中的string类C语言中的字符串标准库中的string类string类成员变量string类的常用接口说明成员函数string(constructor构造函数)~string(destructor析构函数)默认赋值运算符重载函数遍历string下标+[]迭代器范围for反向迭代器capacitysizelengthmax_sizeresi......
  • Linux系统的基础知识和常用命令
    1、什么是Linux?是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。......
  • C++容器map的常见用法
    文章目录1.map和multimap容器1.map容器的构造和赋值1.构造函数2.赋值操作2.map容器的大小和交换1.获取大小2.交换内容3.map容器的插入和删除1.插入元素2.删除元素3.注意事项4.map容器的查找和统计1.查找元素2.统计元素3.示例5.map容器的排序1.自定义排序规则2.注意点......
  • C++:win11下的VScode构建百度Comate
    一. VScode的安装官网下载地址:https://code.visualstudio.com/ (选择好对应的系统版本)汉化:安装完软件后,打开软件界面的"扩展商店",搜索Chinese,下载相应的插件,如下图:二. 配置C++开发环境VSCode只是一个高级的编辑器,可以用来写C++代码,不能直接编译代码。所以,如果......
  • 【并查集】浅谈思想 & 代码实现 & 实战例题(C/C++)
    思想综述并查集(Union-Find)算法的主要操作包括两种:合并(Union):将两个不相交的集合合并成一个集合。查询(Find):查询两个元素是否属于同一个集合。并查集算法的核心思想是使用树(通常是森林)来表示这些不相交的集合,其中每个集合被表示为一棵树,树的根节点代表这个集合的标识(或称为代表......
  • 引用个数为什么会影响内存泄漏 c++例子
    在C++中,内存泄漏通常与手动管理内存有关,而不是直接由引用计数引起,因为C++标准库本身并不提供自动的引用计数功能。但是,我们可以通过一个例子来间接说明引用(或指针)管理不当如何导致内存泄漏,尤其是当涉及复杂对象结构和所有权关系时,这种管理不当往往体现在循环引用上。基本概念......