分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。

分析下面程序结果,并上机验证(整型、字符型数据表示和输出)。

 

 

#include <stdio.h>

int main()

{

    int x=010,y=10,z=0x10; /*前导中的’0’是数字0而不是字母o*/

    char c1=’M’,c2=’\x4d’,c3=’\115′,c4=77,c;  /*字符型数据表示*/

  /* 整型数据的输出 */

    printf(“x=%o,y=%d,z=%x\n”,x,y,z);    

/* 数据以原进制输出,注意是否有前导0或0x */

    printf(“x=%d,y=%d,z=%d\n”,x,y,z);  

/* 数据以10进制输出,换算到10进制,结果对吗? */   

/* 字符型数据的输出 */

    printf(“c1=%c,c2=%x,c3=%o,c4=%d\n”,c1,c2,c3,c4); 

/* 数据以原进制输出,注意是否有前导0或0x */

    printf(“c1=%c,c2=%c,c3=%c,c4=%c\n”,c1,c2,c3,c4); 

/*结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */

    printf(“c1=%d,c2=%d,c3=%d,c4=%d\n”,c1,c2,c3,c4); 

/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */

  /* 字符型数据参与算术运算 */

c=c1+32;   /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数

/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */

    printf(“c=%c,c=%d\n”,c,c); 

/*看看这个字符是什么?’M’+32就变为’m’了字母的大小写转换原来如此!*/

}

 

 

 

程序运行结果
x=10,y=10,z=10
x=8,y=10,z=16
c1=M,c2=4d,c3=115,c4=77
c1=M,c2=M,c3=M,c4=M
c1=77,c2=77,c3=77,c4=77
c=m,c=109

© 版权声明
THE END
喜欢就支持以下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容