一、选择题
1、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是______。
A.12345ABCDE B.EDCBA54321 C.ABCDE12345 D.54321EDCBA
2、下列叙述中正确的是______。
A.循环队列有队头和队尾两个指针,因此循环队列是非线性结构
B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D.循环队列中元素的个数是由队头指针和队尾指针共同决定的
3、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是______。
A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)
< ……此处隐藏26230个字…… p; }
其中switch(表达式)后不应该带有“;”,同时case语句常量后应该是“:”。
四、程序设计题
43、void fun(STREC *a)
{
int i;
a->ave=0.0;
for(i=0;i<N;i++) a->ave=a->ave+a->s[i];/*求各门成绩的总和*/
a->ave/=N;/*求平均分*/
[解析]
本题考查自定义形参的相关知识点,程序流程是这样的:在fun()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC*a,此时,引用成员的方式可以使用指向运算符,即a->ave和a->s[i],当然也可用(*a).ave和(*a).s[i]。
[考点]
本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。