《计算机编程语言—C语言》第80卷:常考题训练卷 湖南省计算机应用类考纲百套卷

2025-07-09
| 2份
| 19页
| 110人阅读
| 1人下载

内容正文:

编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第80卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①位运算。②顺序文件、随机文件的概念及文件访问的编程方法。 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第80卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.若执行fopen函数时发生错误,则函数的返回值是( ) A.0 B.1 C.EOF D.地址值 2.使用fopen函数打开一个新的二进制文件,要求该文件既能读也能写,则文件打开方式的字符串应该是( ) A. "ab+" B. "wb+" C. "rb+" D. "ab" 3.若要打开C盘上的user子目录下名为“abc.txt”的文本文件进行读、写操作,下列符合此要求的函数调用是( ) A. fopen("C:\user\abc.txt","r") B. fopen("C:\\user\\abc.txt","r+") C. fopen("C:\user\abc.txt","rb") D. fopen("C:\\user\\abc.txt","w") 4.若fp已经正确定义并指向某一个文件,当没有遇到该文件结束标志时,函数feo(fp)的值为( ) A.-1 B.0 C.1 D.非零值 5. 函数调用语句“fseek(fp,-20L,2);”的含义是( ) A. 将文件位置指针移到距离文件头20个字节处 B. 将文件位置指针从当前位置向后移动20个字节 C. 将文件位置指针从文件末尾处后退20个字节 D. 将文件位置指针移到距离当前位置20个字节处 6. 在执行 fopen 函数时,ferror 函数的初值是( ) A. TURE B.-1 C.1 D.0 7. 若 fp是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是( ) A. EOF B.0 C.1 D.-1 8. 若要打开A盘上 user子目录下名为abe.txt的文本文件,并进行读、写操作.则下列符合此要求的函数调用是( ) A. fopen("A:\user\abc.txt","rb") B. fopen("A:\\user\\abc.txt","r+") C. fopen("A:\user\abc,txt","rw") D. fopen("A:\\user\\abc,txt","w") 9. 在C程序中,可以把整型数以内存中的二进制形式存放到文件中的函数是( ) A.fprintf函数 B.fread函数 C.fwrite函数 D.fputs函数 10. .函数调用语句“fputs(str,fp);"的正确功能是( ) A.把str所指的字符串,包括最后的'\0’,输出到fp所指的文件中 B.把 str 所指的字符串输出到fp所指的文件中,最后的'\0’用' '替换 C.把 str所指的字符串输出到fp所指的文件中,但不输出'\0’ D.把str所指的字符串输出到fp所指的文件中,但不输出最后的'\0',而是由系统自动在字符串最后加字符串结束标志 11. 若以“a+”方式打开一个已存在的文件,则叙述正确的是( ) A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可做添加和读操作 B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可做重写和读操作 C.文件打开时,原有文件内容被删除,只可做写操作 D.以上都不正确 12. 已知函数的调用形式“fread( buffer ,size,count,fp);",其中 buffer 代表的是( ) A.一个整型变量,代表要读人的数据项总数 B.一个文件指针,指向要读的文件 C.一个指针,指向要写人数据的存放地址 D.一个存储区,存放要读的数据项 13. fwrite函数的一般调用形式是( ) A. fwrite(buffer,count,size,fp); B.fwrite(fp,size,count,buffer); C.fwrite(fp,count,size,buffer); D.fwrite(buffer,size,count,(p); 14. 设有以下结构体类型, 并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘fp所指文件中,则不正确的形式是( ) struct st{ char name[10];int num; float s[4]; } student[50]; A.fwrite(student,sizeof(struct st),50,fp); B.fwrite(student,50*sizeof(struct st),1,fp); C.fwrite(student,25*sizeof( struct st),25,fp); D.for(i=0;i<50;i++) fwrite( student+i,sizeof(struct st),1,fp); 15. fseek 函数的正确调用形式是( ) A.fseek(文件类型指针,起始点,位移量); B.fseek(fp,位移量,起始点); C.fseek(位移量,起始点,fp); D.fseek(起始点,位移量,文件类型指针); 16. 下列关于 C语言数据文件的说法中,正确的是( ) A.文件由 ASCII码字符序列组成,C语言只能读写文本文件 B.文件由二进制数据序列组成,C语言只能读写二进制文件 C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 17. 下列说法中,不正确的是( ) A.C语言中,文本文件以ASCII码形式存储数据 B.C语言中,二进制文件的访问速度比文本文件快 C.C语言中,随机读写方式不适用于文本文件 D.C语言中,顺序读写方式不适用于二进制文件 18. 以下程序企图把从终端输入的字符输出到名为“abc.txt"的文件中,直到从终端读人字符“#”时结束输入和输出操作,但程序有错,出错的原因是( ) #include <stdio.h> 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 调用形式错误 B.输入文件没有关闭 C.函数 fgetc 调用形式错误 D.文件指针 stdin没有定义 19. 下列说法中,错误的是( ) A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B.在程序结束时,应当用fclose函数关闭已打开的文件 C.在利用 fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读人数据 D.不可以用 FILE定义指向二进制文件的文件指针 20.执行以下程序的输出结果是( ) main() {int x=69; printf("%c,%d",x,~x);getch();} A. E,-70 B.E,70 C.E,71 D.D,-70 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( )(若1.tt 里面存放着“qescxxz”) #include <stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> #define N 100 int main (void) {FILE * fp; char str [N+1] ; if((fp = fopen ("F: (\123.txt", "I"))== NULL) {puts("文件打开失败"); exit (0) ;} while (fgets ( str, N,fp)!=NULL){ printf("%s",str);} fclose (fp) ; getch();} 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int main (void) {FILE *fp; int x[6]={1,3,5,7,9,11},i; fp=fopen("test.dat","wb"); fwrite(x,sizeof(int),3,fp); rewind(fp); fread(x,sizeof(int),3,fp); for(i=0;i<6;i++) printf("%d",x[i]); fclose(fp);getch();} 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main () {FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d ",i); fprintf(fp,"%d ",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d%d ",k,n); fclose(fp); getch();} 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> 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,-1L*sizeof(long),SEEK_END); fread(&b,sizeof(int),1,fp); fclose(fp); printf("%d ",b); getch();} 25.下面的程序执行后,文件test.txt中的内容是( ) #include <stdio.h> #include<conio.h> #include<string.h> void fun(char fname[],char str[]) {FILE *fp; int i; fp=fopen(fname, "w"); for(i=0;i<strlen(str); i++) fputc(str[i],fp); fclose(fp);} main() { fun("d:\\test.txt","new world"); fun("d:\\test.txt","hello,"); getch();} 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> main() {int str[10]= {1,2,3,4,5,6,7,8,9,0},ptr[10],i; FILE *fp; if((fp=fopen("d:\ ew.txt","wb"))==NULL) {printf("file open failed! ");} fwrite(str,sizeof(int),10,fp); fclose(fp); fp=fopen("d:\ ew.txt","rb") ; for(i=0;i<10;i++) {fread(&ptr[i],sizeof(int),1,fp); printf("%4d",ptr[i]);} fclose(fp); getch();} 三、程序填空题(共1小题,每空4分,合计16分) 27.程序填空。以下程序的功能是输入4名学生的姓名、学号、年龄和住址,并存入磁盘文件。 #include <stdio.h> #include<conio.h> #include<string.h> #define SIZE 4 struct student {char name[10]; int num; int age; char addr[15];}stud[SIZE]; void save() {【1】; int i; if((fp=fopen("stu_list","wb"))==NULL) {printf("cannot open file ");} for(i=0;i<SIZE;i++) if(【2】)!=1) printf("file write error ");} main() {int i; for(i=0;i<SIZE;i++) scanf("%s,%d,%d,%s",stud[i].name,【3】 ,【4】 ,stud[i].addr); save(); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第80卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①位运算。②顺序文件、随机文件的概念及文件访问的编程方法。 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第80卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.若执行fopen函数时发生错误,则函数的返回值是( ) A.0 B.1 C.EOF D.地址值 【答案】A 2.使用fopen函数打开一个新的二进制文件,要求该文件既能读也能写,则文件打开方式的字符串应该是( ) A. "ab+" B. "wb+" C. "rb+" D. "ab" 【答案】B 3.若要打开C盘上的user子目录下名为“abc.txt”的文本文件进行读、写操作,下列符合此要求的函数调用是( ) A. fopen("C:\user\abc.txt","r") B. fopen("C:\\user\\abc.txt","r+") C. fopen("C:\user\abc.txt","rb") D. fopen("C:\\user\\abc.txt","w") 【答案】B 4.若fp已经正确定义并指向某一个文件,当没有遇到该文件结束标志时,函数feo(fp)的值为( ) A.-1 B.0 C.1 D.非零值 【答案】A 5. 函数调用语句“fseek(fp,-20L,2);”的含义是( ) A. 将文件位置指针移到距离文件头20个字节处 B. 将文件位置指针从当前位置向后移动20个字节 C. 将文件位置指针从文件末尾处后退20个字节 D. 将文件位置指针移到距离当前位置20个字节处 【答案】C 6. 在执行 fopen 函数时,ferror 函数的初值是( ) A. TURE B.-1 C.1 D.0 【答案】D 7. 若 fp是指向某文件的指针,且已读到文件末尾,则库函数 feof(fp)的返回值是( ) A. EOF B.0 C.1 D.-1 【答案】D 8. 若要打开A盘上 user子目录下名为abe.txt的文本文件,并进行读、写操作.则下列符合此要求的函数调用是( ) A. fopen("A:\user\abc.txt","rb") B. fopen("A:\\user\\abc.txt","r+") C. fopen("A:\user\abc,txt","rw") D. fopen("A:\\user\\abc,txt","w") 【答案】B 9. 在C程序中,可以把整型数以内存中的二进制形式存放到文件中的函数是( ) A.fprintf函数 B.fread函数 C.fwrite函数 D.fputs函数 【答案】C 10. .函数调用语句“fputs(str,fp);"的正确功能是( ) A.把str所指的字符串,包括最后的'\0’,输出到fp所指的文件中 B.把 str 所指的字符串输出到fp所指的文件中,最后的'\0’用' '替换 C.把 str所指的字符串输出到fp所指的文件中,但不输出'\0’ D.把str所指的字符串输出到fp所指的文件中,但不输出最后的'\0',而是由系统自动在字符串最后加字符串结束标志 【答案】C 11. 若以“a+”方式打开一个已存在的文件,则叙述正确的是( ) A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可做添加和读操作 B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可做重写和读操作 C.文件打开时,原有文件内容被删除,只可做写操作 D.以上都不正确 【答案】D 12. 已知函数的调用形式“fread( buffer ,size,count,fp);",其中 buffer 代表的是( ) A.一个整型变量,代表要读人的数据项总数 B.一个文件指针,指向要读的文件 C.一个指针,指向要写人数据的存放地址 D.一个存储区,存放要读的数据项 【答案】C 13. fwrite函数的一般调用形式是( ) A. fwrite(buffer,count,size,fp); B.fwrite(fp,size,count,buffer); C.fwrite(fp,count,size,buffer); D.fwrite(buffer,size,count,(p); 【答案】A 14. 设有以下结构体类型, 并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘fp所指文件中,则不正确的形式是( ) struct st{ char name[10];int num; float s[4]; } student[50]; A.fwrite(student,sizeof(struct st),50,fp); B.fwrite(student,50*sizeof(struct st),1,fp); C.fwrite(student,25*sizeof( struct st),25,fp); D.for(i=0;i<50;i++) fwrite( student+i,sizeof(struct st),1,fp); 【答案】C 15. fseek 函数的正确调用形式是( ) A.fseek(文件类型指针,起始点,位移量); B.fseek(fp,位移量,起始点); C.fseek(位移量,起始点,fp); D.fseek(起始点,位移量,文件类型指针); 【答案】B 16. 下列关于 C语言数据文件的说法中,正确的是( ) A.文件由 ASCII码字符序列组成,C语言只能读写文本文件 B.文件由二进制数据序列组成,C语言只能读写二进制文件 C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 【答案】D 17. 下列说法中,不正确的是( ) A.C语言中,文本文件以ASCII码形式存储数据 B.C语言中,二进制文件的访问速度比文本文件快 C.C语言中,随机读写方式不适用于文本文件 D.C语言中,顺序读写方式不适用于二进制文件 【答案】D 18. 以下程序企图把从终端输入的字符输出到名为“abc.txt"的文件中,直到从终端读人字符“#”时结束输入和输出操作,但程序有错,出错的原因是( ) #include <stdio.h> 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 调用形式错误 B.输入文件没有关闭 C.函数 fgetc 调用形式错误 D.文件指针 stdin没有定义 【答案】A 19. 下列说法中,错误的是( ) A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B.在程序结束时,应当用fclose函数关闭已打开的文件 C.在利用 fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读人数据 D.不可以用 FILE定义指向二进制文件的文件指针 【答案】D 20.执行以下程序的输出结果是( ) main() {int x=69; printf("%c,%d",x,~x);getch();} A. E,-70 B.E,70 C.E,71 D.D,-70 【答案】A 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( )(若1.tt 里面存放着“qescxxz”) #include <stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> #define N 100 int main (void) {FILE * fp; char str [N+1] ; if((fp = fopen ("F: (\123.txt", "I"))== NULL) {puts("文件打开失败"); exit (0) ;} while (fgets ( str, N,fp)!=NULL){ printf("%s",str);} fclose (fp) ; getch();} 【答案】qescxx 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int main (void) {FILE *fp; int x[6]={1,3,5,7,9,11},i; fp=fopen("test.dat","wb"); fwrite(x,sizeof(int),3,fp); rewind(fp); fread(x,sizeof(int),3,fp); for(i=0;i<6;i++) printf("%d",x[i]); fclose(fp);getch();} 【答案】1357911 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main () {FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d ",i); fprintf(fp,"%d ",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d%d ",k,n); fclose(fp); getch();} 【答案】2030 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> 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,-1L*sizeof(long),SEEK_END); fread(&b,sizeof(int),1,fp); fclose(fp); printf("%d ",b); getch();} 【答案】4 25.下面的程序执行后,文件test.txt中的内容是( ) #include <stdio.h> #include<conio.h> #include<string.h> void fun(char fname[],char str[]) {FILE *fp; int i; fp=fopen(fname, "w"); for(i=0;i<strlen(str); i++) fputc(str[i],fp); fclose(fp);} main() { fun("d:\\test.txt","new world"); fun("d:\\test.txt","hello,"); getch();} 【答案】hello, 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> main() {int str[10]= {1,2,3,4,5,6,7,8,9,0},ptr[10],i; FILE *fp; if((fp=fopen("d:\ ew.txt","wb"))==NULL) {printf("file open failed! ");} fwrite(str,sizeof(int),10,fp); fclose(fp); fp=fopen("d:\ ew.txt","rb") ; for(i=0;i<10;i++) {fread(&ptr[i],sizeof(int),1,fp); printf("%4d",ptr[i]);} fclose(fp); getch();} 【答案】 1 2 3 4 5 6 7 8 9 0 三、程序填空题(共1小题,每空4分,合计16分) 27.程序填空。以下程序的功能是输入4名学生的姓名、学号、年龄和住址,并存入磁盘文件。 #include <stdio.h> #include<conio.h> #include<string.h> #define SIZE 4 struct student {char name[10]; int num; int age; char addr[15];}stud[SIZE]; void save() {【1】; int i; if((fp=fopen("stu_list","wb"))==NULL) {printf("cannot open file ");} for(i=0;i<SIZE;i++) if(【2】)!=1) printf("file write error ");} main() {int i; for(i=0;i<SIZE;i++) scanf("%s,%d,%d,%s",stud[i].name,【3】 ,【4】 ,stud[i].addr); save(); getch();} 【答案】①FILE *fp ②fwrite(&stud[i],sizeof(struct student),1,fp ③&stud[i].num ④&stud[i].age 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《计算机编程语言—C语言》第80卷:常考题训练卷  湖南省计算机应用类考纲百套卷
1
《计算机编程语言—C语言》第80卷:常考题训练卷  湖南省计算机应用类考纲百套卷
2
《计算机编程语言—C语言》第80卷:常考题训练卷  湖南省计算机应用类考纲百套卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。