【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷8及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 8 及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.若有以下程序 main()int c; c=105: printf(“dn“,c); 则程序的输出结果是(分数:2.00)A.15B.10000C.5D.1052.若有以下程序 main()int c; c=1315; printf(“dn“,c); 则程序的输出结果是(分数:2.00)A.15B.18C.13D.53.有以下程序 main()int i=0; i=i: printf(“dn“,i); 程序运行后的输出结果是
2、(分数:2.00)A.0B.1C.8D.一 14.有以下程序 main()int i=1: i=ii; printf(“dn“,i); 程序运行后的输出结果是(分数:2.00)A.一 1B.0C.1D.75.下面关于位运算符的叙述,正确的是(分数:2.00)A.#表示“按位异或”的运算B.表示“按位或”的运算C.表示“按位异或”的运算D.&表示“按位与”的运算6.以下叙述中正确的是(分数:2.00)A.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖B.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据C.C 语言中的文件是流式文件,因此
3、只能顺序存取数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失7.下列关于 C 语言文件的叙述中正确的是(分数:2.00)A.文件由结构序列组成,可以构成二进制文件或文本文件B.文件由一系列数据依次排列组成,只能构成二进制文件C.文件由数据序列组成,可以构成二进制文件或文本文件D.文件由字符序列组成,其类型只能是文本文件8.下面选项中关于“文件指针”概念的叙述正确的是(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针指向文件在计算机中的存储位置C.文件指针是程序中用 FILE 定义的指针变量D.把文件指针传给 fscanf 函数,就可以向
4、文本文件中写入任意的字符9.设 fp 已定义,执行语句 fp=fopen(“file”,“w”);后,以下针对文本文件 file 操作叙述的选项中正确的是(分数:2.00)A.写操作结束后可以从头开始读B.只能写不能读C.可以在原有内容后追加写D.可以随意读和写10.以下函数不能用于向文件中写入数据的是(分数:2.00)A.fwriteB.fputcC.ftellD.fprintf11.设文件指针 fp 已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file 操作叙述的选项中正确的是(分数:2.00)A.写操作结束后可以从头开始读B.可以在原有内容后追加写C
5、.可以随意读和写D.只能写不能读12.有以下程序 #includestdioh main()FILE*f; f=fopen(“fileatxt“,“w“); fprintf(f,“abc“); fclose(f); 若文本文件 fileatxt 中原有内容为:hello,则运行以上程序后,文件 fileatxt 中的内容为(分数:2.00)A.abcloB.abcC.helloabcD.abchello13.有以下程序 #ineludestdioh main() FILE*fp;int i,a6=1,2,3,4,5,6; fp=fopen(“d2dat“,“w+“); for(i=0;i;i+
6、)fprintf(fp,“dn“,ai); rewind(fp); for(i=O;i6;i+)fscanf(fp,“d“,&a5i); fclose(fp); for(i=0;i6;i+)printf(“d“,ai); (分数:2.00)A.1,2,3,4,5,6B.6,5,4,3,2,1,C.4,5,6,1,2,3,D.1,2,3,3,2,1,14.执行以下程序后,testtxt 文件的内容是(若文件能正常打开) #includestdioh main() FILE*fb; char*s1=“Fortran“,*s2=“Basic“; if(fb=fopen(“testtxt“,“wb“)
7、=NULL) printf(“Cant open testtxt filen“);exit(1); fwrite(s1,7,1,fb); *把从地址 s1 开始的 7 个字符写到 fb 所指文件中* fseek(fb,0L,SEEK SET); *文件位置指针移到文件开头* fwrite(s2,5,1,fb); fclose(fb); (分数:2.00)A.BasicanB.BasicFortranC.BasicD.FortranBasic15.读取二进制文件的函数调用形式为: fread(buffer,size,count,fp);其中 buffer 代表的是(分数:2.00)A.一个整型变
8、量,代表待读取的数据的字节数B.一个内存块的首地址,代表读入数据存放的地址C.一个文件指针,指向待读取的文件D.一个内存块的字节数16.有下列程序: #includestdioh main() FILE*fp;int a10=1,2,3),i,n; fp=fopen(“d1dat“,“w“); for(i=0;i3;i+)fprintf(fp,“d“,ai); fprintf(fp,“n“);fclose(fp); fp=open(“d1dat“,“r“); fscanf(fp,“d“,&n); fclose(fp); printf(“dn“,n); 程序的运行结果是(分数:2.00)A.12
9、300B.123C.1D.32117.以下叙述中错误的是(分数:2.00)A.gets 函数用于从终端读入字符串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件18.有以下程序 #includestdioh main() FILE*pf; char*s1=“China“,*s2=“Beijing“; pf=fopen(“abcdat“,“wb+“); fwrite(s2,7,1,pf); rewind(pf); *文件位置指针回到文件开头* fwrite(s1,5,1,pf); fclose(pf);
10、以上程序执行后 abcdat 文件的内容是(分数:2.00)A.ChinangB.ChinaC.ChinaBeijingD.BeijingChina19.有下列程序: #includestdioh main() FILE*fp;int k,n,a6=1,2,3,4,5,6; fp=fopen(“d2dat“,“W“); fprintf(fp,“dddn“,a0,a1,a2); fprintf(fp,“dddn“,a3,a4,a5); fclose(fp); fp=fopen(“d2dat“,“r“); fscanf(fp,“dd“,&k,&n);printf(“ddn“,k,n); fclos
11、e(fp); 程序运行后的输出结果是(分数:2.00)A.1 4B.123 456C.123 4D.1 220.有下列程序: #includestdioh main() FILE*fp;int a10=1,2,3,0,0,i; fp=fopen(“d2dat“,“wb“); fwtite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen(“d2dat“,“rb“); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i10;i+)printf(“d“,ai);
12、 程序的运行结果是(分数:2.00)A.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)的返回值为(分数:2.00)A.0B.0C.NULLD.非 0 值22.有以下程序 #includestdioh main() FILE*fp;char str10; fp=fopen(“myfiledat“,“w“); fputs(“abc“,fp);fclose(fp); fp=fopen
13、(“myfiledat“,“a+“);fprintf(fp,“d“,28); rewind(fp); fscanf(fp,“s“,str);puts(str); fclose(fp); 程序运行后的输出结果是(分数:2.00)A.28cB.abc28C.abcD.因类型不一致而出错23.以下程序依次把从终端输入的字符存放到 f 文件中,用#作为结束输入的标志,则在横线处应填入的选项是 #includestdioh main() FILE*fp; char ch; fp=fopen(“fname“,“w“); while(ch=getchar()!=#) fputc(_); fclose(fp)
14、; (分数:2.00)A.fp,chB.chC.ch,“fname“D.ch,fp24.以下程序用来统计文件中字符的个数(函数 feof 用以检查文件是否结束,结束时返回非零) #includestdioh main()FILE*fp; long num=0; fp=fopen(“fnamedat“,“r“); while(_) fgetc(fp);num+; printf(“num=dn“,num); fclose(fp): 下面选项中,填入横线处不能得到正确结果的是(分数:2.00)A.feof(fp)B.feof(fp)=NULLC.!feof(fp)D.feof(fp)=025.下面关
15、于“EOF”的叙述,正确的是(分数:2.00)A.EOF 的值等于 0B.文本文件和二进制文件都可以用 EOF 作为文件结束标志C.EOF 是在库函数文件中定义的符号常量D.对于文本文件,fgetc 函数读入最后一个字符时,返回值是 EOF26.若 fp 已定义为指向某文件的指针,且没有读到该文件的末尾,则 C 语言函数 feof(fp)的函数返回值是(分数:2.00)A.0B.非 0C.1D.EOF国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 8 答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.若有以下程序 main()
16、int c; c=105: printf(“dn“,c); 则程序的输出结果是(分数:2.00)A.15 B.10000C.5D.105解析:解析:按位异或()的运算规则是:参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为 0;若数不同,该位的结果为 1。整数 10 和 5 的二进制编码分别为 1010 和 0101,异或结果为 1111,其上进制数据位 15。2.若有以下程序 main()int c; c=1315; printf(“dn“,c); 则程序的输出结果是(分数:2.00)A.15B.18C.13 D.5解析:解析:按位或()的运算规则是:参加运算的两个运算数中
17、,只要两个相应的二进制位中一个为1,则该位的运算结果即为 1;只有当两个相应位的数都为 0 时,该位的运算结果才为 0。13 的二进制位1101,5 的二进制位 0101,或运算的结果为 1101,因此值为 13。3.有以下程序 main()int i=0; i=i: printf(“dn“,i); 程序运行后的输出结果是(分数:2.00)A.0B.1C.8D.一 1 解析:解析:运算符()是位运算符中唯一的一个单目运算符,运算对象应置于运算符的右边,其运算功能是把运算对象的内容按位取反(使每一位上的 0 变 1,1 变 0)。i 的初值为 0,二进制位 00000000,因此取反后结果为 1
18、1111111,最高位为符号位,为1 的补码形式,因此输出结果为1。4.有以下程序 main()int i=1: i=ii; printf(“dn“,i); 程序运行后的输出结果是(分数:2.00)A.一 1B.0 C.1D.7解析:解析:按位异或()的运算规则是:参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为 0;若数不同,该位的结果为 1。本题中表达式 ii 的值必为 0,因为 i 的各个位置的二进制值相同。5.下面关于位运算符的叙述,正确的是(分数:2.00)A.#表示“按位异或”的运算B.表示“按位或”的运算C.表示“按位异或”的运算D.&表示“按位与”的运算 解析
19、:解析:C 语言提供了 6 种位运算符,各种位运算符的含义见下表:6.以下叙述中正确的是(分数:2.00)A.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖B.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据C.C 语言中的文件是流式文件,因此只能顺序存取数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 解析:解析:在 C 语言中,有两种对文件的存取方式;顺序存取和直接存取:如果以“a”的方式对一个已打开的文件进行与操作后,则原有文件中内容将保存,新的数据写在原有内容之后。如果以“a+”的方式为读和写而打开一
20、个文件,则既可以对文件进行读,也可以对文件进行写,而且在读和写操作之间不必关闭文件,可以从头开始读。当对文件的读(写)操作完成之后,必颈将它关闭。7.下列关于 C 语言文件的叙述中正确的是(分数:2.00)A.文件由结构序列组成,可以构成二进制文件或文本文件B.文件由一系列数据依次排列组成,只能构成二进制文件C.文件由数据序列组成,可以构成二进制文件或文本文件 D.文件由字符序列组成,其类型只能是文本文件解析:解析:在 C 语言中,对输入、输出的数据都按“数据流”的形式进行处理。数据可以按文本形式或二进制形式存放在介质上,因此文件可以按数据的仔放形式分为文本文件和二进制文件。8.下面选项中关于
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 结构 共用 运算 文件 操作 模拟 试卷 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-1332367.html