A) a.next=c; c.next=b; B) p.next=q; q.next=p.next;
C) p->next=&c; q->next=p->next; D) (*p).next=q;
(*q).next=&b;
(50) 设有以下说明语句
typedef struct
{ int n;
char ch[8];
}PER;
则下面叙述中正确的是 ( )。
A) PER 是结构体变量名 B) PER是结构体类型名
C) typedef struct 是结构体类型 D) struct 是结构体类型名
================================================================
一、选择题
(1) D (2) B (3) A (4) A (5) B
(6) C (7) B (8) B (9) C (10) C
(11) D (12) D (13) C (14) A (15) B
(16) B (17) D (18) C (19) D (20) A
(21) D (22) B (23) D (24) C (25) D
(26) A (27) A (28) B (29) B (30) D
(31) A (32) C (33) B (34) B (35) A
(36) A (37) A (38) B (39) A (40) A
(41) C (42) A (43) C (44) B (45) D
(46) D (47) C (48) C (49) C (50) B
二、填空题
(1) 为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1】。
(2) 计算机网络分为广域网和局域网,因特网属于【2】 。
(3) 要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3】 。
(4) 要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【4】。
(5) 在Windows环境下,当进行复制操作时,其复制的内容将存放在【5】中
(6) 若从键盘输入58,则以下程序输出的结果是 【6】 。
main()
{ int a;
scanf("%d",&a);
if(a>50) printf("%d",a);
if(a>40) printf("%d",a);
if(a>30) printf("%d",a);
}
(7) 以下程序的输出结果是【7】 。
main()
{ int a=177;
printf("%o\n",a);
}
(8) 以下程序的输出结果是【8】 。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
(9) 以下程序输出的结果是【9】 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
(10) 以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。
struct node
{int info;
【10】 link;
}
(11) 以下程序的输出结果是【11】 。
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
(12) 以下程序的输出结果是【12】 。
main()
{ char *p="abcdefgh",*r;
long *q;
q=(long*)p;
q++;
r=(char*)q;
printf("%s\n",r);
}
(13) 以下程序的输出结果是【13】 。
main()
{ char s[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
(14) 以下程序的输出结果是【14】 。
main()
{ int x=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int *a,int n,int k)
{ if(k<=n) sub(a,n/2,2*k);
*a+=k;
}
(15) 设有如下宏定义
#define MYSWAP(z,x,y) {z=x; x=y; y=z;}
以下程序段通过宏调用实现变量a、b内容交换,请填空。
float a=5,b=16,c;
MYSWAP( 【15】 ,a,b);
(16) 以下程序用来统计文件中字符个数。请填空。
#include "stdio.h"
main()
{ FILE *fp; long num=0L;
if((fp=fopen("fname.dat","r"))==NULL)
{ pirntf("Open error\n"); exit(0);}
while( 【16】 )
{ fgetc(fp); num++;}
printf("num=\n",num-1);
fclose(fp);
}
(17) 以下程序中,select
函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。
#define N 3
#define M 3
select(int a[N][M],int *n)
{ int i,j,row=1,colum=1;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[j]>a[row][colum]){row=i;colum=j;}
*n= 【17】;
return 【18】;
}
main()
{int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf("max=%d,line=%d\n",max,n);
}
(18) mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。
int mystrlen