连笔字网 > 知识库

常量表达式,常量表达式

来源:连笔字网 2023-12-08 05:25:28 作者:连笔君

常量表达式

常量表达式顾名思义表达式由常量表示,如
double a = 3d + 2.1 + sizeof(double);
常量表达式就是表达式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。
如果定义变量a,那么a+2就不是常量表达式。
n=5是常量表达式

扩展

书上的定义是编译的时候能确定值的式子是常量表达式
那编译的时候知不知道n是什么型数据 ? 那n=5算是5还是5.0呢??
不知道的话不就不太好说了。

补充

。。。你要是直接写n=5 编译器肯定报错的 因为编译器不认识n是什么

扩展

也就是说前面定义了的话就是常量表达式

补充

扩展

我刚试了下 不对啊 用switch里面的case后面括号里面写了(n=5)结果是error C2051: case expression not constant

补充

case 只要写 5就可以了

什么是常量表达式?

举例:

int n = 1; //这是确定无疑的,1是常量表达式,不可能变化

另一个例子:

int x = n + 1; //编译器并不能根据这句就推断出x一定等于2,因为极有可能在其他地方改变n的值,因此编译器就不敢保证它是常量

c语言中常量表达式有哪些?举点例子,谢谢!!!

C语言中的常量与常量表达式与变量
在程序运行过程中,其值不能被改变的量,称为常量。
整型常量:1,0,-1
实型常量:8.2,-3.55
字符常量:'a', 'c'。
常量一般从其字面形式即可判断。这种常量为字面常量或直接常量。
整型常量可分为:int, short int, long int, unsigned int, unsigned short, unsigned long.
浮点常量可分为:float, double, long double
字符常量:
字符串常量:
变量: 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值。
就是比如cout<<5*8+2/6<<endl; 表达式的值是一个定值,而不包含变量的式子!
那可不可以认为常量表达式就是常量?一般情况可以的,只要没变量就可以了。

常量表达式顾名思义表达式由常量表示,如
double a = 3d + 2.1 + sizeof(double);
整型表达式是表达式由整型数据表示.
a[n];
维大小n必须为整型,系统不会自动将一个低精度的数转换为高精度的数,所有a[3.4]不正确,必须为a[(int)3.4]
----------------------------------
表达式就有由一串“数字”和“符号”组成的式子,例如1+2是表达式,12*8-1*99也是表达式。C++
的“符号”除了普通的算术运算+-*/之外还有其他的。
常量表达式就是表达式里面只有常量的式子,比如1+2是常量表达式,如果定义a为常量1,那么a+2也是常量表达式。
如果定义变量a,那么a+2就不是常量表达式。

c语言中什么是整型常量表达式??

整形常量表达式指的是表达式中的操作数都是整数类型的, 这里的整数类型不仅仅是int类型, 还包括char, (unsigned) short, (unsigned) long等类型. 整型常量表达式中的操作数在编译时就已经确定了他的值, 因此只需要关注哪些值在编译时确定就可以了. 这包括以下几种情况:

单个字符, 比如'A', 'a'

单个整数数字以及由整数数字构成的表达式, 如123, 123 + 345

枚举常量

有sizeof 运算法返回的值, 如sizeof(int)

NULL指针值

地址常量. 如0X12345678, 以及地址常量加上一个偏移

在C90和C++中, 静态数组定义时, 需要提供整形常量表达式. 如int A[10];因此, 你可以简单的试试用一个表达式去定义一个数组, 如果数组可以正常定义, 这表明这是一个整形表达式.

另外, 在C中, const关键字并不是代表其所修饰的变量是常量. 他仅仅代表const 修饰的变量是read-only的, 无法对他进行修改. 这点与C++不同, C++中const关键字可以定义一个整形常量, 因此

    const int size = 10;

    int array[size]; /* C语言中, 编译不通过, C++中可以通过 */

参考资料:http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V40F_HTML/AQTLTBTE/DOCU_066.HTM

什么是常量表达式啊,const修饰的定义是不是常量表达式?

这个是整型常量,常亮表达式是没有变量的表达式, 可以做为标号

什么是常量表达式?

举例:

int n = 1; //这是确定无疑的,1是常量表达式,不可能变化

另一个例子:

int x = n + 1; //编译器并不能根据这句就推断出x一定等于2,因为极有可能在其他地方改变n的值,因此编译器就不敢保证它是常量

常量表达式是不是包含单个的一个常量?例如说5也可以叫一个常量表达式?

HourOfDay=24
像这样的就是HourOfDay就是常量,是相对变量的、

常量表达式是什么东西

其实可以理解为一个永远固定不变的数
就如 : 数学公式中的常数 C 一样
或者:Java中的定义的常量 final a=10; 其中a就是常量

上一篇:制作自己的艺术签名,用自己的照片做艺术签名的

下一篇:没有了

相关阅读