关于C++的一些基础问题。但我还是不知道。。。。。

常量:描述在程序运行中值不发生变化的数据。请挑出下列常量中合法的描述。
'a', '\n', '\x1f' , '\101', '\018', '\ab', "a", 0x123, 0239, "0", 123, e9, 1e2.2
求解答。。。。 谢谢!!!

首先你要把常量的意思弄明白!!!
常量分好多种:
'a'——字符型常量
'\n'——特殊字符型常量
'\x1f'——合法字符型常量(十六进制数)
'\101'——不合法
'\018'——不合法(八进制出现8了)
'\ab'——不合法
"a"——不合法(用双引号表示是字符变量)
0x123——合法十六进制整型常量
0239——不合法八进制整型常量(最大只能出现7)
"0"——合法整型常量
123——合法整型常量
e9——不合法的浮点型常量
1e2.2——不合法浮点型常量
推荐你一本书《C程序设计第三版》 作者:谭浩强。
里面关于这些有很详细的解释,比较适合有一点基础的初学者
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-09
'\101', '\018','a',0x123,0239,123,1e2.2
第2个回答  2011-09-09
这种题目只会在作业和考试中出现,实际应用中基本不会碰到
‘a’,字符a的数值,好像是97
0x123,16进制下的123
0239,8进制下的239
123,10进制下的123
1e2.2,浮点数的一种表示方法
以上均为常量
第3个回答  2011-09-09
有这么几个原则:
单引号内是字符常量,一般是一个byte
双引号内是字符串常量,编译器会自动添加\0在末尾作为结束符
\转义序列里,\ddd为三位八进制 ,\xhh为二位十六进制。
整形常量,0开头的是八进制表示,0x开头为16进制表示,0b开头为2进制表示。
科学计数法,必须是以数字开头,指数为整数。

所以 '\018' 、0239(八进制最大数字为7)、 '\ab'(应该写作\0xab)、e9、1e2.2有误。
另外,多嘴一句,教科书上可以这么设问,编程的时候不要混用三位八进制与两位十六进制,以及十六进制整数与八进制整数常量。最好统一转换成16、10或者8进制,可在注释中说明。便于理解,避免维护中出错。
第4个回答  2011-09-09
字符常量表示形式:
1. 'a'
2. '\x1f'
3. \n \t
\x表示后面的字符是十六进制,\0表示后面的字符是八进制,任意字符都可以以这种形式表示
\为转义字符,表示一些特殊字符,换行等
所以'a', '\n', '\x1f' , '\101' 都是正确的
而'\018' 0开头表示是八进制表示法,所以8超标了,错误

整型常量:
0x123 0x是16进制表示法,正确
0239 9超标了,错误
"a", "0", 表示字符串,虽然只有一个字符,但系统会自动再加个\0
e9, 1e2.2这两个记数法的很少用,不懂

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网