36.下面程序的运行结果是( )。

#include

void main( )

{ int a=1,b=10;

do

{

b-=a;

a++;

} while(b--<0);

printf("%d,%d\n",a,b);

}

A.3,11 B.2,8

C.1,-1 D.4,9

37.下面程序段的运行结果是( )。

for(x=10;x>3;x--)

{ if(x%3)x--;

--x; --x;

printf("%d ",x);

}

A.6 3 B.7 4

C.6 2 D.7 3

38.一般把数据结构从逻辑上分为( )两大类。

A.顺序结构、链式结构 B.静态结构、动态结构

C.初等结构、构造型结构 D.线性结构、非线性结构

39.设单链表中结点结构为(data,link),若想摘除结点*p的直接后继,则应执行下列哪一个操作()。

A.p->link=p->link->link; B.p=p->link; p->link=p->link->link;

C.p->link=p->link; D.p=p->link->link;

40.一个栈的入栈序列是A,B,C,D,E,则栈的不可能输出序列是()。

A.EDCBA B.DECBA

C.DCEAB D.ABCDE

36.【答案】B。解析:do while循环是先进循环,然后判断是否跳出循环,第一遍执行循环,b的值变为9,a变为2,b的值大于0,跳出循环,并对b进行自减1,b变为8,输出a和b的值。

37.【答案】B。解析:第一趟循环,x%3=1,x--即x减1为9,两次--x即x再减两次1结果为7,输出7,第一趟循环结束x的值为6。第二趟循环,x%3=0,不执行if语句,两次--x即x减两次1结果为4,输出4,此趟循环结束x的值变为3,跳出循环。

38.【答案】D。解析:数据结构从逻辑上分为线性结构和非线性结构。

39.【答案】A。解析:删除结点需记得改变指针的指向,想摘除结点*p的直接后继,则应执行p->link=p->link->link;。

40.【答案】C。解析:栈先进后出,后进先出。A选项是abcde先依次入栈,然后依次出栈,正好是edcba。B选项是abcd先依次入栈,然后d出栈,e再入栈,e出栈。选项C是错误的,不可能a先出栈然后b再出栈。选项D是a入栈,然后a出栈;b再入栈,b出栈,依此类推。

Logo

惟楚有才,于斯为盛。欢迎来到长沙!!! 茶颜悦色、臭豆腐、CSDN和你一个都不能少~

更多推荐