{ int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1;
printf("%d \n",a0[2]);
}
程序运行后的输出结果是
A)3
B)6
C)9
D)2
(50)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。
struct node
{ int data;
struct node *next;
} *p, *q, *r;
_______________________________
| data next data next data next |
| →□□ → □□ → □□→ |
| ↑p ↑q ↑r |
|______________________________|
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是
A)r->next=q; q->next=r->next; p->next=r;
B)q->next=r->next; p->next=r; r->next=q;
C)p->next=r; q->next=r->next; r->next=q;
(资料来源:东方教育网 http://www.eastedu.com.cn)
D)q->next=r->next; r->next=q; p->next=r;
二、填空题(每空2分,共40分)
(1)计算机软件分为系统软件与应用软件,UNIX属于 〖1〗 。
(2)假设在当前盘的当前目录下有两个文件A.TXT和B.TXT,现要将文件B.TXT合并连接到文件A.TXT的后面。若使用TYPE命令,则完整的命令为 〖2〗 。
(3)Internet的信息服务方式分为基本服务和扩展服务,电子邮件属于 〖3〗 。
(4)在Windows环境下,利用菜单命令删除固定硬盘上的文件与文件夹,实际上是将需要删除的文件与文件夹移动到 〖4〗 文件夹中。
(5)在Windows环境下,为了进行"添加/删除程序"操作,首先打开 〖5〗 ,然后双击其中的相应图标。
(6)以下程序运行后的输出结果是 〖6〗 。
main()
{ int p=30;
printf("%d\n",(p/3>0 ? p/10 : p%3));
}
(7)以下程序运行后的输出结果是 〖7〗 。
main()
{ char m;
m='B'+32; printf("%c\n",m);
}
(8)以下程序运行后的输出结果是 〖8〗 。
main()
{ int a=1,b=3,c=5;
if (c=a+b) printf("yes\n");
else printf("no\n");
}
(9)以下程序运行后的输出结果是 〖9〗 。
main()
{ int i,m=0,n=0,k=0;
for(i=9; i<=11;i++)
switch(i/10)
{ case 0: m++;n++;break;
case 10: n++; break;
default: k++;n++;
}
printf("%d %d %d\n",m,n,k);
}
(10)执行以下程序后,输出'#'号的个数是 〖10〗 。
#include
main()
{ int i,j;
for(i=1; i<5; i++)
for(j=2; j<=i; j++) putchar('#');
}
(11)以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
int fun( int n)
{ int m=0,f=1,i;
for(i=1; i<=n; i++)
{ m+=i*f;
f= 〖11〗 ;
}
return m;
}
main()
{ printf("m=%d\n", 〖12〗 ); }
(12)以下程序运行后的输出结果是 〖13〗
