单选题 以下选项中,能够正确利用随机函数rand(),产生一个英文字母的表达式是______。
【正确答案】 D
【答案解析】[解析] rand()函数是产生随机数的函数,它可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX是stdlib.h中定义的一个整数。通常如果我们需要随机0~N-1之间的一个随机数,需要使用rand()的结果对N求模即可。选项A中,rand()%2只有两个值0或1,所以当rand()%2的结果为0时,整个表达式的值是rand()%"A",这里"A"要转换成ASCII码值65,所以结果为0~64之间的一个随机数,当rand()%2的结果为1时,整个表达式的值是rand()%"a","a"的ASCII码值为97,所以结果是0~96之间的一个随机数,可见选项A错误;逻辑或运算符||或逻辑与运算符&&的结果都只能是0或非0,所以选项B、C也是错误的;选项D中,如果rand()%2的结果为0,那么整个表达式的值为rand()%26+"A",0~25之间任一个数与"A"的和都是一个大写字母;如果rand()%2的值为1,整个表达式的值为:rand()%26+"a",0~25之间任一个数与"a"的和都是一个小写字母,所以选项D正确;本题答案为D。