C语言程序设计题目及解答14
一、判断题?(10分)
1. 在使用缓冲文件系统时,程序中的数据都先送于是到缓冲区。2分
2. C语言只能处理文本文件。2分
3. C语言把文件看作是一个字符的序列。2分
4. fopen("file1","r")方式打开的文件可进行修改。2分
5. 在d:盘根目录下建一个新的tx1.txt 文本文件,其打开方式应为p=fopen("d:\tx1.txt","a");2分
二、选择题?(6分)
1.有以下程序:
#include
int 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);
return 0;}
程序运行后的输出结果是( )。???[A] 2分
A. 20 30?????B. 20 50?????C. 30 50?????D. 30 20
2.【程序说明】输入正整数m和n,将大于整数m且紧靠m的n个素数存入到新建文件sushu.txt中。空(1)、(2)处应填什么:???[C] 2分
#include
#include
int f(int x)
{ int k;
for(k=2;k
if(x%k==0) return 0;
return 1;
}
void main()
{ int m,n,count;
FILE *fp;
if(__(1)__) {
printf("不能打开文件--> sushu.txt\n" );
exit(0);
}
printf("输入m n:\n");
scanf("%d%d",&m,&n);
for(count=0;count
if(f(m)==1){
___(2)___; count++;
}
fclose (fp);
}
A. (fp=fopen("sushu.txt","w"))==NULL和fputc(m,fp)B. (fp=fopen("sushu.txt","r"))==NULL和fprintf(fp,"%d ",m)C. (fp=fopen("sushu.txt","w"))==NULL和fprintf(fp,"%d ",m)D. fp=fopen("sushu.txt","w")==NULL和printf("%d ",m)3.【程序说明】函数int fun(char *s),判断输入的字符串是否“回文”。若是回文,函数返回1,并将回文写入D:\data.dat文件中;否则函数返回0,输出”NO”。(注:字符串顺读和倒读都一样,则是回文。如:“axa”是回文,“1234”不是回文。)(1)(2)处应填入()?[D] 2分
【程序】
#include "stdio.h"
int fun( char *s )
{
char *p, *q;
int n=0;
p=s;
for(; *s!='\0' ;s++,n++);
q=p+n-1;
for(; p<=q; q--,p++ )
if (*p!=*q) break;
if ( p
else return 1 ;
}
void main()
{char s[80];
FILE *fp;
fp= __ (1)__;
gets(s);
if(fun(s)==1) __(2) __ ;
else printf("NO");
fclose(fp);
}
A. fopen("d:\\data.dat","w")和fscanf(fp,"%s",s)B. fopen("d:\\data.dat","r")和fscanf(fp,"%s",s)C. fopen("d:\\data.dat","r")和fprintf(fp,"%s\n",s)D. fopen("d:\\data.dat","w")和fprintf(fp,"%s\n",s)