C++变量(C++变量定义、变量赋值、命名规则)

其实在前面的例子中已经多次用到了变量。在程序运行期间其值可以改变的量称为变量。一个变量应该有一个名字,并在内存中占据一定的存储单元,在该存储单元中存放变量的值。请注意区分变量名和变量值这两个不同的概念,见图2.6。


图2.6

变量名规则

先介绍标识符的概念。和其他高级语言一样,用来标识变量、符号常量、函数、数组、类型等实体名字的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。变量名是标识符的一种,变量的名字必须遵循标识符的命名规则。

C++规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。下面列出的是合法的标识符,也是合法的变量名:
sum, average, total, day, month, Student_name, tan, BASIC, li_ling

下面是不合法的标识符和变量名:
M.D.John, $123, #33, 3G64, Ling li, C++, Zhang-ling, U.S.A.

注意:在C++中,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。一般地,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。应注意变量名不能与C++的关键字、系统函数名和类名相同。在国外软件开发工作中,常习惯在变量前面加一个字母以表示该变量的类型,如iCount表示这是一个整型变量,cSex表示这是一个字符型变量。

C++没有规定标识符的长度(字符个数),但各个具体的C编译系统都有自己的规定。有的系统取32个字符,超过的字符不被识别。

定义变量

在C++语言中,要求对所有用到的变量作强制定义,也就是必须“先定义,后使用”,如例2.2和例2.3那样。定义变量的一般形式是:
    变量类型  变量名表列;
变量名表列指的是一个或多个变量名的序列。如:
    float a,b,c,d,e;
定义a,b,c,d,e为单精度型变量,注意各变量间以逗号分隔,最后是分号。可以在定义变量时指定它的初值。如:
    float a=83.5, b, c=64.5, d=81.2, e;  //对变量a,c,d指定了初值,b和d未指定初值

C语言要求变量的定义应该放在所有的执行语句之前,而C++则放松了限制,只要求在第一次使用该变量之前进行定义即可。也就是说,它可以出现在语句的中间,如:
    int a;  //定义变量a(在使用a之前定义)
    a=3;  //执行语句,对a赋值
    float b;  //定义变量b(在使用b之前定义)
    b=4.67;  //执行语句,对b赋值
    char c;  //定义变量c(在使用c之前定义)
    c=‘A‘;  //执行语句 ,对c赋值

C++要求对变量作强制定义的目的是:
1) 凡未被事先定义的,不作为变量名,这就能保证程序中变量名使用得正确。例如,如果在声明部分写了
    int student;
而在执行语句中错写成statent。如
    statent=30;
在编译时检查出statent未经定义,作为错误处理。输出“变量statent未经声明”的信息,便于用户发现错误,避免变量名使用时出错。

2) 每一个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。如指定a和b为int型,一般的编译系统对其各分配4个字节,并按整数方式存储数据。

3) 指定每一变量属于一个特定的类型,这就便于在编译时,据此检查该变量所进行的运算是否合法。例如,整型变量a和b,可以进行求余运算:
    a%b
%是“求余”,得到a/b的余数。如果将a和b指定为实型变量,则不允许进行“求余”运算,在编译时会给出有关的出错信息。

为变量赋初值

允许在定义变量时对它赋予一个初值,这称为变量初始化。初值可以是常量,也可以是一个有确定值的表达式。如
    float a, b=5.78*3.5, c=2*sin(2.0);
表示定义了a,b,c为单精度浮点型变量,对b初始化为5.78*3, 对c初始化为2*sin(2.0),在编译连接后,从标准函数库得到正弦函数sin(2.0)的值,因此变量c有确定的初值。变量a未初始化。

如果对变量未赋初值,则该变量的初值是一个不可预测的值,即该存储单元中当时的内容是不知道的。例如,若未对a和b赋值,执行输出语句
    cout<<a<<" "<<b<<" "<<c<<endl;
输出结果可能为
    1.48544e-38 15 1.81858  (各次运行情况可能不同)
初始化不是在编译阶段完成的(只有在第4章中介绍的静态存储变量和外部变量的初始化是在编译阶段完成的),而是在程序运行时执行本函数时赋予初值的,相当于执行一个赋值语句。例如:
    int a=3;
相当于以下两个语句 :
    int a;  // 指定a为整型变量
    a=3;  //  赋值语句,将3赋给a
对多个变量赋予同一初值,必须分别指定,不能写成
    float a=b=c=4.5;
而应写成
    float a=4.5, b=4.5, c=4.5;

    float a, b, c=4.5;
    a=b=c;

时间: 2024-10-25 21:41:02

C++变量(C++变量定义、变量赋值、命名规则)的相关文章

C语言中变量名及函数名的命名规则与驼峰命名法

