全国计算机等级考试二级C语言之文件
分类: 计算机
时间: 2019-01-23 14:12:18
作者: 全国等级考试资料网
一、选择题:
(1)以下叙述中错误的是
A)C语言中对二进制文件的访问速度比文本文件快
B)C语言中,随机文件以二进制代码形式存储数据
C)语句 FILE fp; 定义了一个名为fp的文件指针
D)C语言中的文本文件以ASCII码形式存储数据
(2)有以下程序
#include
main()
{ FILE *fp; int i, k, n;
fp=fopen("data.dat", "w+");
for(i=1; i<6; i++)
{ fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp," ");
}
rewind(fp);
fscanf(fp, "%d%d", &k, &n); printf("%d %d ", k, n);
fclose(fp);
}
程序运行后的输出结果是
A)0 0
B)123 45
C)1 4
D)1 2
(3)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是
A)feof(fp)
B)ftell(fp)
C)fgetc(fp)
D)rewind(fp)
(4)有以下程序
#include "stdio.h"
void WriteStr(char *fn,char *str)
{
FILE *fp;
fp=fopen(fn,"W");
fputs(str,fp);
fclose(fp);
}
main()
{
WriteStr("t1.dat","start");
WriteStr("t1.dat","end");
}
程序运行后,文件t1.dat中的内容是
A)start
B)end
C)startend
D)endrt
(5) 有如下程序
#include
main()
{FILE *fp1;
fp1=fopen("f1.txt","w");
fprintf(fp1,"abc");
fclose(fp1);
}
若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为
A) goodabc
B) abcd
C) abc
D) abcgood
(6) 有以下程序
#include
main( )
{ FILE *fp; int i,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
for(i=1;i<4;i++) fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&k,&n); printf(“%d %d ”,k,n);
fclose(fp);
}
执行后输出结果是
A) 1 2
B) 123 0
C) 1 23
D) 0 0
(7) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include
main( )
{ FILE *fp; int i,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
fclose(fp);
fp=fopen("data.dat
","rb");
fseek(fp,-2L*sizeof(int).SEEK_END) ;
fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
fclose(fp);
printf("%d ",B) ;
}
执行后输出结果是
A) 2
B) 1
C) 4
D) 3 首页 1 2 3 4 5 6 尾页
(1)以下叙述中错误的是
A)C语言中对二进制文件的访问速度比文本文件快
B)C语言中,随机文件以二进制代码形式存储数据
C)语句 FILE fp; 定义了一个名为fp的文件指针
D)C语言中的文本文件以ASCII码形式存储数据
(2)有以下程序
#include
main()
{ FILE *fp; int i, k, n;
fp=fopen("data.dat", "w+");
for(i=1; i<6; i++)
{ fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp," ");
}
rewind(fp);
fscanf(fp, "%d%d", &k, &n); printf("%d %d ", k, n);
fclose(fp);
}
程序运行后的输出结果是
A)0 0
B)123 45
C)1 4
D)1 2
(3)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是
A)feof(fp)
B)ftell(fp)
C)fgetc(fp)
D)rewind(fp)
(4)有以下程序
#include "stdio.h"
void WriteStr(char *fn,char *str)
{
FILE *fp;
fp=fopen(fn,"W");
fputs(str,fp);
fclose(fp);
}
main()
{
WriteStr("t1.dat","start");
WriteStr("t1.dat","end");
}
程序运行后,文件t1.dat中的内容是
A)start
B)end
C)startend
D)endrt
(5) 有如下程序
#include
main()
{FILE *fp1;
fp1=fopen("f1.txt","w");
fprintf(fp1,"abc");
fclose(fp1);
}
若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为
A) goodabc
B) abcd
C) abc
D) abcgood
(6) 有以下程序
#include
main( )
{ FILE *fp; int i,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
for(i=1;i<4;i++) fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&k,&n); printf(“%d %d ”,k,n);
fclose(fp);
}
执行后输出结果是
A) 1 2
B) 123 0
C) 1 23
D) 0 0
(7) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include
main( )
{ FILE *fp; int i,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
fclose(fp);
fp=fopen("data.dat
","rb");
fseek(fp,-2L*sizeof(int).SEEK_END) ;
fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
fclose(fp);
printf("%d ",B) ;
}
执行后输出结果是
A) 2
B) 1
C) 4
D) 3 首页 1 2 3 4 5 6 尾页