问题
填空题
下列程序运行时,若输入labcedf2df<回车>输出结果为()。
#include<stdio.h>
main()
{ char a=0,ch;
while((ch==getchar())!=’\n’)
{ if(a%2!=0&&(ch>=’a’&&ch<=’z’)) ch=ch’a’+’A’;
a++;prtchar(ch);
}
printf("\n");
}
答案
参考答案:1AbCeDf2dF
解析:
[评析] 本题的执行过程是先从键盘上获得—个字符,判断是不是换行符,如果不是则继续执行循环体,再判断字符变量 a是否是偶数以及是否是小写字母,如果a不是偶数且输入的字符为小写字母,则将其转换成大写字母,接着执行a++;语句,变量a自增1,输出字符,因此本题的输出结果为1AbCeDF2dF(a相当于用来记录当前的顺序,即是第偶数个字符还是第奇数个字符)。 字符位数:0 1 2 3 4 5 6 7 8 9 输入字符:1 a b c e d f 2 d f 输出字符:1 A b C e D f 2 d F