1 、【
单选题
】
以下程序的输出的结果是
int x=3;
main()
{ int i;
for (i=1;i<x;i++) incre();
}
ncre()
{ staic int x=1;
x*=x+1;
printf(" %d",x);
}
[2分]
答案:
2 、【
单选题
】
若以下定义:
struct link
{ int data;
struck link *next;
}a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
a b
data next data next
┌──┬──┐ ┌──┬──┐
│ 5 │ ┼──→│ 9 │ \0 │
└──┴──┘ └──┴──┘
↑p
c
data next
┌──┬──┐
│ 7 │ │
└──┴──┘
↑q
指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是:
[2分]
、
a.next=c; c.next=b;
、
p.next=q; q.next=p.next;
、
p->next=&c; q->next=p->next;
、
(*p).next=q; (*q).next=&b;
答案:
3 、【
单选题
】
设有以下说明语句
typedef struct
{ int n;
char ch[8];
}PER;
则下面叙述中正确的是
[2分]
、
PER 是结构体变量名
、
PER是结构体类型名
、
typedef struct 是结构体类型
、
struct 是结构体类型名
答案:
4 、【
填空题
】
为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【1
】 。
[每空2分]
答案:
["ABC>OUT.TXT或者ABC.EXT>OUT.TXT"]
5 、【
填空题
】
计算机网络分为广域网和局域网,因特网属于【2
】 。
[每空2分]
答案:
["广域网"]
6 、【
填空题
】
要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【3
】 。
[每空2分]
答案:
["PATH C:\UCDOS或其它等效命令"]
7 、【
填空题
】
要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【4
】 。
[每空2分]
答案:
["DIR *.DAT 或DIR *.DAT/P 或DIR *.DAT/W 或带其它参数也可"]
8 、【
填空题
】
在Windows环境下,当进行复制操作时,其复制的内容将存放在【5
】中
[每空2分]
答案:
["剪贴板"]
9 、【
填空题
】
若从键盘输入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);
}
[每空2分]
答案:
["585858"]
10 、【
填空题
】
以下程序的输出结果是【7
】 。
main()
{ int a=177;
printf("%o\n",a);
}
[每空2分]
答案:
["261"]
11 、【
填空题
】
以下程序的输出结果是【8
】 。
main()
{ int a=0
a+=(a=8);
printf("%d\n",a);
}
[每空2分]
答案:
["16"]
12 、【
填空题
】
以下程序输出的结果是【9
】 。
main()
{ int a=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
[每空2分]
答案:
["0"]
13 、【
填空题
】
以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。
struct node
{int info;
【10
】 link;
}
[每空2分]
答案:
["struct node *"]
14 、【
填空题
】
以下程序的输出结果是【11
】 。
main()
{int s,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n",s);
}
[每空2分]
答案:
["5"]
15 、【
填空题
】
以下程序的输出结果是【12
】 。
main()
{ char *p="abcdefgh",*r;
long *q;
q=(long*)p;
q++;
r=(char*)q;
printf("%s\n",r);
}
[每空2分]
答案:
["efgh"]
16 、【
填空题
】
以下程序的输出结果是【13
】 。
main()
{ char s[]="abcdef";
s[3]=‘\0';
printf("%s\n",s);
}
[每空2分]
答案:
["abc"]
17 、【
填空题
】
以下程序的输出结果是【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;
}
[每空2分]
答案:
["7"]
18 、【
填空题
】
设有如下宏定义
#define MYSWAP(z,x,y) {z=x; x=y; y=z;}
以下程序段通过宏调用实现变量a、b内容交换,请填空。
float a=5,b=16,c;
MYSWAP( 【15
】 ,a,b);
[每空2分]
答案:
["c"]
19 、【
填空题
】
以下程序用来统计文件中字符个数。请填空。
#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=%1d\n",num-1);
fclose(fp);
}
[每空2分]
答案:
["!feof(fp)"]
20 、【
填空题
】
以下程序中,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[i][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);
}
[每空2分]
答案:
["row","a[row][colum]"]