当前位置:文章写作网 >日记 >日记 >c语言之常量

c语言之常量

2008-06-25 10:08 作者:tshfang 阅读量:5796 推荐6次 | 我要投稿

常量:指程序中不能修改的固定值,可以是任何的基本数据类型。

1、字符常量包含在一对单引号中如:‘a’。

整型常量如100,200等等。

对于整型常量,U跟在数值后面,数值按照unsigned处理,L按照long处理。

浮点类型常量分float和double两种。

对于浮点型常量,F跟在数值后面,数值按照float类型处理。用L跟在数值后面,数值按照long double处理

我们看看程序:

int main(void)

{

int a = -32766;

int ua = 65534U;

int la = -2147483646L;

double fa = 123.23000F;

double da = 123.2300000001;

double lfa = 123.2300000001L;

printf("int size is %d\n",sizeof(int));

printf("float size is %d\n",sizeof(float));

printf("double size is %d\n",sizeof(double));

printf("int is %d\n",a);

printf("unsigned int is %u\n",ua);

printf("long int is %d\n",la);

printf("float is %.10f\n",fa);

printf("double is %.10f\n",da);

printf("long double is %.10f\n",lfa);

getch();

return 0;

}

程序结果如下:

int size is 4

float size is 4

double size is 8

int is -32766

unsigned int is 65534

long int is -2147483646

float is 123.2300033569

double is 123.2300000001

long double is 123.2300000001

程序首先判断机器对于各种类型的长度,然后根据各种值输出。

输出结果大家自己判断一下。

2、16进制和8进制常量

16进制常量使用数字0-9字母A-F,分别代表1-9和10-15。

16进制常量以0x开头后跟16进制数字,8进制以0开头。

例如:

int main(void)

{

int hex = 0x80; /*代表128*/

int oct = 012; /* 代表10*/

printf("decimal is %d\n",hex);

printf("hex is %x\n",hex);

printf("decimal is %d\n",oct);

printf("oct is %o\n",oct);

getch();

return 0;

}

程序结果为:

decimal is 128

hex is 80

decimal is 10

oct is 12

3、反斜线字符常量

把字符放在一对单引号中,适于打印字符。

如:\n代表新行

\t 代表水平制表

例如:使用\n、\t和ascii码表中的.和空格输出方字。

int main(void)

{

int i=0;

int j=0;

int k=0;

printf("\n");/*换行*/

printf("\t"); /*制表符号*/

printf("\x2E");

printf("\n");/*换行*/

printf("\t");

printf("\x20");/*空格*/

printf("\x2E");

printf("\n");/*换行*/

printf("\t");

printf("\x20");/*空格*/

printf("\x20");/*空格*/

printf("\x2E");

printf("\n");/*换行*/

for(i=0;i<=3;i++)

{

printf("\x20");

}

for(i=0;i<=7;i++)

{

printf("\x2E");

printf("\x20");

}

for(i=0;i<=5;i++)

{

printf("\n");

for(j=9-i;j>0;j--)

{

printf("\x20");

}

if(i==2)

{

for (k=0;k<=3;k++)

{

printf("\x2E");

printf("\x20");

}

}

printf("\x2E");

if(i==3)

{

for (k=0;k<i+5;k++)

{

printf("\x20");

}

printf("\x2E");

}

if(i==4)

{

for (k=0;k<i+3;k++)

{

printf("\x20");

}

printf("\x2E");

printf("\x20");

printf("\x2E");

}

if(i==5)

{

for (k=0;k<i+5;k++)

{

printf("\x20");

}

printf("\x2E");

}

}

getch();

return 0;

}

程序结果如下:

.

.

.

. . . . . . . .

.

.

. . . . .

. .

. . .

. .

到网页上效果不是很好。

注:所有程序通过dev c++5测试。

其他人在看啥

    《c语言之常量》的评论 (共 0 条)

    • Guest::cool