zoukankan      html  css  js  c++  java
  • 【C++】常量

    注意:以下内容摘自文献[1],修改了部分内容。

    1.常量:常量的值是不能改变的,一般从其字面形式即可判别是否为常量。

    2.常量包括数值型常量(即常数)和字符型常量。

     

     3.常量无unsigned型。但一个非负值的整数可以赋值给unsigned型变量,只要它的范围不超过变量的取值范围即可。例如,将50000赋给一个unsigned short int 型变量是可以的,而将70000赋值给它是不行的(将会溢出)。

    4.字符常量

    (1) ddd:表示1~3位八进制数所代表的字符。xhh:表示1~2位十六进制数所代表的字符。如'101'表示以八进制数101的ASCII字符,而${(101)_8}$=${(65)_{10}}$,查阅ASCII表,可知它代表字符“A”。

    (2)注意''或'00'是代表ASCII码为0的控制字符,即“空操作符”,它广泛用于字符串中。

    (3) 转义字符虽然包含两个或多个字符,但它只代表一个字符。编译系统在见到字符“”时,会接着找它后面的字符,把它处理成一个字符,在内存中只占第一个字节。

    5.字符数据在内存中的存储形式及其使用方法

    字符常量在内存单元中以其ASCII存储,如字符变量c1的值是'a',则在变量中存放的是'a'的ASCII码97,实际上以二进制形式存储,即01100001。既然字符数据以ASCII码存储,它的存储形式就与整数的存储形式类似。这样,在C++中字符型数据和整型数据之间就可以通用。一个字符数据可以赋值给一个整型变量,反之,一个整型数据也可以赋值给一个字符变量。也可以对字符数据进行算术运算,此时相当于对他们的ASCII码进行算术运算。

     6.字符串常量:如:“Hello”,“abc”,“a+b”等。字符串常量“abc”在内存中占4个字节(而不是三个字节),如下

    字符'a'的二进制形式 字符'b'的二进制形式 字符'c'的二进制形式

    编译系统会在字符串最后自动加一个:‘0’作为字符串结束的标志。但''并不是字符串的一部分,它只作为字符串结束的标志。如 cout << "abc" << endl; 输出为:abc共三个字符。

    特别的例子:字符串常量"abc "包含几个字符?包含4个字符,' '是一个转义字符,但是该字符串常量占5个字节(包含一个''字符)。"abc\n"包含5个字符,占6个字节。

    7. 符号常量

     #define PRICE 30;    

    则PRICE就是符号常量。符号常量在C程序中用得较多,在C++中常用常变量(见变量)而较少使用符号常量。

    参考文献

    [1]谭浩强.C++程序设计[M].北京:清华大学出版社.

     

  • 相关阅读:
    感知器及其Python实现
    机器学习中的偏差和方差
    tensorflow构建CNN模型时的常用接口函数
    在O(1)时间复杂度删除链表节点
    python实现剑指offer删除链表中重复的节点
    yii2 advanced版基础部分
    Yii2 baisic版gii的使用和分页
    Yii2 表单(form)
    yii2 basic版 MVC 部分
    yii2 basic版基础部分
  • 原文地址:https://www.cnblogs.com/chen-hw/p/11614209.html
Copyright © 2011-2022 走看看