1、国家二级( C语言)章节练习试卷 19 及答案与解析 1 下列关于 C语言数据文件的叙述中正确的是 _。 ( A)文件由 ASCII码字符序列组成, C语言只能读写文本文件 ( B)文件由二进制数据序列组成, C语言只能读写二进制文件 ( C)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 ( D)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 2 若以 “w+”方式打开一个已存在的文件,则以下叙述正确的是 _。 ( A)文件打开时,原文件内容不被删除,位置指针移到 文件末尾,可作添加和读操作 ( B)文件打开时,原有文件内容被删除,位置指针移到文件开头,可作
2、写和读操作 ( C)文件打开时,原有文件内容被删除,只可作写操作 ( D)以上各种说法皆不正确 3 下面的程序执行后,文件 test.txt中的内容是 _。 #include stdio.h void fun(char *fname,char *st) FILE*myf;int i; myf=fopen(“test.txt“,“w“); for(i=0; i strlen(st); i+) fputc(sti, myf); fclose(myf); main() fun(“test“,“new one“); fun(“test“,“hello,“); ( A) hello, ( B) new
3、onehello, ( C) new one ( D) hello, ne 4 函数调用语句: fseek(fp,-20L,1);的含义是 _。 ( A)将文件位置指针移到距离文件头 20个字节处 ( B)将文件位置指针从当前位置退后 20个字节 ( C)将文件位置指针从文件末尾处退后 20个字节 ( D) 将文件位置指针移到离当前位置 20个字节处 5 有以下程序 #include stdio.h main() FILE*fp; int i,k=0,n=0; fp=fopen(“d1.dat“,“w“); for(i=1; 1 4; i+) fprintf(fp, “%d“, i); fcl
4、ose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp, “%d%d“, &k, &n); printf(“%d%dn“,k,n); fclose(fp); 执行后输出结果是 _。 ( A) 1 2 ( B) 123 0 ( C) 1 2 3 ( D) 1 23 6 以下程序的输出结果是 _。 main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(“%d, %dn“, a, b); 7 以下程序运行后的输出结果是 _。 main() int a, b, c; a=25; b=025; c=ox25; pfintf(“%d
5、 %d %dn“, a, b, c); 8 有以下程序 main() char a, b, C, d; scanf(“%c, %c, %d, %d”, &a, &b, &c, &d); printf(“%c, %c, %c, %cn “a, b, c, d); 若运行时从键盘上输入: 6,5,65,66回车。则输出结果是 _。 9 若想通过以下输入语句使 a=5.0, b=4, c=3,则输入数据的形式应该是 _。 int b, C; float a: scanf(“%f, %d, c=%d”, &a, &b, &c); 10 下面程序的功能是:将一个 5行 5列矩阵 (用二维数组表示 )主次两条对角线上的元素依次赋值为 1, 2, 3, 4, 5和 5, 4, 3, 2, 1。空白处应填的是 _。 main() int (a55, i; for(i=0; i =4; i+) _; _; 国家二级( C语言)章节练习试卷 19 答案与解析 1 【正确答案】 C 2 【正确答案】 B 3 【正确答案】 A 4 【正确答案】 B 5 【正确答案】 A 6 【正确答案】 2, 1 7 【正确答案】 25 21 37 8 【正确答案】 6, 5, A, B 9 【正确答案】 5, 4, c=3 或 5.0, 4, c=3 10 【正确答案】 aii=i+1, ai4-i=5-i