main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%dn",s);
}
(42) 以下程序的输出结果是
A) ABCD B) ABCD C) EFG D) EFGH
FGH EFG JK IJKL
KL IJ O
M
main()
{ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;
for(k=1;k<3;k++) printf("%s\n",w[k]);
}
(43) 当执行下面的程序时,如果输入ABC,则输出结果是
A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789
#include "stdio.h"
#include "string.h"
main()
{ char ss[10]="1,2,3,4,5";
gets(ss); strcat(ss, "6789"); printf("%s\n",ss);
}
(44) 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:
PROG ABCDEFGH IJKL<回车>,则输出结果为
A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH
main( int argc, char *argv[]))
{ while(--argc>0) printf("%s",argv[argc]);
printf("\n");
}
(45) 以下程序的输出结果是
A) 1 B) 2 C) 3 D) 4
long fun( int n)
{ long s;
if(n= =1 || n= =2) s=2;
else s=n-fun(n-1);
return s;
}
main()
{ printf("%ld\n", fun(3)); }
(46) 以下程序的输出结果是
A) 16 B) 2 C) 9 D) 1
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
a/=SQR(k+m)/SQR(k+m);
printf("d\n",a);
}
(47) 若定义了以下函数:
void f(......)
{......
*p=(double *)malloc( 10*sizeof( double));
......
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是
A) double *p B) float **p C) double **p D) float *p
(48) 以下程序的输出是
A) 10 B) 11 C) 51 D) 60
struct st
{ int x; int *y;} *p;
int dt[4]={ 10,20,30,40 };
struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};
main()
{ p=aa;
printf("%d\n",++(p->x));
}
(49) 假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是
A) free(q); p->next=q->next;
B) (*p).next=(*q).next; free(q);
C) q=(*q).next; (*p).next=q; free(q);
D) q=q->next; p->next=q; p=p->next; free(p);
(50) 以下程序的输出结果是
A) 0 B) 1 C) 2 D) 3
main()
{ int x=0.5; char z='a';
printf("%d\n", (x&1)&&(z<'z') ); }
二) 填空题(每空2分,共40分)
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。
(1) 计算机机领域中,通常用英文单词“Byte"表示【1】。
(2) 在DOS环境下,自动批处理的文件名为【2】。
(3) 要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为【3】。
(4) 在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的【4】操作实现窗口的移动。
(5) 在Windows环境下,可以将窗口最小化为【5】。
(6) 以下程序的输出结果是【6】
main()
{ int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf("%d,%d\n", a, b );
}
(7) 下列程序的输出结果是16.00,请填空。。
main()
{ int a=9, b=2;
float x= 【7】, y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n", z );
}
(8) 用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*) 【8】;
(9) 下列程序段的输出结果是【9】。
main()
{ char b[]="Hello,you";
b[5]=0;
printf("%s \n", b );
}
(10) 下列程序段的输出结果是【10】。
int n='c';
switch(n++)
{ default: printf("error");break;
case 'a':case 'A':case 'b':case 'B':printf("good");break;
case 'c':case 'C':printf("pass");
case 'd':case 'D':printf("warn");