C语言中的常量和字面值

来源:互联网 发布:java最新框架 编辑:程序博客网 时间:2024/05/14 00:59

数据类型字面值 的关系:

如果有语句

int a = 1234;
那么int就是数据类型,a是变量,1234是字面值。int的字面值也就是可以用来初始化int类型变量的东西(不要说用其他变量也可以初始化哦!)。同样,char的字面值当然是机器的ASCII字符集了,分为可见的和不可见的字符,表示方法有两种,见下面程序。常量(constant)可以理解为所谓的字面值,常量用const修饰的变量并不是一个概念。


#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;// floatdouble df = 1234.56;// doublelong 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;}


原创粉丝点击