首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事

C++中字面值常量是什么?

发布网友 发布时间:2022-04-21 11:01

我来回答

4个回答

热心网友 时间:2023-07-29 08:47

  常量(constant)可以理解为所谓的字面值,常量和用const修饰的变量并不是一个概念。

  比如有语句如下:

  view plaincopy

  int a = 1234;

  那么语句中的int就是数据类型,a是变量,1234是字面值。int的字面值也就是可以用来初始化int类型变量的东西(不要说用其他变量也可以初始化哦!)。

  同样,char的字面值当然是机器的ASCII字符集了,分为可见的和不可见的字符,表示方法有两种,见下面程序:    

#include <stdio.h>  
  
int main(void)  
{  
/* 整形常量(字面值) */  
  
    // 十进制表示  
    int in = 1234;  
    long ln = 1234L;  
      
    unsigned int uin = 1234u;  
    unsigned long uln = 1234UL;  
  
  
    // 十六进制表示  
    in = 0xabul;  
  
    // 八进制表示  
    in = 0123ul;  
  
    // 没有后缀表示某整形常量为short  
  
/* 字符常量(字面值) */  
  
    // 普通表示  
    char c = 'x';  
  
    // 用转义序列表示  
    c = '\n';  
    c = '\100'; // 1-3位八进制数  
    c = '\x4a'; // 1-2位十六进制数  
  
    /* 
     * 所有转义序列 
     * ----------------- 
     * \a(对应ASCII表中值为7的字符(响铃)) 
     * \b(值为8(退格)) 
     * \f       \' 
     * \n       \" 
     * \r       \\ 
     * \t       \? 
     * \v       \ooo    \xhh 
     * ----------------- 
     * 特别的,转义序列'\ooo'对应ASCII表中值为0ooo(八进制)的字符, 
     * '\xhh'对应表中值为0xhh(十六进制)的字符。 
     */  
  
  
/* 浮点型常量(字面值) */  
  
    float f = -12.34e-1f;       // float  
    double df = 1234.56;        // double  
    long double ldf = 1234.56L; // long double  
  
/* 字符串常量(字面值) */  
      
      
/* 枚举常量 */  
    enum Month_t  
    {  
        JAN = 1, FEB, MAR, APR, MAY, JUN,  
        JUL, AUG, SEP, OCT, NOV, DEC  
    };  
      
    enum Month_t m = MAR; // c编译器不检查,c++编译器会检查  
  
    return 0;  
}

热心网友 时间:2023-07-29 08:47

常量就相当于1,2,3
变量就是,a,b,c
可以有a=3,a=4;
但不能有1=2,1=3,这样的语句. do you understand?

const a=2;
这时候a和2的性质一样任何地方都不能更改.

热心网友 时间:2023-07-29 08:48

我想可能是这些写书的用翻译机翻译的吧。

估计 "字面值常量" 对应的意思是 char constant. 字符型常量。

char const a = 'x';

热心网友 时间:2023-07-29 08:48

从字面形式即可识别(其数据类型)的常量.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com