c++作业,以下选项是合法的常量的是? A.02x B. 0xfe 要详细解析,错的对的都要分析

专业解答来一个

02x非法,0开头的数后面跟x错,x并非八进制数字,而常量名和变量名都必须以字母开头。
0xfe合法,0x开头为十六进制的数字,f和e分别代表本位上计数15和14,FE相当于十五个十六加十四个一,等于十进位制的254。
程序中有些值是不需变化的,叫做常量。在C和C++中都可以用#define指令告诉预处理器用字符串的值替换程序文件中的这个字符串。
最好用#define指令定义一些有意义的名称,而不应使用没有意义的数字、符号。这将使得代码更具可读性。常量可以被重新定义为另外的值。
C++还提供了一种更好的声明常量的方式:使用CONST声明。
采用CONST方法比#define方法更具有类型安全性,因为CONST方法可以声明常量的数据类型。C++会检查初始化符号的数据是否与CONST关键字后声明的数据类型一致。既然C++有了更优越的CONST,那我们就应该尽可能地使用CONST,而不要使用#define。
CONST关键字在C++中有许多用途。除了声明常量,还可以把函数的参数和函数值设为只读,使这些值不会被更改。
C++是区分大小写的,BIG与Big和big不同。
希望我能帮助你解疑释惑。追问

为了应付这种问哪个常量是合法的选择题,我不清楚那些以规定好的合法的"0x”之类的开头、结尾。能列举一下都有哪些吗

追答

0x、0b、0o都是合法的数字,分别表示十六进制、二进制和八进制的数字。
声明变量就是事先把变量通知程序。要用Dim语句声明变量,Dim语句提供了变量名:
Dim 变量名 As 数据类型
在过程内部用Dim语句声明的变量,只在这个过程执行时才有效。过程一结束,这个变量也就消失了。过程的变量值对过程来说是局部的——无法在一个过程中访问另一个过程中的变量。由于这种特点,在不同的过程中,就可以使用相同名字的变量,不必担心有什么冲突存在。
变量名具有以下限制:
必须以字母开头。
不能包含嵌入的句号或者嵌入的类型声明字符。
不得超过255个字符。
在同一个范围(可以引用变量的变化域,如一个过程、一个窗体等)必须是唯一的。
Dim语句中可选的As 类型子句可以定义被声明变量的数据类型或对象类型。数据类型定义了变量所存储信息的类型。整型、字符串型和货币型都是数据类型的例子。变量也可以包含来自Visual Basic或其它应用程序的对象,如对象、窗体和文本框。
不在过程内部,而在窗体、标准或类模块的声明段声明变量,这将使变量对模块中的所有过程有效。
用关键字Public声明变量,这将使变量在整个应用程序中有效。
用关键字Static声明一个局部变量,即使过程结束,变量的值也仍然保留着。
希望我能帮助你解疑释惑。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-18

02x非法, 0开头的数后面跟x错, x并非8进制数字

0xfe合法,0x开头为16进制数据, f和e分别代表本位上计数15和14

追问

我不清楚那些以规定好的合法的"0x”之类的开头、结尾。能列举一下都有哪些吗

追答

在程序中只有开头对数据常量有修饰作用,结尾的没有. 比如:
以0开头的数字,每位上合法数字在0~7之间,为八进制常数(072为八进制72);
以0x开头的数字,每位上合法数字在0~9,a~f之间,为十六进制常数(0x12f为十六进制数12f);
其他数字组成十进制数,不允许二进制数写在程序中
在书面上,习惯以结尾的修饰来表示各进制数. 比如:
二进制数以B结尾, 1010B即二进制数1010
八进制数以o结尾, 72o
十进制数以D结尾, 2019D
十六进制数以H结尾, 61H

第2个回答  2019-06-18
合法的常量
相似回答