若调用fopen函数打开文件发生错误,则函数返回值为()。
A.0
B.某一地址值
C.1
D.EOF
A.0
B.某一地址值
C.1
D.EOF
第1题
A、正常返回被打开文件的文件指针, 若执行fopen函数时发生错误则函数的返回NULL;
B、以缓冲区方式打开一个文件;
C、若找不到由fname指定的相应文件,则按指定的名字建立一个新文件;
D、调用操作系统提供的打开或建立新文件功能;
第2题
A、FILE *fp;表示定义一个文件指针fp
B、if语句表示调用fopen函数以只读的形式打开D盘根目录下的文件test.txt
C、fopen函数打开文件失败后的返回值为NULL
D、通过调用fopen函数,使文件指针fp指向文件test.txt在内存中的缓冲区
第3题
本程序中,函数fun的功能是判断字符串是否是回文,若是回文,则返回1,主函数中输出YES;否则,函数返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而123312就不是回文。请在函数fun的花括号中填入你编写的若干语句。(注意:不改动程序的结构,不得增行或删行。)
#include <stdio.h>
#define N 80
int fun ( char *str)
{
}
main()
{ char s[N];
printf(“Enter a string : ”) ;
gets (s) ;
printf(“\n\n”) ;
puts (s) ;
if (fun (s))
printf (“YES\n”) ;
else
printf (“N0\n”) ;
nono ();
}
nono ()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件.*/
int i;
FILE *rf, *wf ;
char s[N] ;
rf = fopen (“bc.in”,“r”) ;
wf = fopen (“bc.out”,“w”) ;
for ( i=0; i<10; i++ )
{ fscanf (rf, “%s”,s ) ;
if (fun ( s ))
fprintf (wf, “%s YES\n”, s ) ;
Else
fprintf(wf, “%s NO\n”, s ) ;
}
fclose (rf) ;
fclose (wf) ;
}
第4题
函数ReadWrite()实现从文件in.dat中读取两个字符串并调用函数findStr(),最后把结果输出到文件out.dat中。
注意:部分程序已经给出。
请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。
include <stdio.h>
include <string.h>
include <conio.h>
int findStr(char *str,char *substr)
{
}
main()
{
char str[81],substr[3];
int n;
clrscr();
printf("输入原字符串");
gets(str) ;
printf("输入子字符串:");
gets(substr);
puts(str);
puts(substr);
n=findStr(str, substr);
printf("n=%d\n", n);
ReadWrite();
}
ReadWrite()
{
char str[81],substr[3],ch;
int n, len,i=0;
FILE *rf, *wf;
rf=fopen("in.dat", "r");
wf=fopen("out.dat", "w");
while(i<25)
{
fgets(str, 80, rf);
fgets(substr, 10, rf);
len=strlen(substr)-1;
ch=substr[len];
if(ch=='\n' || ch==0xla)substr[len]=0;
n=findStr(str, substr);
fprintf(wf, "%dkn", n);
i++;
}
fclose(rf);
fclose(wf);
}
第5题
函数ReadWrite()的功能是实现从文件in40.dat中读取两个字符串,并调用函数findstr(),最后把结果输出到文件out40.dat中。
注意:部分源程序已给出。
请勿改动主函数main()和其他函数中的任何内容,仅在函数findStr()的花括号中填入你所编写的若干语句。
include<stdio.h>
include<string.h>
include<conio.h>
int findStr(char *str,char *substr)
{
main ( )
{
char str[81],substr[3];
int n;
clrscr();
printf("输入原字符串: ");
gets(str);
printf ("输入子字符串: ");
gets(substr);
puts(str);
puts(substr);
n=findStr(str,substr);
printf("n=%dkn",n);
ReadWrite();
}
ReadWrite()
{
char ch, str[81],substr[3];
int n,len, i=0;
FILE *rf,*wf;
rf=fopen("in40.dat","r");
wf=fopen("out40.dat","w");
while(i<5)
{
fgets(str,80,rf);
fgets(substr,10,rf);
len=strlen(substr)-1;
ch=substr[len];
if(ch=='\n'||ch==Oxla)
substr[len]=0;
n=findStr(str,substr);
fprintf(wf,"%dln",n);
i++;
}
fclose(rf);
fclose(wf);
}
第6题
F(0)=0, F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat(),把结果输出到文件OUT10.DAT中。
例如:当t=1000时,函数值为1597。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
试题程序:
include<stdio.h>
int jsValue(int t)
{
}
main()
{
int n;
n=1000;
printf("n=%d, f=%d\n", n,jsValue(n));
writeDat();
}
writeDat()
{
FILE *in, *out;
int n,s;
ut = fopen("OUT10.DAT", "w");
s = jsValue(1000); printf("%d",s);
fprintf(out, "%d\n", s);
fclose(out);
}
第7题
F(0)=0, F(1)=1 ’
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat(),把结果输出到文件OUT10.DAT中。
例如:当t=1000时,函数值为1597。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
试题程序:
include
int jsValue(int t)
{
}
main ( )
{
int n;
n=1000;
printf("n=%d, f=%d\n", n, jsValue(n));
writeDat();
}
writeDat()
{
FILE *in, *out;
int n,s;
out = fopen("OUT10.DAT", "w");
s = jsValue(1000); printf("%d",s);
fprintf(out, "%d\n", s);
fclose(out);
}
第8题
第9题
H(1)=H(2)=1
H(n)=H(n-H(n-1))+H(n-H(n-2))(n>2)
最后调用函数writeDat()读取50个数据m,分别得出结果且把结果输出到文件out.dat中。
例如:当t=997时,函数值为605。
部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
include<stdio. h>
int jsValue(int m)
{
main ( )
{
int m;
m=300;
printf ("m=%d, k-%d\n", m, jsValue (m));
writeDat ( );
writeDat ( )
{
FILE *in, *out;
int i,m,s;
in= fopen ( "in. dar" , "r" );
ut=f open ( "out. dar" , "w" );
for (i=0; i<50; i++) {
fscanf (in, "%d", &m);
s=jsValue (m);
printf( "%d\n", s );
fprintf (out, "%d\n" , s );
}
fclose (in);
fclose (out);
第10题
部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
include<stdio.h>
include<string.h>
include<conio.h>
typedef struct{
int x1,x2,x3;
}data;
int aa[200];
data bb[200];
int jsSort()
{
}
void main ()
{
int count;
readDat();
count=jsSort (); /*返回满足条件的个数*/
writeDat(count);
}
readDat(int count)
{
FILE *in;
int i;
in=fopen("in.dat","r");
for(i=0; i<200; i++)
fscanf(in,"%d",&aa[i]);
fclose(in);
}
WriteDat(int count)
{
FILE *out;
int i;
clrscr();
ut=fopen("out.dat","w");
for(i=0; i<count; i++){
fprintf(out,"%d,%d,%d\n",bb[i].x1,bb[i].x2,bb[i].x3);
}
fclose(out);
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!