问题 填空题

已知字符A的ASCⅡ代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是______。
#include <stdio.h>
main()
char a,b;
a=getchar();scanf("%d",&b);
a=a-’A’+’0’;b=b*2;
printf("%c%c\n",a,b);

答案

参考答案:1 B

解析: 本题考查的是字符运算。将一个字符常量放到一个字符变量中,实际上就是将该字符相应的ASCⅡ代码放到存储单元中。C语言使字符型数据和整型数据之间可以通用。所以本题中执行“a=getchar();”后,a的值B在内存中的表现形式为ASCⅡ码66;执行“scanf(“%d”,&b);”后,b在内存中的表现形式为33,然后经过“a=a-’A’+’0’; b=b*2;”运算,得出a的值为字符’1’,b的值为ASCⅡ码66,最后以字符型输出为1 B。

单项选择题 A1型题
填空题