当前位置:IT认证>计算机二级

问题:

[单选] 有以下程序:
main()
{  int k=5,n一0;
do
{  switch(k)
{  case l:
case 3:11+=1;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break;
printf(”%d”,n);
}while(k>0&&n<5);
}
程序运行后的输出结果是(  )。

A . 235
B . 0235
C . 02356
D . 2356

合法的c语言赋值语句是(  )。 a=b=58。 k=int(a+b);。 a=58,b=58。 --1;。 下列工具中为需求分析常用工具的是(  )。 PAD。 BFD。 N-S。 DFD。 下列关于栈的描述中错误的是(  )。 栈是先进先出的线性表。 栈只能顺序存储。 栈具有记忆作用。 对栈的插入删除操作中,不需要改变栈底指针。 有以下结构说明和变量定义,指针p、q、r分别指向链表中的3个连续结点。struct node{int data;struct node*next;}*p,*q,*r;现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能按要求完成操作的语句是(  )。 P->next=q->next;。 p-next=p->next->next;。 p->next=r;。 p=q->next;。 以下能正确定义二维数组的是(  )。 int a[][3];。 int a[][3]={2*3);。 int a[][3]={};。 int a[2][3]={{1},{2},{3,4}};。 有以下程序:
main()
{  int k=5,n一0;
do
{  switch(k)
{  case l:
case 3:11+=1;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break;
printf(”%d”,n);
}while(k>0&&n<5);
}
程序运行后的输出结果是(  )。
参考答案:

  参考解析

B。【解析】本题考查分支语句用法。因为变量的初始值分别为k一5、n=0,所以程序第l次进入循环时,执行default语句,输出0,k减1;这时n=0、k=4,程序进行第2次循环,执行case4:这个分支,结果是rl=2、k=3,打印出2;这时n=2、k=3,break跳出,程序进行第3次循环,执行CaNe3:这个分支,结果是n=3、k=2,打印出3;这时n=3、k
一2,break跳出,程序然后进行第4次循环,执行case2:case4:这个分支,结果是n=5、k=1,打印出5,break跳出,这时因为n=5不满足n<5的循环条件,因此循环结束。

在线 客服