[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(结构体、共用体、位运算及文件操作)模拟试卷 8及答案与解析 一、选择题 1 若有以下程序 main()int c; c=105: printf(“ d n“, c); 则程序的输出结果是 ( A) 15 ( B) 10000 ( C) 5 ( D) 105 2 若有以下程序 main()int c; c=1315; printf(“ d n“, c); 则程序的输出结果是 ( A) 15 ( B) 18 ( C) 13 ( D) 5 3 有以下程序 main()int i=0; i= i: printf(“ d n“, i); 程序运行后的输出结果是 ( A) 0 ( B
2、) 1 ( C) 8 ( D)一 1 4 有以下程序 main()int i=1: i=i i; printf(“ d n“, i); 程 序运行后的输出结果是 ( A)一 1 ( B) 0 ( C) 1 ( D) 7 5 下面关于位运算符的叙述,正确的是 ( A) #表示 “按位异或 ”的运算 ( B) 表示 “按位或 ”的运算 ( C)表示 “按位异或 ”的运算 ( D) &表示 “按位与 ”的运算 6 以下叙述中正确的是 ( A)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 ( B)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数
3、据 ( C) C语言中的文件是流式文件,因此只能顺序存取数据 ( D)当对 文件的读 (写 )操作完成之后,必须将它关闭,否则可能导致数据丢失 7 下列关于 C语言文件的叙述中正确的是 ( A)文件由结构序列组成,可以构成二进制文件或文本文件 ( B)文件由一系列数据依次排列组成,只能构成二进制文件 ( C)文件由数据序列组成,可以构成二进制文件或文本文件 ( D)文件由字符序列组成,其类型只能是文本文件 8 下面选项中关于 “文件指针 ”概念的叙述正确的是 ( A)文件指针就是文件位置指针,表示当前读写数据的位置 ( B)文件指针指向文件在计算机中的存储位置 ( C)文件指针是程序 中用 F
4、ILE定义的指针变量 ( D)把文件指针传给 fscanf函数,就可以向文本文件中写入任意的字符 9 设 fp已定义,执行语句 fp=fopen(“file”, “w”);后,以下针对文本文件 file操作叙述的选项中正确的是 ( A)写操作结束后可以从头开始读 ( B)只能写不能读 ( C)可以在原有内容后追加写 ( D)可以随意读和写 10 以下函数不能用于向文件中写入数据的是 ( A) fwrite ( B) fputc ( C) ftell ( D) fprintf 11 设文件指针 fp已定义,执行 语句 fp=fopen(“file“, “w“);后,以下针对文本文件 file操作
5、叙述的选项中正确的是 ( A)写操作结束后可以从头开始读 ( B)可以在原有内容后追加写 ( C)可以随意读和写 ( D)只能写不能读 12 有以下程序 #include stdio h main()FILE*f; f=fopen(“filea txt“, “w“); fprintf(f, “abc“); fclose(f); 若文本文件 filea txt中原有内容为: hello,则运行以上程序后,文件 filea txt中的内容为 ( A) abclo ( B) abc ( C) helloabc ( D) abchello 13 有以下程序 #inelude stdio h main(
6、) FILE*fp; int i, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2 dat“, “w+“); for(i=0; i; i+)fprintf(fp, “ d n“, ai); rewind(fp); for(i=O; i 6; i+)fscanf(fp, “ d“, &a5 i); fclose(fp); for(i=0; i 6; i+)printf(“ d“, ai); ( A) 1, 2, 3, 4, 5, 6 ( B) 6, 5, 4, 3, 2, 1, ( C) 4, 5, 6, 1, 2, 3, ( D) 1, 2, 3, 3, 2, 1, 14
7、执行以下程序后, test txt文件的内容是 (若文件能正常打开 ) #include stdio h main() FILE*fb; char*s1=“Fortran“, *s2=“Basic“; if(fb=fopen(“test txt“, “wb“)=NULL) printf(“Cant open test txt file n“); exit(1); fwrite(s1, 7, 1, fb); *把从地址 s1开始的 7个字符写到 fb所指文件中 * fseek(fb, 0L, SEEK SET); *文件位置指针移到文件开头 * fwrite(s2, 5, 1, fb); fcl
8、ose(fb); ( A) Basican ( B) BasicFortran ( C) Basic ( D) FortranBasic 15 读取二进制文件的函数调用形式为: fread(buffer,size, count, fp);其中 buffer代表的是 ( A)一个整型变量,代表待读取的数据的字节数 ( B)一个内存块的首地址,代表读入数据存放的地址 ( C)一个文件指针,指向待读取的文件 ( D)一个内存块的字节数 16 有下列程序: #include stdio h main() FILE*fp; int a10=1, 2, 3), i, n; fp=fopen(“d1 dat
9、“, “w“); for(i=0; i 3; i+)fprintf(fp, “ d“, ai); fprintf(fp, “ n“); fclose(fp); fp=open(“d1 dat“, “r“); fscanf(fp, “ d“, &n); fclose(fp); printf(“ d n“, n); 程序的运行结果是 ( A) 12300 ( B) 123 ( C) 1 ( D) 321 17 以下叙述中错误的是 ( A) gets函数用于从终端读入字符串 ( B) getchar函数用于从磁盘文件读入字符 ( C) fputs函数用于把字符串输出到文件 ( D) fwrite函数
10、用于以二进制形式输出数据到文件 18 有以下程序 #include stdio h main() FILE*pf; char*s1=“China“, *s2=“Beijing“; pf=fopen(“abc dat“, “wb+“); fwrite(s2, 7, 1, pf); rewind(pf); *文件位置指针回到文件开头 * fwrite(s1, 5, 1, pf); fclose(pf); 以上程序执行后 abc dat文件的内容是 ( A) Chinang ( B) China ( C) ChinaBeijing ( D) BeijingChina 19 有下列程序: #inclu
11、de stdio h main() FILE*fp; int k, n, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2 dat“, “W“); fprintf(fp, “ d d d n“, a0, a1, a2); fprintf(fp, “ d d d n“, a3, a4, a5); fclose(fp); fp=fopen(“d2 dat“, “r“); fscanf(fp, “ d d“, &k, &n); printf(“ d d n“, k, n); fclose(fp); 程序运行后的输出结果是 ( A) 1 4 ( B) 123 456 ( C) 123
12、 4 ( D) 1 2 20 有下列程序: #include stdio h main() FILE*fp; int a10=1, 2, 3, 0, 0, i; fp=fopen(“d2 dat“, “wb“); fwtite(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+)printf(“ d“, ai); 程序的运行结果是 ( A)
13、1, 2, 3, 1, 2, 3, 0, 0, 0, 0, ( B) 1, 2, 3, 0, 0, 1, 2, 3, 0, 0, ( C) 123, 0, 0, 0, 0, 123, 0, 0, 0, 0, ( D) 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 21 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( A) 0 ( B) 0 ( C) NULL ( D)非 0值 22 有以下程序 #include stdio h main() FILE*fp; char str10; fp=fopen(“myfile dat“, “w“
14、); fputs(“abc“, fp); fclose(fp); fp=fopen(“myfile dat“, “a+“); fprintf(fp, “ d“, 28); rewind(fp); fscanf(fp, “ s“, str); puts(str); fclose(fp); 程序运行后的输出结果是 ( A) 28c ( B) abc28 ( C) abc ( D)因类型不一致而出错 23 以下程序依次把从终端输入的字符存放到 f文件中,用 #作为结束输入的标志,则在横线处应填入的选项是 #include stdio h main() FILE*fp; char ch; fp=fop
15、en(“fname“, “w“); while(ch=getchar()!=#) fputc(_); fclose(fp); ( A) fp, ch ( B) ch ( C) ch, “fname“ ( D) ch, fp 24 以下程序用来统计文件中 字符的个数 (函数 feof用以检查文件是否结束,结束时返回非零 ) #include stdio h main()FILE*fp; long num=0; fp=fopen(“fname dat“, “r“); while(_) fgetc(fp); num+; printf(“num= d n“, num); fclose(fp): 下面选
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 运算 文件 操作 模拟 答案 解析 DOC
