后序序列为CBA,中序序列为ABC,则说明,A为根结点,并且B和C均在A的右子树上;结点B和C中,后序序列为CB,中序序列为BC,则说明结点C在结点B的右子树上,根据分析可得,该二叉树的前序序列为ABC,答案选C)。
〓36.设有定义:
char p[]={'1', '2', '3'},*q=p;
以下不能计算出一个char型数据所占字节数的表达式是( )。 A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p[0])
数组名表示该数组的首地址,是一个地址常量,所以sizeof(p)求得的是一个地址占用的字节数,即4个字节,答案选A)。
〓37.有以下程序(strcat函数用以连接两个字符串) #include
char a[20]=\ strcat(a,b);
printf(\}
程序运行后的输出结果是 ( )。 A)ABCDIJK
B)ABCDE\\0FG\\0IJK C)IJK D)EFGIJK
strcat(字符数组,字符串)函数的功能是把\字符串内容\连接到\字符数组\中的字符串尾端,而字符串的尾端用结束标记′\\0′标识,所以语句\\执行完毕之后,在字符′D′后面连接数组b中的字符串。答案选A)。
〓38.有以下程序 #include
int i=1, j=3;
printf(\ { int i=0; i+=j*2;
printf(\ }
printf(\}
程序运行后的输出结果是( )。 A)1,6,3,2,3 B)1,6,3,1,3 C)1,6,3,6,3 D)1,7,3,2,3
不同作用域内若定义有同名的局部变量,则在其中一个局部变量的作用域内,其他同名的局部变量会被\屏蔽\,规则一般是作用域小的变量\屏蔽\作用域大的变量。在用{}引起来的复合语句块中,i值为6,输出结果为6,3,而在语句块外,i为2,输出结果为2,3,所以答案选A)。
〓39.以下叙述中正确的是( )。
A)关系运算符两边的运算对象可以是C语言中任意合法的表达式 B)在C语言中,逻辑真值和假值分别对应1和0
C)对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误 D)分支结构是根据算术表达式的结果来判断流程走向的
C语言中,运算符两侧的运算对象可以任意合法的表达式,选项A)正确;非0和0分别对应逻辑真值和假值,选项B)错;关系运算符\两侧的运算对象只要为合法的表达式就可以编译通过,选项C)错;分支结构是根据if或者else if后面的圆括号内的表达式(不仅仅是算术表达式,还有赋值表达式、逗号表达式、关系表达式、逻辑表达式等)的值来判定流程走向的,选项D)错误;所以答案选A)。