C语言问题 这道题为什么选D啊,求详细解释

如题所述

你好!几个关键点:

    %是求余数

    if判断数字时0是False,非0是True

    字符直接加数字表示表ASCII加多少位,字母就理解直接'a'+1 = 'b'这样吧

于是按循环分析题目:

    i=0时,0除以2余数 = 0,if表达式为假,执行else:输出 0 + 'A' = 'A'

    i=1时,1除以2余数 = 1,if表达式为真,执行:      输出 1 + 'a' = 'b' 

    i=2时,2除以2余数 = 0,if表达式为假,执行else:输出 2 + 'A' = 'C' 

    i=3时,3除以2余数 = 1,if表达式为真,执行:      输出 3 + 'a' = 'd' 

    i=4时,4除以2余数 = 0,if表达式为假,执行else:输出 4 + 'A' = 'E' 

    i=5时,5除以2余数 = 1,if表达式为真,执行:      输出 5 + 'a' = 'f'  

所以最终输出:AbCdEf,选D

温馨提示:答案为网友推荐,仅供参考