A、 abcdefg
B、 bcdefgh$
C、 bcdefgh$$
D、 bcdefgh
答案:D
解析:【解析】for循环每次将函数getchar()的输入值赋给变量c,如果不等于#,则执行putchar(++c),即将当前变量c的ASCII码加1后,再输出改变后的变量c的值。当变量c的值等于#,则终止循环,所以输出应该是bcdefgh。
A、 abcdefg
B、 bcdefgh$
C、 bcdefgh$$
D、 bcdefgh
答案:D
解析:【解析】for循环每次将函数getchar()的输入值赋给变量c,如果不等于#,则执行putchar(++c),即将当前变量c的ASCII码加1后,再输出改变后的变量c的值。当变量c的值等于#,则终止循环,所以输出应该是bcdefgh。
A. 循环队列有对头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要对头指针就能反应队列中元素的动态变化
C. 在循环队列中,只需要对尾指针就能反应队列中元素的动态变化
D. 循环队列中元素的个数是由对头指针和队尾指针共同决定
解析:【解析】循环队列是将队列存储空间的 后一个位置绕到第一个位置,形成逻辑上的环形空间。循环队列仍然是顺序存储的线性结构,是队列常采用的形式,故A项错误。在循环队列中,用队尾指针rear指向队尾元素,用队头指针front指向队头元素的前一个位置。循环队列中的元素是动态变化的:每一次入队,队尾指针就进一;每一次出队,队头指针就进一,所以队头指针和队尾指针一起反映了队列中元素的动态变化情况,BC两项错误。从队头指针指向的后一个位置与队尾指针指向的位置之间的元素即为队列中所有的元素,答案选择D选项。
A. T=R∩S
B. T=R∪S
C. T=R×S
D. T=R-S
解析:【解析】图中关系R比关系S多一行T中的元组,故由关系R和S得到关系T的操作是差。答案选择D选项。
A. -1,0
B. 0,0
C. -1,-1
D. 1,1
解析:【解析】while循环的判定条件为“a--”,即a先作为循环条件判定,然后再自减
A. 在scanf函数的格式串中,必须有与输入项一一对应的格式转换说明符
B. 只能在printf函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
C. scanf函数中的字符串是提示程序员的,输入数据时不必管它
D. 复合语句也被称为语句块,它至少要包含两条语句
解析:【解析】在printf和scanf 函数中都可以指定数据的宽度,B项错误;scanf中的字符串在输入时可以使用其他非空字符,如逗号,但在输入时必须输入这些字符以保证匹配,C项错误;复合语句可以由任意多条语句构成,也可以一条没有,D项错误。答案选择A选项。
A. scanf("%s%c",s,c);
B. scanf("%d%c",&s,&c);
C. scanf("%d%c",s,&c);
D. scanf("%s%c",s,&c);
解析:【解析】s[5]是一个字符数组,也可以理解为字符串,格式控制为%s,c为字符,格式控制为%c。scanf输入时参数是地址,数组名就是地址,所以给s读入数据参数就是s首地址,而字符c的参数需要取c的地址,即&c。答案选择D选项。
A. 不等于10的整数
B. 大于3且不等10的整数
C. 大于3或等于10的整数
D. 小于3的整数
解析:【解析】第一个if有一个else语句,若x3,则进入else语句中,在else语句中只有当x!=10时才会有输出结果,所以输入的值的范围应为大于3且不等于10的整数。答案选择B选项。
A. -20
B. -10
C. 0
D. 10
解析:【解析】单目加运算符优先级高于赋值运算符,所以先做x+x结果为20,再做x-
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D. 只有八进制表示的数才不会有误差
解析:【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整型数允许范围之内,二进制可以表示任意一个整数。答案选择A选项。
A. %
B. /
C. *
D. +
解析:【解析】“%”符号两边必须是整数,答案选择A选项。
A. 9
B. -9
C. 18
D. 0
解析:【解析】a+=a-=a=9计算顺序为a+=(a-=(a=9)),首先a=9,a-=9,即a=a-9=9-