admin 管理员组文章数量: 1086019
2024年3月7日发(作者:在基本的sql语言中不可以实现)
C语言专项试题 文件
一、填空题
1. C语言中规定的标准文件有三个,即 、 和 。
2. 指向C语言中规定的标准文件的指针分别是: 、 和 。
3. C程序中对普通文件进行读写操作,必须先 ,操作后再 。
4. 在C语言中,文件操作都是由标准库函数来完成的,对应的头文件是 。
5. 用 方式打开一个文件时,该文件必须已经存在,且只能从该文件读数据。
6. 在对文件存在的过程中,若要求文件的位置回到文件的开头,应当调用的函数
是 函数。
二、选择题
1. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 。
A.2和2 B.2和5 C.5和2 D.5和5
2. 若执行fopen函数时发生错误,则函数的返回值是 。
A.地址值 B.0 C.1 D.EOF
3. 若要用fopen函数打开一个新的二进制文件,该文件既要能读也能写,则文件打开方式字符串应是 。
A."ab+" B."wb+" C."rb+" D."ab"
4. 函数ftell的作用是 。
A.得到流式文件中的当前位置。 B.移动流式文件的位置指针。
C.初始化流式文件的位置。 D.以上答案均正确。
5. 系统的标准数入文件是指 。
A.键盘 B.显示器 C.软盘 D.硬盘
6. fscanf函数的正确调用形式是 。
A.fscanf(fp,格式字符串,输出表列)。
B.fscanf(格式字符串,输出表列,fp)。
C.fscanf(格式字符串,文件指针,输出表列)。
D.fscanf(文件指针,格式字符串,输入表列)。
7. fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是 。
A.只写 B.追加
C.读或读写 D.答案b和c都正确
8. 函数调用语句 fseek(fp,-20L,2);的含义是 。
A.将文件位置指针移到距离文件头20个字节处。
B.将文件位置指针从当前位置向后移动20个字节。
C.将文件位置指针从文件末尾处后退20个字节。
D.将文件位置指针移到离当前位置20个字节处。
9. 利用fseek函数可实现的操作 。
A.fseek(文件类型指针,起始点,位移量)。
B.fseek(fp,位移量,起始点)。
C.fseek(位移量,起始点,fp)。
D.fseek(起始点,位移量,文件类型指针)。
10. fgets(str,n,fp)的函数的概念是从文件中读出字符串存如str,以下叙述正确的
是 。
A.n代表最多能读出n个字符串。 B.n代表最多能读出n个字符。
C.n代表最多能读出n-1个字符串。 D.n代表最多能读出n-1个字符。
11. 下列叙述正确的是 。
A.EOF只能作为文本文件的结束标志,feof()则可以判断文本文件和二进制文件的结束标志。
B. feof()只能判断文本文件的结束标志,EOF则可以作为文本文件和二进制文件的结束标志。
C.EOF只能作为文本文件的结束标志,feof()只能判断二进制文件的结束标志。
D.EOF只能作为二进制文件的结束标志,feof()只能判断文本文件的结束标志。
12. 设已正确打开一个已经存在的文本文件,文件中原有数据为abcdef,新写入的数据为xyz;若文件中的数据变为xyzdef,则该文件打开的方式是 。
A.w B.w+ C.a+ D.r+
13. 若fp为文件指针,且文件已正确打开,以下语句的输出为 。
fseek(fp,0,SEEK_END);
i=ftell(fp);
printf("i=%d",i);
A.所指文件的记录长度。
B.所指文件的长度,以字节为单位。
C.所指文件的长度,以比特为单位。
D.所指当前文件的位置,以字节为单位。
14. 文件函数rewind()的概功能是 。
A.使文件fp的位置指针指向文件开始。
B.使文件fp的位置指针指向文件末尾。
C.使文件fp的位置指针指向文件中间。
D.使文件关闭。
15. 以下叙述不正确的是 。
A.C语言中的文本文件以ASCII码形式存储数据。
B.C语言中对二进制文件的访问速度比文本文件快。
C.C语言中,随机读写方式不适用于二进制文件。
D.C语言中,顺序读写方式不适用于二进制文件。
16. 以下程序试图把从终端键盘输入的字符输出到名为的文件中,直到从终端读入字符'#'时结束输入和输出操作,但程序有错。
#include
int main ( )
{
FILE *fout; char ch;
fout=fopen("","w");
ch=fgetc(stdin);
while (ch!='#')
{
fputc(ch,fout);
ch=fgetc( stdin);
}
fclose (fout);
return 0;
}
出错的原因是 。
A.函数fopen()调用形式错误。 B.输入文件没有关闭。
C.函数fgetc()调用形式错误。 D.文件指针stdin没有定义。
17. 若要打开A盘上的user子目录下的名为的文本文件进行读写操作,下面符合此要求的函数调用是 。
A.fopen("A:","r"); B.fopen("A:","r+");
C.fopen("A:","rb"); D.fopen("A:","w");
18. 以下叙述中错误的是 。
A.二进制文件打开后可以先读文件的末尾。
B.在程序结束时,应当用fclose()函数关闭已经打开的文件。
C.在利用fread()函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据。
D.不可以用FILE定义指向二进制文件的文件指针。
19. 有以下程序:
#include
int main ( )
{
FILE *fp; int i=20,j=30,k,n;
fp=fopen("","w");
fprintf(fp, "%d n",i);
fprintf(fp, "%d n",j);
fclose (fp);
fp=fopen("", "r");
fscanf(fp, "%d%d",&k,&n);
printf("%d %d",k,n);
}
return 0;
程序运行后的输出结果是 。
A.20 30 B.20 50 C.30 50
20. 下面的程序执行后,文件test中的内容是 。
#include
void fun(char *fname, char *st)
{
}
int main ( )
{
}
fun("test","new world");
fun("test","hello, ");
return 0;
FILE *myf; int i;
myf=fopen(fname, "w");
for (i=0; i fclose(myf); D.30 20 fputc(st[i],myf); A.hello, B.new worldhello, C.new world D.hello,rld 21. 若fp是指向某文件的指针,且已读到此文件的末尾,则库函数feof()的返回值是 。 A. EOF B. 0 C. 1 D. NULL 22. 在C程序中,可把整型数以二进制形式存放到文件中的函数是 。 A.fprintf()函数; B.fread()函数; C.fwrite()函数; D.fputc()函数 23. fopen()函数的第2个参数取值"r"和"w"时,它们之间的差别是 。 A. "r"可向文件写入,"w"不但可以向文件写入,而且还可以读出。 B. "r"用于从文件中读出数据,"w"用于向文件中写入数据。 C. 当文件不存在的时候,"r"将创建一个文件并读出,"w"将创建文件并写入。 D.文件不存在时,"r"建立新文件,"w"出错。 24. 使用fseek()函数可以实现的操作是 。 A.改变文件位置指针的当前位置。 B. 文件的顺序读写。 C.文件的随机读写。 D. 以上都不是。 25. 若用fopen()函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是 。 A."ab+" B."wb+" C."rb+" D."ab" 26. 如下程序执行后,c:abc文件的内容是 。 #include int main() { FILE *fp; char *str1="sound"; char *str2="picur"; } if ((fp=fopen("c:abc", "w+"))==NULL) exit(1); } fwrite(str2,6,1,fp); fseek(fp,0L,SEEK_SET); fwrite(str1,5,1,fp); fclose(fp); return 0; { printf("Can't open abc file n"); A.sound B.picture 27. 以下程序的功能是 。 #include int main( ) { FILE *fp1; fp1=fopen("abc","r++"); while (!feof(fp1)) fseek(fp1,-1L, SEEK_CUR); fputc('a',fp1); fseek(fp1,ftell(fp1),SEEK_SET); C.sourdr D.为空 if (fgetc(fp1)=='A') { } } fclose(fp1); return 0; A.将abc文件中所有'A'均替换为'a'。 B.查找abc文件中所有'A'。 C.查找abc文件中所有'a'。 D.将abc文件中所有字符均替换为'a'。 三、程序填空题 1. 以下程序的功能是将文件file1.c的内容输出到屏幕上并复制到文件file2.c中。 #include int main() { } FILE ___①___; fp1=fopen("file1.c","r"); fp2=fopen("file2.c","w"); while (!feof(fp1)) putchar(getc(fp1)); ___②___; while (!feof(fp1)) fputc(___③___); fclose(fp1); fclose(fp2) ; return 0; 2. 以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件中,然后从该文件读出字符串并显示出来。请填空。 #include main ( ) { FILE *fp; char str[100]; int i=0; if((fp=fopen("", ___①___))== NULL) { printf("can’t open this file. n"); exit(0); } printf("input a string:n"); gets(str); while (str[i]) { if (str[i] >'a' && str[i] <='z') str[i]=___②___; fputc (str[i],fp); i++; } fclose (fp); fp=fopen ("",___③___); fgets (str,100,fp); printf("%s n",str); fclose (fp); return 0; } 参考答案 一、填空题 1. 标准输入文件(键盘) 标准输出文件(显示屏幕) 标准出错信息文件(显示屏幕)。 2. stdin stdout stderr。 3. 打开文件 关闭文件。 4. stdio.h。 5. "r" 6. rewind 二、选择题 1. C 6. D 11. A 16. B 21. C 26. A 2. B 7. C 12. D 17. B 22. C 27. A 3. A 8. C 13. B 18. D 23. B 4. C 9. B 14. B 19. A 24.A 5. A 10. D 15. C 20. A 25. B 三、程序填空题 1. ① *fp1,*fp2 ② rewind(fp1) ③ getc(fp1),fp2 2. ①"w" ②str[i]-32 ③ "r"
版权声明:本文标题:C语言专项试题 文件 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1709778584a546327.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论