fopen函数的作用是:()
A.将文件的内容读入内存
B.读出文件的大小
C.建立与文件关联的FILE结构体变量并返回该结构体变量的地址
D.向文件写数据
A.将文件的内容读入内存
B.读出文件的大小
C.建立与文件关联的FILE结构体变量并返回该结构体变量的地址
D.向文件写数据
第1题
A、正常返回被打开文件的文件指针, 若执行fopen函数时发生错误则函数的返回NULL;
B、以缓冲区方式打开一个文件;
C、若找不到由fname指定的相应文件,则按指定的名字建立一个新文件;
D、调用操作系统提供的打开或建立新文件功能;
第2题
A、打开test.txt文件,覆盖原有的内容
B、打开test.txt文件,可以读取和写入新的内容
C、打开test.txt文件,只能写入数据,但不能读取数据
D、打开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题
例如,文佃的内容为“I’m ten.”,文件A的内容为“I’ m a student!”,追加之后文件A的内容为“I’m a student !I’m ten.”
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数main 的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio, h>
include<conio. h>
define N 80
main()
{
FILE *fp, * fp1, *fp2;
int i;
char c[N] ,t, ch;
clrscr ();
if ((fp=fopen ("A. dat ", "r") ) == NULL)
{
printf ("file A cannot be opened\n");
exit (0);
}
printf("\n A contents are : \n\n");
for (i=0; (ch=fgetc (fp)) !=EOF; i++)
{
C [i]=ch;
putchar (c [i]);
fclose (fp);
if((fp=fopen ("B. dat", "r") )==NULL)
{
printf ("file B cannot be opened\n");
exit (0);
}
printf("\n\n\nB contents are : \n\n");
for (i=0; (ch=fgetc (fp)) !=EOF; i++)
{
c [i] =ch;
putchar (c [i]);
}
fclose (fp);
if ( (fp1=fopen ("A.dat" ,"a"))【 】(fp2
=fopen ("B. dat", "r") ) )
{
while ( (ch=fgetc (fp2)) !=EOF)
【 】;
}
else
{
printf("Can not open A B !\n");
}
fclose (fp2);
fclose (fp1);
printf ("\n***new A contents***\n\n");
if ( ( fp=fopen ("A. dar", "r") )==NULL)
{
printf ("file A cannot be opened\n");
exit (0);
}
for (i=0; (ch=fgetc (fp)) !=EOF;i++)
{
c [i] =ch;
putchar (c [i] );
}
【 】;
}
第5题
第6题
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仪在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
include<stdio. h>
include<conio. h>
include<stdlib. h>
typedef struct ss
{
int data;
struct ss *next;
} NODE;
void fun(int n,char*filename)
{
NODE *h,*p, *s;
FILE *pf;
int i;
h=p= (NODE *) malloc (sizeof (NODE));
h->data=0;
for (i=1; i {
s=(NODE *)malloc (sizeof (NODE));
s->data=【 】;
【 】;
p=【 】
}
p->next=NULL;
if ( (pf=fopen (filename, "w") ) ==NULL)
{
printf {"Can not open out9B.clat! ");
exit (0);
}
p=h;
fprintf (pf, "\n***THE LIST***\n");
print f ("\n***THE LIST***\n")
while (p)
{
fprintf (pf, "%3d", p->data)
printf ("%3d",p->data);
if (p->next ! =NULL)
{
fprintf (pf, "->");
printf ("->");
}
p=p->next;
}
fprintf (pf, "\n");
printf ("\n");
fclose (pf);
p=h;
while (p)
{
s=p;
p=p->next;
free (s);
}
}
main()
{
char * filename="out98. dat";
int n;
clrscr ();
printf (" \nInput n: ");
scanf ("%d", &n);
fun (n, filename);
}
第7题
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);
}
第8题
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat(),把结果输出到文件OUTl0.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(1O00); printf("% d",s);
fprintf(out, "%d\n", s);
fclose (out);
}
第9题
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。
试题程序:
include "stdio. h"
include "conio.h"
define N 80
main ()
{
FILE *fp;
int i=0;
char ch;
char str[N]="I'm a student!";
clrscr();
if ( (fp=fopen (【 】) ) ==NULL)
{
printf("cannot open out99. dat\n");
exit(0);
}
while (str[i])
{
ch=str[i];
【 】;
putchar(ch);
i++;
}
【 】;
}
第10题
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!