问题 单项选择题 A1/A2型题

参苓白术散的组成药物中,除人参、白术、茯苓、甘草、砂仁、桔梗、山药、大枣、白扁豆外,还有()

A.陈广皮、制半夏

B.生黄芪、广木香

C.生枳壳、藿香叶

D.车前子、肉豆蔻

E.薏苡仁、莲子肉

答案

参考答案:E

解析:参苓白术散:莲子肉、薏苡仁、缩砂仁、桔梗、白扁豆、白茯苓、人参、甘草、白术、山药

问答题

【说明】
栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stock Top),而另一端称为栈底(Stock Bottom)。栈的基本操作包括:创建栈(NewStack)、判断栈是否为空(IsEmpty)、判断栈是否已满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。
当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储(如下图所示)。


以下C代码采用链式存储结构实现一个整数栈操作。
【C代码】
typedef struct List
int data; //栈数据
struct List* next; //上次入栈的数据地址
List;
typedef struct Stack
List* pTop;//当前栈顶指针
Stack;
Stack* NewStack() return (Stack*) calloc(1/sizeof(Stack));
int IsEmpty(Stack* S)//判断栈S是否为空栈
if( (1) )return 1;
return 0;

int Top(Stack* s)//获取栈顶数据。若栈为空,则返回机器可表示的最小整数
if(IsEmpty(S))return INT_ MIN;
return (2)

void Push(Stack* S,int theData) //将数据theData压栈
List* newNode;
newNode=(List*)calloc(1/sizeof (List));
newNode->data=theData;
newNode->next=S->pTop;
S->pTop= (3)

void Pop(Stack* S) //弹栈
List* lastTop;
if(IsEmpty(S) ) return;
lastTop=S->pTop;
S->pTop= (4)
free(lastTop);

#define MD(a) a<<2
int main()
int i;
Stack* myStack;
myStack= NewStack();
Push(myStack,MD(1));
Push(myStack,MD(2));
Pop(myStack);
Push(myStack,MD(3)+1);
while( !IsEmpty(myStack) )
printf("%d",Top(myStack));
Pop(myStack);

return 0;

以上程序运行时的输出结果为: (5)

单项选择题