问题 选择题

在如图所示的电路中,闭合开关,滑动变阻器的滑片P向左移动的过程中(两灯始终发光),则下列说法正确的是

A.电流表示数变小

B.灯L1变亮,灯L2变暗

C.电压表V1的示数变小,电压表V2的示数变大

D.电压表V1的示数变小,电压表V2的示数变小

答案

答案:D

题目分析:由电路图可知,灯泡L1、L2、滑动变阻器串联,电压表V1测灯泡L1、滑动变阻器两端的电压,V2测灯泡L2、滑动变阻器两端的电压,电流表测电路中的电流;滑片P向左移动的过程中可知滑动变阻器接入电路中电阻的变化,根据欧姆定律可知,电路中电流的变化,灯泡L1、L2两端电压的变化,灯泡亮暗的变化;进一步根据串联电路的电压特点可知两电压表示数的变化.

滑片P向左移动的过程,滑动变阻器接入电路中电阻变小,串联电路的总电阻变小;根据欧姆定律可知电路中电流变大,灯泡L1、L2两端的电压变大,所以灯泡L2变亮;

由串联电路总电压等于各分电压之和可知,电压表V1的示数为电源的电压减掉灯泡L2两端的电压,电压表V2的示数为电源的电压减掉灯泡L1两端的电压,所以两点压表的示数都变小.故选D.

点评:本题考查了串联电路的特点和欧姆定律的计算,关键是电压表的正确使用和电路图串并联的识别。

问答题 简答题
问答题

阅读下列说明和C代码,在(n)处填入适当的子句。

[说明]

栈(Stack)结构是计算机语言实现中的一种重要数据结构。对于任意栈,进行插入和删除操作的一端称为栈顶(Stack Top),而另一端称为栈底(Stack Bottom)。栈的基本操作包括:创建栈(NewStack)、判断栈是否为空(IsEmpty)、判断栈是否己满(IsFull)、获取栈顶数据(Top)、压栈/入栈(Push)、弹栈/出栈(Pop)。

当设计栈的存储结构时,可以采取多种方式。其中,采用链式存储结构实现的栈中各数据项不必连续存储,如图8.14所示。

以下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, siz eof (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)