A、C语言中的文本文件以ASCII码形式存储数据B、C语言中对二进制文件的访问速度比文本文件快C、C语言中,随机读/写方式不适用文本文件
D、从语言中,顺序读写方式不适用于二进制文件
2、以下叙述不正确的是D 。A、以二进制格式输出文件,则文件内容与内存中完全一致
B、定义:int n=123;若以ASCII文件的格式存放,变量n将在磁盘上占3个字节
C、C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的
D、C语言的文件,数据以记录为界限,便于区分
3、以下叙述正确的是B 。
A、文件打开后不必关闭
B、以文件方式打开一个文件输出时,将换行符转换为回车和换行两个符号
C、以文件方式打开一个文件输入时,将换行符转换为回车和换行两个符号
D、C语言中,对文件的读写是以字为单位的
4、C语言中,文件由A 。
A、字符(字节)序列组成B、记录组成C、数据行组成D、数据块组成
5、默认状态下,习题的标准输入设备是A 。
A.键盘C、软盘
B、显示器D、硬盘
6.C语言中可以处理的文件类型是
A.文本文件和数据文件B.文本文件和二进制文件C.数据文件和二进制文件D.以上都不对
B 。7.以下关于文件的叙述中正确的是
A.对文件操作必须先关闭文件B.对文件操作必须先打开文件
C.对文件的操作顺序没有统一的规定D.以上都不对
。8.在进行文件操作时,写文件的一般含义是。
A.将计算机内存中的信息存入磁盘B.将磁盘中的信息存入计算机内存C.将计算机CPU中的信息存入磁盘D.将磁盘中的信息存入计算机CPU
9.在进行文件操作时,读文件的一般含义是。
A.将计算机内存中的信息存入磁盘B.将磁盘中的信息存入计算机内存C.将计算机CPU中的信息存入磁盘D.将磁盘中的信息存入计算机CPU
10.C语言中,从计算机内存中将数据写入内存,称为。
A.输入C.修改
B.输出D.删除
11.C语言中,将文件中的数据读入到计算机内存中,称为。
A.输入C.修改
B.输出D.删除
12.C语言中,对文件操作的一般步骤是。A.打开文件,操作文件,关闭文件B.操作文件,修改文件,关闭文件C.读/写文件,打开文件,关闭文件D.读文件,写文件,关闭文件
13.下列语句中,把c定义为文件型指针的是。
A.FILE c;C.file c;
B.FILE *c;D.file *c;
14.在C语言中,文件的存取是以单位的,这种文件被称为文件。为15.“FILE *p”的作用是定义一个,其中的“FILE”是在头文件中定义的。
16.在C程序中,文件按存取方式分为和两种类型。17.C语言的文件体系中,最重要的概念是“文件指针”,定义文件指针的方法是*fp,其中fp是一个指向类型结构体的指针变量。
18.C语言的文件体系中,文件指针指向,文件内部指针指向文件内部的。1、以读写方式打开一个已有的文本文件file1,并且以定义FILE *fp,下面fopen函数正确的调用方式是。
A、fp=fopen(“file1”,”r”)B、fp=fopen(“file1”,”r++”)C、fp=fopen(file1”,”rb”)D、fp=fopen(“file1”,”w”)
2.若要打开A磁盘上user子目录下名为abc.exe的文本文件进行读/写操作,下面符合此要求的函数调用是。A.fopen(“A:\\suer\\abc.txt”,”r”)
B.fopen(“A:\\\\suer\\\\abc.txt”,”r+”C.fopen(“A:\\suer\\abc.txt”,”rb”)D.fopen(“A:\\\\suer\\\\abc.txt”,”w”)
)3.打开一个新的二进制文件,若要用fopen函数使该文件既能读又能写,则文件打开时使用的模式是。
A.“rb”B.“wb”C.“b+”
D.“ab”
4.当执行fopen函数是发生错误,则函数的返回值是。
A.-1B.TRUEC.0
D.1
5.当顺利执行了文件关闭操作时,fclose函数的返回值是。A.-1C.0
B.TRUED.1
6.若fp是指向某文件的指针,且以读到此文件的末尾,则库函数feof(fp)的返回值是。A.EOF C.非零值
B.0
D.NULL
7.使用fgetc函数,则打开文件的方式必须是。A.只写
B.追加
C.读或读写
D.B和C都正确
8.当调用fputc函数输出字符成功时,其返回值是。
A.EOFB.1
C.0
D.输出的字符
9.标准函数fgets(s,n,f)的功能是。A.从文件f中读取长度为n的字符串存入指针s所指的内存
B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C.从文件f中读取n个字符串存存入指针s所指的内存
D.从文件f中读取长度为n-1的字符串存入指针s所指的内
10.标准函数fpets(p1,p2)的功能是。A.从p1指向的文件中读取一个字符串存入p2指向的内存
B.从p2指向的文件中读取一个字符串存入p1指向的内存
C.从p1指向的内存中读取一个字符串存入p2指向的文件中
D.从p2指向的内存中读取一个字符串存入p1指向的文件中
11.在C程序中,可把整数以二进制形式存放到文件中的函数是。
A.fprintf函数B.fread函数C.fwrite函数D.fputc函数
12.fcanf函数的正确调用格式是。
A.fcanf(文件指针,格式字符串,输出列表)B.fcanf(格式字符串,输出列表,文件指针C.fcanf(格式字符串,文件指针,输出列表D.fcanf(文件指针,格式字符串,输入列表)))
13.以下叙述中错误的是。
A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B.在程序结束时,应当用fclose函数关闭以打开的文件
C.在利用fread函数从二进制文件中读取数据时,可以用数组名给数组中所有元素读入数据D.不可以用FILE定义指向二进制文件的文件指针
14.fwrite函数的一般调用格式是
A.fwrite(buffer,count,size,fp)B.fwrite(fp,count,size buffer,)C.fwrite(fp,size,count ,buffer)D.fwrite(buffer, size,count,fp)
D 。
15.若定义:int a[5],fp是指向某个已经正确打开了的文件指针,以下函数调用中不正确的是。A.fread(a[0],sizeof(int),5,fp)B.fread(&a[0],5*sizeof(int),1,fp)C.fread(a,sizeof(int),5,fp)D.fread(a,5*sizeof(int),1,fp)
16.fread(buf,,2,fp)的功能是。
A.从fp文件流中读出整数,并存放在buf中B.从fp文件流中读出整数和2,并存放在buf中C.从fp文件流中读出整数个字节的字符,并存放在buf中
D.从fp文件流中读出2个字节的字符,并存放在buf中
17.已知函数的调用形式是:
fread(buffer,size,count,fp),其中buffer代表的是。
A.一个整形变量,代表要读入的数据项总数B.一个指针文件,指向要读取的文件
C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项
18.设有以下结构类型:
struct student{char name[8];int no;
float score[4];}st[50];
并且结构体数组st中的每个元素都已经有值。若要将这些元素写道文件fp中,以下格式错误的是。A.fwrite(st,sizeof(struct student),50,fp)
B.fwrite(st,50*sizeof(struct student),1,fp)C.fwrite(st,25*sizeof(struct student),26,fp)
D.for(i=0;i<50;i++)fwrite(st,sizeof(struct student),1,fp)
19.以下程序执行后,文件text.dat中的内容是
。
#include void fun(char *fname,char *st){ FILE *myf;unsigned int i; myf=fopen(fname,\"w\");for(i=0;i fclose(myf);} void main(){ fun(\"test.dat\fun(\"test.dat\} A.helloB.C.new worldD.hello,rld new worldhello20.以下程序执行后的输出结果是 。 #include FILE *fp; int i=20,j=30,k,n; fp=fopen(\"d1.dat\fprintf(fp,\"%d\\n\fprintf(fp,\"%d\\n\fclose(fp); fp=fopen(\"d1.dat\fscanf(fp,\"%d%d\printf(\"%d %d\\n\fclose(fp);} A.20,30B.20,C.30,50D.30,20 5021.以下程序试图将从终端输入的字符输出到文件名为abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错误。程序出错的原因是。#include void main(){ FILE *fout;char ch; fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){ fputc(ch,fout);ch=fgetc(stdin); } fclose(fout);} A.函数fopen调用形式错误C.函数fgetc调用形式错误.输入文件没有关闭 .文件指针stdin没有定义 BD22.程序执行后输出的结果是 #include { } A.1 2FILE *fp;int i,k=0,n=0; fp=fopen(\"d1.dat\for(i=1;i<4;i++) fprintf(fp,\"%d\ fclose(fp); fp=fopen(\"d1.dat\fscanf(fp,\"%d%d\printf(\"%d %d\\n\fclose(fp);B.123 0C..0 0 1 23D23.以下程序的功能是 #include FILE *fp; char str[]=\"HELLO\";fp=fopen(\"PRN\fputs(str,fp);fclose(fp);} 。A.在屏幕上显示“HELLO” B.把“HELLO”存入PRN文件中C.在打印机上打印“HELLO”D.以上都不对 24.以下程序是将一个名为old.dat的文件拷贝到一个名为new.dat的新文件中,请填空: #include int c; FILE *fp1,*fp2; fp1=fopen(\"old.dat\fp2=fopen(\"new.dat\c=getc(fp1);while(!=EOF){ putc(c,fp2);c=getc(fp1); } fclose(fp1);fclose(fp2);} );); 26.以下程序用来统计文件中的字符个数。请填空。 #include FILE *fp; long num=0L; if((fp=fopen(\"test.dat\{ printf(\"Open error!\\n\");exit(0); } while(){ fgetc(fp);num++; } fclose(fp); printf(\"num=%d\\n\} 27.下面的程序用来统计文本文件中的字符个数(假定文本文件每行不超过80个字符),请填空。 #include FILE *fp; long num=0L;char buff[80]; if((fp=fopen(\"test.dat\{ printf(\"Open error file!\\n\");exit(0); } while(!feof(fp)){ fgets();num++; } fclose(fp); printf(\"num=%d\\n\} 28.已有文本文件test.dat,其内容为:hello,everyone!。以下程序的输出结果。 #include FILE *fp;char buff[80]; if((fp=fopen(\"test.dat\{ printf(\"Open error!\\n\");exit(0); } fgets(buff,5,fp);printf(\"%s\\n\} 29.以下程序将磁盘的一个文件复制到另一个文件中,两个文件名在命令行中给出。请填空。 #include void main(int argc,char *argv[]){ FILE *fp1,*fp2;if(argc<){ printf(\"Parameters missing!\\n\");exit(0); } if(((fp1=fopen(argv[1],\"r\"))==NULL)||((fp2=fopen(argv[2],\"w\"))==NULL)) { printf(\"Open error!\\n\");exit(0); } while()fputc(fgetc(fp1),fp2); fclose(fp1);fclose(fp2);} 33.以下程序的功能是:从键盘输入一个字符串,把该字符串中的小写字母转换为大写字母并输出到文件test.day中,然后从该文件读出字符串并显示。请填空。#include } FILE *fp; char str[100];int i=0; if((fp=fopen(\"test.dat\{ printf(\"Can't open file.\\n\");exit(0); } printf(\"input a string:\");gets(str);while(str[i]){ if(str[i]>='a'&&str[i]<='z') str[i]-=32; fputc(str[i],fp);i++; } fclose(fp); fp=fopen(\"test.dat\fgets(str,100,fp);printf(\"%s\\n\fclose(fp); 34.以下程序中,用户从键盘输入一个文件名,然后输入一个字符串(用#结束输入)将其存放到此文件中,形成文本文件,并将字符的个数写道文件尾部。请填空。 #include FILE *fp; char ch,fname[32];int count=0; printf(\"input file name:\");scanf(\"%s\if((fp=fopen(,\"w+\"))==NULL){ printf(\"Can't open file.\\n\");exit(0); } printf(\"input a string:\");while((ch=getchar())!='#'){ fputc(ch,fp);count++; } fprintf(,\"\\n%d\\n\fclose(fp);} 1.分析程序执行后的输出结果。 #include FILE *fp; int i,a[4]={1,2,3,4},b; fp=fopen(\"data.dat\for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp); fclose(fp); fp=fopen(\"data.dat\ fseek(fp,-2L*sizeof(int),SEEK_END);fread(&b,sizeof(int),1,fp);fclose(fp); printf(\"%d\\n\} A.2B.1C.4.3 D以下程序的功能是。#include FILE *fp; fp=fopen(\"abc.txt\while(!feof(fp)) if(fgetc(fp)=='*'){ fseek(fp,-1L,SEEK_CUR);fputc('$',fp); fseek(fp,ftell(fp),SEEK_SET); } fclose(fp);} A.将abc文件中所有的’*’均替换为’$’B.查找abc文件中所有的’C.查找abc文件中所有的’$’D.将abc文件中所有的字符均替换为’$’ ’*本执行程序后,文件abc.txt的内容是 #include FILE *fp; char *str1=\"first\";char *str2=\"second\"; if((fp=fopen(\"abc.txt\{ printf(\"can't open file\\n\");exit(0); } fwrite(str2,6,1,fp); fseek(fp,0L,SEEK_SET);fwrite(str1,5,1,fp);fclose(fp);} A.firstB.secondC.fisrstd 。 .为空 D程序设计题: 编写学生成绩管理程序,要求: 学生的信息包括:学号、姓名、年龄,性别、和3门考试成绩,主要功能为:1、从键盘输入N个学生的信息并存入FILE类型的文件中;2、从上述文件中读入学生成绩,并按学号为序打印一张学生成绩情况表。 #include int no; char name[10];int age;char sex; int deg1,deg2,deg3;}Student; void fun1(){ FILE *fp; Student stud;int i; if((fp=fopen(\"stud.dat\{ printf(\"can't open file\\n\");return; } printf(\"输入%d个学生成绩\\n\for(i=0;i scanf(\"%d%s%d%c%d%d%d\&stud.sex,&stud.deg1,&stud.deg2,&stud.deg3); fwrite(&stud,sizeof(Student),1,fp); } fclose(fp);} void fun2(){ FILE *fp; Student stud[N],temp;int i,j; if((fp=fopen(\"stud.dat\{ printf(\"can't open file\\n\");return; } for(i=0;i for(i=0;i for(j=i-1;j>=0 && temp.no stud[j+1]=temp; } printf(\"输出学生记录:\\n\");for(i=0;i %d\\n\eg3);} #include int monthPerday[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};struct date{ int year,month,day;}dt; int day_of_year(int year,int month,int day){ int i,leap; leap=(year%4==0&&year%100!=0 ||year%400==0);for(i=1;i return day;} void month_day(int year,int days,int *pmonth,int *pday){ int i,leap; leap=(year%4==0&&year%100!=0 ||year%400==0);for(i=1;days>monthPerday[leap][i];i++) days-=monthPerday[leap][i]; *pmonth=i;*pday=days;} void main(){ int year,month,day; printf(\"%d\\n\month_day(2000,61,&month,&day);printf(\"%d,%d\\n\}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务