精华内容
下载资源
问答
  • 可以是十进制、八进制、十六进制整数常量(注意并没有二进制)。 八进制:前缀0 十六进制:前缀0x(x大小写均可以) 十进制:无前缀默认为十进制 整数常量也可以带后缀,U和L(大小写均可以,但是推荐使用大写形式...
    1. 整数常量
      可以是十进制、八进制、十六进制的整数常量(注意并没有二进制)。
      八进制:前缀0
      十六进制:前缀0x(x大小写均可以)
      十进制:无前缀默认为十进制
      整数常量也可以带后缀,U和L(大小写均可以,但是推荐使用大写形式,因为小写 l 容易极容易看错)。
    2. 浮点数常量
      可以使用小数形式或指数形式来表示浮点数。
    4.44444	//合法
    44e4	//合法
    44.e4	//合法
    4.e-5L	//合法
    4e		//不合法,指数部分不完整
    .e4		//不合法,缺少数部分
    
    1. 布尔常量
      true:真
      false:假
      true和false都是C++的关键字
    2. 字符常量
      从形式上来看,字符常量是在单引号中。
      如果字符以L(大写)开头,表示该字符为一个宽字符常量(如:L’x’),此时必须存储在wchar_t类型变量中,否则将会为一个窄字符常量(如:‘x’),窄字符常量可以存储在char类型的变量中。
      包括:
      普通字符(‘x’);
      转义字符(’\t’);
      通用的字符(’\u02C0’);
    转义字符 含义
    \\ \字符
    \’ '字符
    \" ”字符
    \? ?字符
    \a 警报铃声
    \b 退格键
    \f 换页符
    \n 换行符
    \r 回车
    \t 水平制表符
    \v 垂直制表符
    \ooo 一到三位的八进制数(只有\后3位属于该8进制数)
    \xhh 一个或多个数字的十六进制数
    1. 字符串常量
    2. 定义常量
      #define预处理(define只是机械的代换在使用的时候推荐加上括号,不然很容易出错);
      const关键字
    	#define sum(a,b) a*b
    	int a=0;
    	a=sum(3+4,1+2);
    	printf("%d",a);
    	//可能会有人认为是21,其实输出的9
    	#define sum(a,b) (a)*(b)
    	int a=0;
    	a=sum(3+4,1+2);
    	printf("%d",a);
    	//这时候输出的就是21,而非9
    
    展开全文
  • C语言合法标识符,合法常量,合法转义字符总结!

    千次阅读 多人点赞 2020-09-27 13:25:44
    二, 合法常量 整型常量: 十进制 :10 八进制 :017(以0开头,能出现8,9) 十六进制:0xA1(以0x开头) 实型常量:(强调E) E前面必须有数字,E后面必须是整数 字符型: 'n' ,'N' ,'\n' 字符串型...

    一, 合法标识符
    用户定义的合法标识符需满足以下两个要求:

    • 标识符只能由字母,数字和下划线组成。
    • 标识符不能以数字开头。

    二, 合法常量

    • 整型常量:
      十进制 :10
      八进制 :017(以0开头,不能出现8,9)
      十六进制:0xA1(以0x开头)

    • 实型常量:(强调E)
      E的前面必须有数字,E的后面必须是整数

    • 字符型: 'n' ,'N' ,'\n'

    • 字符串型:"abc","123",""

    三,合法转义字符

    • 一般转义字符
      \a 响铃
      \b 退格
      \f 换页
      \n 换行
      \r 回车
      \t 水平制表
      \v 垂直制表
      \ 代表一个反斜线字符
      \ ’ 代表一个单引号字符
      " 代表一个双引号字符
      \0 空字符
    • 八进制转义字符
      它是由反斜杠\和随后的1~3个八进制数字构成的字符序列
    • 十六进制转义字符
      它是由反斜杠\和字母x(或X)及随后的1~2个十六进制数字构成的字符序列
      八进制转义字符和十六进制转义字符,不在前面加0!
    展开全文
  • 常量就像是常规的变量,只不过常量的值在定义能进行修改。整数常量整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,带前缀则默认表示十进制。整数常量也...

    C++ 常量

    常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量
    常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。
    常量就像是常规的变量,只不过常量的值在定义后不能进行修改。

    整数常量

    整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。

    整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。

    下面列举几个整数常量的实例:

    212 // 合法的
    215u // 合法的
    0xFeeL // 合法的
    078 // 非法的:8 不是八进制的数字
    032UU // 非法的:不能重复后缀

    以下是各种类型的整数常量的实例:

    85 // 十进制
    0213 // 八进制
    0x4b // 十六进制
    30 // 整数
    30u // 无符号整数
    30l // 长整数
    30ul // 无符号长整数

    浮点常量

    浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

    当使用小数形式表示时,必须包含小数点、指数,或同时包含两者。当使用指数形式表示时,必须包含整数部分、小数部分,或同时包含两者。带符号的指数是用 e 或 E 引入的。

    下面列举几个浮点常量的实例:

    3.14159 // 合法的
    314159E-5L // 合法的
    510E // 非法的:不完整的指数
    210f // 非法的:没有小数或指数
    .e55 // 非法的:缺少整数或分数

    布尔常量

    布尔常量共有两个,它们都是标准的 C++ 关键字:

    • true 值代表真。
    • false 值代表假。

    字符常量

    字符常量是括在单引号中。如果常量以 L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),此时它必须存储在 wchar_t 类型的变量中。否则,它就是一个窄字符常量(例如 'x'),此时它可以存储在 char 类型的简单变量中。

    字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 't'),或一个通用的字符(例如 'u02C0')。

    在 C++ 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(n)或制表符(t)等。下表列出了一些这样的转义序列码:

    0b1a95c1d538138a4ca69a623de937d1.png

    字符串常量

    字符串字面值或常量是括在双引号 "" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。

    您可以使用空格做分隔符,把一个很长的字符串常量进行分行。

    下面的实例显示了一些字符串常量。下面这三种形式所显示的字符串是相同的。

    "hello, dear"
    "hello,
    dear"
    "hello, " "d" "ear"

    定义常量

    在 C++ 中,有两种简单的定义常量的方式:

    • 使用 #define 预处理器。
    • 使用 const 关键字。

    #define 预处理器

    下面是使用 #define 预处理器定义常量的形式:

    #define identifier value

    具体请看下面的实例:

    #include <iostream>
    using namespace std;
    
    #define LENGTH 10   
    #define WIDTH  5
    #define NEWLINE 'n'
    
    int main()
    {
    
       int area;  
       
       area = LENGTH * WIDTH;
       cout << area;
       cout << NEWLINE;
       return 0;
    }
    

    当上面的代码被编译和执行时,它会产生下列结果:

    50

    const 关键字

    您可以使用 const 前缀声明指定类型的常量,如下所示:

    const type variable = value;

    具体请看下面的实例:

    #include <iostream>
    using namespace std;
    
    int main()
    {
       const int  LENGTH = 10;
       const int  WIDTH  = 5;
       const char NEWLINE = 'n';
       int area;  
       
       area = LENGTH * WIDTH;
       cout << area;
       cout << NEWLINE;
       return 0;
    } 
    

    当上面的代码被编译和执行时,它会产生下列结果:

    50

    请注意,把常量定义为大写字母形式,是一个很好的编程实践。

    展开全文
  • C++中的常量定义小结

    2021-01-01 04:45:36
    一般来说,使用C语言编程时我们都习惯在代码当中使用C当中定义定义一个数值常量: #define MY_CONST 7 在C++开发项目时,也会经常存在沿袭C当中常量用法情况。所以,如下一种写法看起来反倒觉得有些正宗...
  • 定义常量与const定义常量的区别

    千次阅读 2013-11-07 20:55:41
    这两种方式在语法上都是合法的,但是第二种方式要比第一种方式好,因为如果使用#define定义宏,PI会在代码预编译阶段被预编译处理器替换成3.14159,宏名称不会出现在符号表中,这样会给代码后期调试带来麻烦,...

    心得:

    这两种方式在语法上都是合法的,但是第二种方式要比第一种方式好,因为如果使用#define定义宏,PI会在代码的预编译阶段被预编译处理器替换成3.14159,宏的名称不会出现在符号表中,这样会给代码后期的调试带来麻烦,可能会遇到一个数字,却不知道它从何而来,这就是我们常说的Magic Number(像拥有魔力一样不知从何而来的数)。使用const定义,既可以保证PI值的唯一性,又便于调试,同时还可以对数据类型进行检查,借助编译器来减少错误的发生。所以,我们总是优先使用const关键字来定义常量。


    用宏表示常数

    假如我们要写一个有关圆的种种计算的程序,那么∏(3.14159)值会被濒繁用到。我们显然没有理由去改∏的值,所以应该将它当成一个常量对待,那么,我们是否就不得不一遍一遍地写3.14159这一长串的数呢?

    必须有个偷懒的方法,并且要提倡这个偷懒,因为多次写3.14159,难免哪次就写错了。

    这就用到了宏。宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段。(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议。)今天我们只谈其中代替常数值的功能。

    宏的语法为:

     

    #define 宏名称 宏值

     

    比如要代替前面说到的∏值,应为:

     

    #define PAI 3.14159

     

    注意,宏定义不是C或C++严格意义上的语句,所以其行末不用加分号结束。

     

    宏名称的取名规则和变量名一样,所以我们这里用PAI来表示∏,因为C、C++不能直接使用∏字符。有了上面的语句,我们在程序中凡是要用到3.14159的地方都可以使用PAI这个宏来取代。

    作为一种建议和一种广大程序员共同的习惯,宏名称经常使用全部大写的字母。

     

    假设原来有一段代码:

     

    double zc = 2 * 3.14159 * R; //求圆周长,其中R是代表半径的变量

    double mj = 3.14159 * R * R; //求圆面积

     

    在定义了宏PAI以后,我们就可以这样使用:

    #define PAI 3.14159

     

    double = 2 * PAI * R; //求圆周长,其中R是代表半径的变量

    double = PAI * R * R; //求圆面积

     

    用宏来取代常数,好处是:

     

    1)让代码更简洁明了

    当然,这有赖于你为宏取一个适当的名字。一般来说,宏的名字更要注重有明确直观的意义,有时宁可让它长点。

    2)方便代码维护

    就如前面说的3.14159。哪天你发现这个∏值精度不够,想改为3.1415926,那么你只修改一处宏,而不是修改代码中的所有宏。

    原来的宏:

    #define PAI 3.14159

    修改后的宏:

    #define PAI 3.1415926

     

    对宏的处理,在编译过程中称为“预处理”。也就是说在正式编译前,编译器必须先将代码出现的宏,用其相应的宏值替换,这个过程有点你我在文字处理软件中的查找替换。完成预处理后,所有原来的“PAI”都成了立即数3.1415926。所以在代码中使用宏表达常数,归根结底还是使用了立即数,并没有明确指定这个量的类型。这容易带来一些问题,所以C++使用另一更稳妥的方法来代替宏的这一功能。

    常量定义

    常量定义的格式为:

     

    const 数据类型 常量名 = 常量值;

     

    相比变量定义的格式,常量定义必须以 const 开始,另外,常量必须在定义的同时,完成赋值。

     

    const float PAI = 3.1415926;

     

    const 的作用就是指明这个量(PAI)是常量,而非变量。

    常量必须一开始就指定一个值,然后,在以后的代码中,我们不允许改变PAI的值,比如:

     

    const float PAI = 3.14159;

    double zc = 2 * PAI * R;

    PAI = 3.1415926;        //错误!,PAI不能再修改。

    double mj = PAI * R * R; 

     

    如果一个常量是整型,可以省略指出数据类型,如:

    const k = 100;

    相当于

    const int k = 100;

     

    反过来说,如果不指定数据类型,则编译器将它当成整型。比如:

    const k = 1.234;

    虽然你想让k等于一个实型数,然而,最终k的值其实是1。因为编译器把它当成整型常量。

    我们建议在定义变量时,明确指出类型,不管它是整型或其它类型。

     

    const int i = 100;

    const double di = 100.0;

    ref1:http://www.howzhi.com/course/3687/lesson/43502

    ref2:http://www.cnblogs.com/particle/archive/2012/09/01/2667042.html

    ref3:http://learn.akae.cn/media/ch21s02.html(宏定义的使用)

    展开全文
  • 常量就像是常规的变量,只不过常量的值在定义能进行修改。 整数常量 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,带前缀则默认表示十进制。 整数常量...
  • 其实说就是定义问题,图中看清楚,可以看下面代码部分:#define LIMIT 20const int LIM = 50;static int data1[LIMIT]; //合法static int data2[LIM]; //无效const int LIM2=2* LIMIT; //合法const int LIM3=2...
  • 变量名必须是合法的标识符。 变量声明是一条完整语句,因此每一个生命都必须以分号结束。 变量作用域 类变量 实例变量:在类里面,方法外面,从属于对象;通过类去使用它。不用初始化可直接使用。 如果...
  • C语言中关于合法的数值常量

    万次阅读 多人点赞 2019-05-10 15:06:49
    1. 八进制常量:开头必须是0,且八进制是0-7之间组成数,例如...3. 实数型常量:必须有小数点,例如定义double a=1就是错误,必须写成double a=1.0,另外写成a=1,0中间是逗号,就更是错误了。 4. e与E,表示...
  • 实数型常量:必须有小数点,例如定义double a=1就是错误,必须写成double a=1.0。 e与E,表示以10为底数幂数,且e与E后面必须跟整数,若是小数,也是错误,例如3.2e1.9 ,这里1.9是小数,所以错。 ...
  • 一、作用 判断常量语句定义是否合法,合法则输出分析结果,不合法则输出原由。 二、不合法原由 1、是否有关键字“const”开头定义 2、是否有“;”结束定义; 3、句子中格式行空格处理; 4、常量名是否合法(首...
  • > PHP中的常量 常量名 1合法的常量名由字母数字或下划线组成以字母或下划线开始 2和其它任何 PHP 标签遵循同样命名规则 说明可以用 define) 函数来定义常量一个常量一旦被定义能再改变或者取消定义 语法...
  • 选择题1下列字符序列中,是C语言保留字是______A.scanfC.includeB.sqrtD.include点击空白处查看答案D2若已有定义:int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a, i;其中0≤i≤9,则对a数组元素引用正确...
  • 在之前文章中,小编介绍什么是常量常量就是,在程序执行过程中,它可以改变量,那么相反变量就是可以改变哦。他们命名都必须使用合法的标识符,标识符使用小编再之前文章中也有提到过。接下来...
  • 以上两种定义都是合法的! const 引用 对于上面的常量,因为其数据能修改,所以其对应引用,也要能修改,这样引用,则为const 引用,如下: const int& rTest = iTest; 如果定义一个普通引用指向...
  • 详解C++中的常量

    2021-01-21 15:25:53
    常量就像是常规的变量,只不过常量的值在定义能进行修改。 整数常量 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,带前缀则默认表示十进制。 整数...
  • 常量 笔记

    2018-11-23 17:49:19
    合法的常量名以字母或下划线开始,后面跟着任何字母,数字下划线 常量的范围是全局 不用管作用域就可以在脚本任何地方访问常量 用fefine()函数来定义常量 一个常量一旦被定义,就能在改变或者取消定义. ...
  • 定义常量的例子: define("CONSTANT", "你好!"); echo CONSTANT; ?> 常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。 常量默认为大小写...
  • php常量

    2016-05-23 22:31:00
    定义常量的例子: <?php define("CONSTANT", "码农教程"); echo CONSTANT; ?> 运行 常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或...
  • 常量指针与指针常量

    2014-04-26 12:28:32
    常量指针与指针常量 在C++中,常常会被指针和const搞得雨里雾里...是不合法的 而p本身则就是一个指针,对p改变是允许,即int a;p=&a是合法。 对于常量指针初始化,则可以直接初始化或是先定义再赋值。 如:
  • php-常量

    2019-10-02 15:54:03
    如同其名称所暗示,在脚本执行期间一个常量一旦被定义,就能再改变或取消定义常量默认为大小写敏感。按照惯例常量标识符总是大写  常量名和其它任何PHP标签遵循同样命名规则。合法的常量名以字...
  • php之常量

    2017-06-06 09:59:15
    定义常量 常量是一个简单值的标识符。...合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线 和超全局变量一样,常量的范围是全局的。不用管作用区域就可以在脚本的任何地方访问常量 常量只能包...
  • 数组名表示指针常量的问题

    千次阅读 2017-04-08 17:03:25
    6.若已定义 char s[10]; 则在下面表达式中不表示s[1]地址是 B 。 A、s+1 B、 s++ C、&s[0]+1 D、 &s[1] s是数组名,相当于数组首...对一个指针常量来进行赋值操作是不合法的。 这里注意数组名s和&s区别。
  • 快速了解c# 常量

    2020-12-17 08:20:50
    常量可以被当作常规变量,只是它们值在定义能被修改。 整数常量 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。 整数常量也...
  • PHP获取类内部常量方法

    千次阅读 2017-07-31 11:33:00
    今天在写搭建一个api接口,需求返回程序处理后对于结果状态码,如status=-1001就代表不合法请求。不想再代码里面直接写-1001这样数字,阅读理解太不友好了。就想着创建一个状态码类,里面定义好需要的常量,既...
  • 字符常量

    千次阅读 2009-03-23 19:19:00
    都是合法字符常量。在C语言中,字符常量有以下特点: 1.字符常量只能用单引号括起来,能用双引号或其它括号。 2.字符常量只能是单个字符,能是字符串。 3.字符可以是字符集中任意字符。但数字被定义为字符型...
  • 常量与变量

    2018-04-25 08:59:12
    char *p="abcde";//在计算中的的某一个地方开辟...//不合法//定义了一个整形常量a,才是改变a是不合法的const int a=10;int *p=&amp;a;*p=10;//合法//虽然a为整型常量,但是可以通过指针p来改变a值...
  • 枚举与常量

    2012-07-19 20:00:00
    2、枚举是自己定义后再使用,有一定约束 , 常量可以随便定义 3、枚举传入值是固定值不会出错,常量是一个值,传递参数是任意 4、限制用户能随意赋值,只能在列举值中选择,需要死记每一个值,只...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 374
精华内容 149
关键字:

不合法常量的定义