问题 选择题

如图,质量为m1的木块受到向右的拉力F的作用沿质量为m2的长木板上向右滑行,长木板保持静止状态.已知木块与木板之间的动摩擦因数为μ1,木板与地面之间的动摩擦因数为μ2,则(  )

A.木板受到地面的摩擦力大小一定为μ1m1g

B.木板受到地面的摩擦力大小一定为μ2(m1g+m2g)

C.若改变F大小,且满足F>μ2(m1g+m2g)时,木板便会开始运动

D.无论怎样改变F的大小,木板都不可能运动

答案

A、B、先对物体m1受力分析,受到重力、支持力、拉力和向左的滑动摩擦力f1,滑动摩擦力的大小为:f11m1g;

根据牛顿第三定律,滑块对长木板的摩擦力向右,大小为:f11m1g;

对长木板受力分析,受到压力、重力和支持力,滑块对长木板向右的滑动摩擦力f1和地面对其向左的静摩擦力f2,根据平衡条件,有f2=f11m1g;

故A正确,B错误;

C、D、改变F的大小,滑块的加速度变化,但滑块与长木板之间的滑动摩擦力不变,故地面对长木板的静摩擦力也不变,故C错误,D正确;

故选AD.

填空题

阅读以下说明、图和C代码,将应填入 (n) 处的字句写在对应栏内。

[说明]

一般的树结构常采用孩子一兄弟表示法表示,即用二叉链表作为树的存储结构,链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。例如,如图21-6(a)所示的树的孩子一兄弟表示如图21-6(b)所示。

函数LevelTraverse0的功能是:对给定树进行层序遍历。例如,对如图21-6(a)所示的树进行层序遍历时,结点的访问次序为:D B A E F P C。

对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如表21-1所示。

Bool、Status类型定义如下:

typedef enum(FALSE=0,TRUE=1)Bool;

typedef enum(OVERFLOW=-2,UNDERFLOW=-1,ERROR=0,OK=1)Status;树 的二叉链表结点定义如下:

typedef struct Node

char data;

struct Node *fimstchild,*nextbrother;

Node,*TreeNode;

[本题函数]

Status LeveiTraverse(TreeNode root)

/*层序遍历树,树采用孩子一兄弟表示法,root是树根结点的指针*/

Queue temQ;

TreeNode ptr,brotherptr;

if(!root)

return ERROR;

InitQueue(&tempQ);

(1)

brotherptr=root->nextbrother;

while(brotherptr)

EnQueue(&tempQ,brotherptr);

(2)

/-end-while*/

while( (3) )

(4)

printf("%c\t",ptr->data);

if( (5) )continue;

(6)

brotherptr=ptr->firstchild->nextbrother;

while (brotherptr)

EnQueue(&tempQ,brotherptr);

(7)

/*end-while*/

/*end-while*/

return OK;

/*LevelTraverse*/

(4)处填()。

判断题