1、国家二级( C语言)章节练习试卷 18 及答案与解析 1 fread(buf, 32,2,fp)的功能是 _。 ( A)从 fp文件流中读出整数 32,存放在 buf中 ( B)从 fp文件流中读出 32个字节的字符,存放在 buf中 ( C)从 fp文件流中读出整数 32和 2,存放在 buf中 ( D)从 fp文件流中读出 2块 32个字节的字符,存放在 buf中 2 以下与函数 fseek(fp,OL,SEEK_SET)有相同作用的是 _。 ( A) feof(fp) ( B) ftell(fp) ( C) fgetc(fp) ( D) rewind(fp) 3 有以下程序 #inclu
2、de void WriteStr(char*fn,char*str) FILE*fp; fp=fopen(fn,“w“); fputs (str,fp); fclose(fp); main() WriteStr(“t1.dat“,“start“); WriteStr(“t1 dat“,“end“); 程序运行后,文件 t1.dat中的内容是_。 ( A) start ( B) end ( C) startend ( D) endrt 4 有以下程序 #include stdio.h main() FILE *fp1; fp1=fopen(“f1.txt“,“w“); fprintf(fp1,
3、“abc“); fclose(fp1); 若文本文件f1.txt中原有内容为: good,则运行以上程序后,文件 n.txt中的内容为 _。 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 5 给定的程序中, fun函数的功能是:将 M行 N列的矩阵中的数据,按行的顺序依次放在一维数组中, 一维数组中的元素的个数存放在形参 n所指的存储单元中。 请在程序的下划线处填写正确的内容,使程序得到正确的结果。 void fun(int(*S)10,int*b,int*n,int mm,int nn) int i,j; for(i=0; i mm; s+, i+
4、) for(j=0;j (1); j+) (2); (3) main() int w1010=11,12,13,14, 21,22,23,24, 31,32,33,34, i,j; int a100=0, n=0: printf(“The matrix:n“); for(i=0; i 3; i+) for(j=0;j 4;j+) printf(“%3d“, wij); printf(“n“); fun(w, a, n“); for(i=0; i n; i+) printf(“%3d”, ai; printf(“nn“); NONO();严本函数与考生答题无关,考生不得改动,否则后果自负。 */
5、 6 给定的程序中, fun函数的功能是:将 s所指字符串中除了下标为偶数,同时ASCH值为偶数的字符除外,其余的全部删除;串中剩余字符所形成的一个新串放在 t所指的数组中。如:若 s所指字符串中的内容为: ”desktop12345“, t所指字符串中的内容为: “dtp24“。 请在程序的下划线处填写正确的内容,使 程序得到正确的结果。 #inClUde conio.h #include stdio.h #include string.h void fun (Char *s, char t) int i,j; for(i=0,j=0; (1); i+) if(i%2=0j nn;j+) *(b+i*nn+j)=(*s)j; *n=mm*nn; 6 【正确答案】 void fun(char *s, char t) int i,j; for(i=0,j=0; si; i+) if(i%2=0&si%2=0)tj+=si; tj=0; 7 【正确答案】 void fun(int a, int b, long *c) *c=a/10*1000+a%10*10+b/10+b%10*100; 8 【正确答案】 aki, *sum , x, &s