一.C语言变量名的命名规则:(可以字母,数字,下划线混合使用) 1. 只能以字母或下划线开始:2. 不能以数字开始:3. 一般小写:4. 关键字不允许用(eg:int float=2//error  float 为保留字不允许用): 二.函数名的命名规则 1.见名知意:2.自定义函数函数名首字母大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突). 三.宏定义里面的变量 全大写 eg:#define SIZE 100(后面函数所有出现的SIZE全用100代替,它在所有

【UiBot基础教程】变量与常量 - 定义变量以及变量类型

UiBot中的变量是动态类型的,无需再定义的时候声明变量的类型,即变量的值和类型都可以在运行过程中动态改变.这也符合一般脚本语言如Python.Lua.JavaScript的习惯. 定义变量名的方式是:Dim 变量名再定义变量名的同时可以给变量赋值一个初始值:Dim 变量名 = 值想要定义多个变量的话,可以这样定义:Dim 变量名=值, 变量名1Dim 变量名=值, 变量名=值同理,想要定义一个常量就可以这样定义:Const 常量名=值, 常量名=值 变量名的定义基础规范:变量名可以用英文字母.

操作系统,编程语言分类,执行python两种方式,变量,内存管理,定义变量的三个特征

操作系统 1.什么是操作系统 操作系统位于计算机硬件与应用软件之间 是一个协调.管理.控制计算机硬件资源与软件资源的控制程序 2.为何要有操作系统? 1.控制硬件 2.把对硬件的复杂的操作封装成优美简单的接口(文件),给用户或者应用程序去使用 注意:一套完整的计算机系统包含三部分 应用程序:qq,暴风影音,快播 操作系统:windows,linux,unix 计算机硬件 强调: 我们以后开发的都是应用程序 应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口 编程语言分类 1.机器语

学习go语言编程系列之定义变量

package main import ( "fmt" "math") func main() { // 1. 定义变量名age,不初始化,使用对应类型的默认值 var age int fmt.Println("My age is", age) // 2. 给变量赋值 age = 29 fmt.Println("My age is", age) age = 50 fmt.Println("My age is"

文件命名规则

网站文件命名规则 关于文件的命名,看似无足重轻,但实际上如果没有良好的命名规则进行必要的约束,一味的乱起名称,最终导致的结果就是整个网站或是文件夹无法管理.所以,命名规则在这里同样非常重要. 需要特别注意的时候,网站文件或文件夹命名请尽量避免使用中文字符命名. 文件的命名 以最少的字母达到最容易理解的意义. 索引文件统一使用index.html文件名(小写) index.html文件统一作为"桥页",不制作具体内容,仅仅作为跳转页和meta标签页.主内容页为main.html. 按菜单

python中变量的定义、命名规则、修改及使用原则

一.什么是变量 变量是用于在内存中存放程序数据的容器,以方便后续的调用.存储的方式为“变量名=值”,比如: name="张三" sex = "男" age = 18 height = 180 后边程序想要调用的时候,直接调用变量名即可: 1 print(name) 2 print(sex) 3 print(age) 4 print(heght) 在python中,定义变量时,不需要指定变量的类型! 二.变量的命名规则 变量的命名规则如下: 1.变量名只能是字母.数字

变量定义和赋值(下)

1.变量在函数中声明: ①变量往往是在一个时间范围内是有生命的,离开这个范围就会失去生命,释放内存.衡量这个时间范围的在程序中往往就是函数,如大家熟悉的 main 函数.所以变量往往声明在函数中,变量在这个函数中才具有生命,这种变量就称为局部变量. ②而且变量往往只能在函数的开头进行定义,或者说变量定义的前面不能有其它非声明或非定义的语句(遵循C89规范时). 是不是必须写在最前面是由编译器遵循的规范决定,如果编译器遵循 C89,就必须按照这个规则,如 VC++6.0.如果编译器遵循 C99 规

零基础学python-10.2 多目标赋值与变量命名规则

1.多目标赋值 >>> a=b=c='abc' >>> a,b,c ('abc', 'abc', 'abc') >>> 2.多目标赋值与共享引用 对于不可变对象是没有问题,但是对于可变对象,这里就有问题的了 >>> a=1 >>> b=a >>> b=a+1 >>> id(a) 505991632 >>> id(b) 505991648 >>>

.net开发环境的认识,控制台程序的创建,输出,输入,定义变量,变量赋值,值覆盖,值拼接,值打印 两种数据类型,整形类型转换

首先感谢向立凯老师带我走进.net这个很好的软件开发程序.通过两天的学习在这个领域的了解也多了很多,让大家先了解一下c#语言 c#是一种全新且简单.安全.快捷面向对象的程序设计语言.是专门为.net应用开发的语言..net的开发都基于一个统一的开发环境 Visual Studio.net.下面我们来看看怎么在Visual Studio.net.下创建以新的项目: 1.打开 2.新建一个项目 通过执行文件-新建-项目菜单命令,会弹出一个新建项目对话框.在这个对话框中选择开发语言为c#,选择框架版本