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

问题:

[单选] 有以下程序
#include<stdi0.h>
main()
{FILE*fp;int a[10]=(1,2,3,0,0),i;

fp—fopen(”d2.dat,”wb”);
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp—fopen(”d2.dat”,”rb”);
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i十f-)printf("%d",a[i]);
}
程序的运行结果是(  )。

A . 1,2,3,0,0,0.0,0,0,0,
B . 1,2,3,1,2,3,0,0,0,0,
C . 123,0,0,0,0,123,0,0,O,O,
D . 1,2,3,0,0,1,2,3,0,0,

若有定义“double a;”,则正确的输入语句是(  )。 scan{(”%if”,a);。 scanf(”%f”,&a);。 scan{(”%If”,&a)。 scan{(”%le”,&a);。 #define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为(  )。 #define f(x)  5*x*x+5*X+5。 #define f5*x*x+5*x+5。 #define f(a)  (5*a”a+5*a+5)。 #define(5*x*x+5+x+5)  f(x)。 链表不具有的特点是(  )。 不必事先估计存储空间。 町随机访问任意元素。 插入、删除不需要移动元素。 所需空间与线性表长度成正比。 有以下程序#include<stdio.h>struct tt{int x;struct tt*y;)*P;struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a);main(){  int i;P=a:    .for(i=1;i<=2;i++)(printf(”%d,”,p->x);P=P->y:})程序的运行结果是(  )。 20,30,。 30,17,。 15,30,。 20,15,。 有以下程序#include<stdio.h>int a=1:int f(int c){  static int a=2;c=c+1.return(a++)+c;}main(){ int i,k=0;for(i=0;i<2;i++){int a=3;k+=f(a);)k+=a;printf(”%d\n”,k);程序运行结果是(  )。 14。 15。 16。 17。 有以下程序
#include<stdi0.h>
main()
{FILE*fp;int a[10]=(1,2,3,0,0),i;

fp—fopen(”d2.dat,”wb”);
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp—fopen(”d2.dat”,”rb”);
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i十f-)printf("%d",a[i]);
}
程序的运行结果是(  )。

参考答案:

  参考解析

D。【解析】本题程序首先用函数fopen()以“wb”的方式开打文件“d2.dat”,然后调用两次fwrite函数将数组a的5个元素,依次输出到文件fp中,共10个字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用head函数从文件印中读取这l0个字节的数据到数组a中。

在线 客服