问题 填空题

已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入: B33<回车>。则输出结果是______。
#include <stdio,h>
main()

char a,b;
a=geCchar(); scanf("%d“, &b);
a=a-’A’+‘0’; b=b*2;
printf(’%c %c\n" ,a,b);

答案

参考答案:1 B

解析: 在C语古中,字符型变量可以看作整型变量来对待,与整型所不同的是字符型变量在内存中只占1个字节,而整型是2个字节.字符型变量中所有的数值是它所表示字符的ASCII码值.ASCII码中的一些相关字符是顺序排列的,如’0’,的ASCII码值为48,’1’为49以此类推一直到’9’;’A’的ASCII码值为65,’B’为66以此类推一直到’Z’。本题程序首先定义了两个字符型变量a和b,然后分别使用getchar()和scanf()函数读取输入的字符’B’和十进制整数33到a和b中,因为a-’A’+’0’等于,’B’-’A’+’0’=’1’+’0’=’1’,而b*2等于 33*2=66’A’+1=’B’。所以最终输出的结果是:1 B。

单项选择题
单项选择题