题目内容 (请给出正确答案)
[判断题]

当打开文件并立即使用fgetc()读文件时,fgetc()函数从文件开始位置读取一个字符。

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“当打开文件并立即使用fgetc()读文件时,fgetc()函…”相关的问题

第1题

阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。

【说明】

本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。

程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点内容输出。

【函数】

include <stdio.h>

include <malloc.h>

include <ctype.h>

include <string.h>

define INF "text.in"

define OUTF "word.our'

typedef struct treenode {

char *word;

int count;

struct treenode *left, *right;

} BNODE;

int getword(FILE *fpt, char *word)

{ char c;

c=fgetc(tpt);

if (c==EOF)

return 0;

while(!(tolower(c)>= 'a' && tolower(c)<= 'z'))

{ c=fgetc(fpt);

if (c==EOF)

return 0;

} /* 跳过单词间的所有非字母字符 */

while(tolower(c)>= 'a' && tolower(c)<= 'z')

{ *word++=c;

c=fgetc(fpt);

}

*word='\0';

return 1;

}

void binary_tree(BNODE **t, char *word)

{ BNODE *ptr, *p; int compres;

p=NULL;

(1);

while (ptr) /* 寻找插入位置 */

{ compres=strcmp(word, ptr->word);/* 保存当前比较结果 */

if (!compres)

{ (2); return;}

else

{ p=ptr;

ptr=compres>0 ? ptr->right: ptr->left;

}

}

ptr=(BNODE *)malloc(sizeof(BNODE));

ptr->left=ptr->right=NULL;

ptr->word=(char *)malloc(strlen(word)+1);

strcpy(ptr->word, word);

(3);

if (p==NULL)

*t=ptr;

else if (compres>0)

p->right=ptr;

else

p->left=ptr;

}

void midorder(FILE *fpt, BNODE *t)

{ if (t==NULL)

return;

midorder(fpt,(4));

fprintf(fpt, "%s %d\n", t->word, t->count);

midorder(fpt, t->right);

}

void main()

{ FILE *fpt; char word[40];

BNODE *root=NULL;

if ((fpt=fopen(INF, "r"))==NULL)

{ printf("Can't open file %s\n", INF);

return;

}

while(getword(fpt, word)==1)

binary_tree((5));

fclose(fpt);

fpt=fopen(OUTF, "w");

if (fpt==NULL)

{ printf("Can't open fife %s\n", OUTF);

return;

}

midorder(fpt, root);

fclose(fpt);

}

点击查看答案

第2题

在使用fopen函数打开文件时,文件位置指针总是指向文件的开头。
点击查看答案

第3题

函数ReadDat()的功能是实现从文件IN39.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ChA(),该函数的功能是:以行为单位把字符串的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的字符,第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的字符,以此类推一直处理到倒数第二个字符,最后一个字符的ASCII值加第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后仍按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT39.DAT中。

注意:部分源程序已给出。

原始文件存放的格式是:每行的宽度小于80个字符,含标点符号和空格。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<stdio.h>

include<string.h>

include<conio.h>

char xx[50] [80];

int maxline=0;

int ReadDat ();

void WriteDat();

void ChA(void)

{

}

void main()

{

clrscr ( );

if (ReadDat ())

{

printf ("数据文件IN39.DAT不能打开! \n\007");

return;

}

ChA( );

WriteDat ();

}

int ReadDat (void)

{

FILE *fp;

int i=0;

char *p;

if ((fp=fopen ( "IN39.DAT ", "r"))==NULL)

return 1;

while(fgets (xx [i], 80, fp)!=NULL)

{

p=strchr(xx[i], '\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

void WriteDat()

{

FILE *fp;

int i;

clrscr ();

fp=fopen ("OUT39.DAT", "w");

for (i=0; i<maxline; i++)

{

printf ("%s\n", xx [i] );

fprintf (fp, "%s\n", xx [i] );

}

fclose (fp);

}

点击查看答案

第4题

函数ReadDat()实现从文件eng.in中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps10.dat中。

替代关系:f(p)=p*43 mod 256(p是数组中某一个字符的ASCII值,fO)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后fb)值小于等于32,则该字符不变,否则将qp)所对应的字符进行替代。

部分源程序己给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

include<stdio.h>

include<string.h>

include<conio.h>

include<ctype.h>

unsigned char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReadDat(void)

void WriteDat(void)

void encryptChar()

{

}

void main()

{

clrscr();

if(ReadDat()){

printf ("数据文件 ENG. IN 不能打开! \n\007");

return;

}

encryptChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

if((fp=fopen("eng.in","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL){

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp-fopen("ps10.dat","w");

for(i=0;i<maxline;i++){

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案

第5题

函数RData()实现从文件IN.dat中读取一篇英文文章,存入字符串数组str中,请编写函数encryptChar(),其功能是:按给定的替代关系对数组str中的所有字符进行替代后,仍存入数组str的对应位置上。最后调用函数WData(),把结果str输出到OUT.dat文件中。

替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将 f(p)所对应的字符进行替代。

原始数据文件存放的格式是:每行的宽度均小于80个字符。

注意:部分程序已经给出。请勿改动主函数main()、读数据函数RData()和输出数据函数 WData()的内容。

include <stdio.h>

include <string.h>

include <conio.h>

include <ctype.h>

unsigned char str[50] [80];

int maxline = 0; /* 文章的总行数 */

int RData (void);

void WData (void);

void encryptChar()

{

}

void main ()

{ if (RData())

{ printf("数据文件 IN. dst 不能打开! \n\007");

return;

}

encryptChar ();

WData ();

}

int RData (void)

{ FILE *fp;

int i = 0;

unsigned char *p;

if ((fp = fopen("IN. dat", "r")) == NULL)

return 1;

while (fgets(str[i], 80, fp) != NULL)

{ p = strchr(str[i], '\n');

if (p)

*p =0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WData(void)

{ FILE *fp;

int i;

fp = fopen("OUT. dat", "w");

for (i=0; i<maxline; i++)

{ printf ("%s\n", str[i]);

fprintf(fp, "%s\n", str[i]);

}

fclose (fp);

}

点击查看答案

第6题

函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序已给出。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<stdio.h>

include<String.h>

include<conio.h>

char xx [50] [80];

int maxline=0;/* 文章的总行数 */

int ReadDat(void);

void WriteDat(void);

void StrCharJR(void)

{

}

main()

{

Clrscr();

if(ReadDat())

{

printf("数据文件IN8.DAT不能打开!\n\007");

return;

}

StrCharJR();

WriteDat ( );

}

int ReadDat (void)

{

FILE *fp;

int i= 0;

char *p ;

if ( (fp = fopen("IN8.DAT", "r") ) = =NULL) return 1;

while(fgets(xx[i] , 80, fp) !-NULL)

{

p = strchr(xx[i], '\n') ;

if (p) *p = 0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WriteDat (void)

{

FILE *fp;

int i;

clrscr ();

fp = fopen("OUTS.DAT", "w");

for(i = 0; i < maxline; i++)

{

printf("%s\n", xx[i] );

fprintf(fp, "%s\n", xx[i] );

}

fclose(fp);

}

点击查看答案

第7题

函数ReadDat()的功能是实现从文件ENG49.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS49.DAT中。

替代关系;f(p)=p*11 mod 256 (p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出。

原始数据文件的存放格式是:每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WtiteDat()的内容。

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50] [80];

int maxline=0;

int ReadDat(void);

void writeDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

print f ( "数据文件ENG49.IN 不能打开! \n\007" );

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fP;

int i=0;

unsigned char *p;

if((fp=fopen("ENG49.IN","r"))==NULL)

return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

fp=fopen("ps49.dat","w");

for(i=0;i<maxline;i++)

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案

第8题

函数ReadDat()的功能是实现从文件ENG4.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,结果仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DAT中。

替代关系:f(p)=p*11mod256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出。

原始数据文件存放的格式是:每行的宽度均小于,80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include <stdio.h>

include <string.h>

include <conio.h>

include <ctype.h>

unsigned char xx[50][80];

int maxline = 0;/* 文章的总行数 */

int ReadDat (void);

void WriteDat(void);

void encryptChar()

{

main ( )

{

clrscr ();

if (ReadDat ())

{

printf ("数据文件ENG4.IN不能打开! \n\007");

return;

}

encryptChar ();

WriteDat ();

}

int ReadDat (void)

{

FILE *fp;

int i = 0;

unsigned char *p;

if((fp = fopen("ENG4.IN", "r")) ==NULL) return 1;

while(fgets(xx[i], 80, fp) !=NULL)

{

p = strchr(xx[i], '\n');

if (p) *p = 0;

i++;

}

maxline = i;

fclose (fp);

return 0;

}

void WriteDat(void)

{

FILE *fp;

int i;

fp = fopen("PS4.DAT", "w");

for(i = 0; i < maxline; i++)

{

printf("%s\n", xx[i]);

fprintf(fp, "%s\n", xx[i]);

}

fclose (fp);

}

点击查看答案

第9题

函数ReadDat()的功能是实现从文件ENG98.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps98.dat中。

替代关系,f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)的值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出。

原始数据文件的存放格式是每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50][80];

int maxline=0;

int ReadDat(void);

void WriteDat(void);

void encryChar()

{

}

void main(

{

clrscr();

if(ReadDat())

{

printf("数据文件ENG98. IN不能打开!\n\007");

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

if((fp=fopen("ENG98.IN","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

fp= fopen("ps98.dat","w");

for(i=0;i<maxline;i++)

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

点击查看答案

第10题

函数ReadDat()的功能是实现从文件ENG96.IN中读取一篇英文文章,存入到字符串数组xx中。请编制函数encryChar(),按给定的替代关系对数组xx中所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件ps96.dat中。

替代关系:f(p)=p*11 mod 256(p是数组xx中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)的值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

注意:部分源程序已给出,原始数据文件的存放格式是每行的宽度均小于80个字符。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

试题程序:

include<conio.h>

include<stdio.h>

include<string.h>

include<ctype.h>

unsigned char xx[50][80];

int maxline=0;

int ReadDat(void);

void WriteDat(void);

void encryChar()

{

}

void main()

{

clrscr();

if(ReadDat())

{

printf("数据文件ENG96.IN不能打开!\n\007");

return;

}

encryChar();

WriteDat();

}

int ReadDat(void)

{

FILE *fp;

int i=0;

unsigned char *p;

if((fp=fopen("ENG96.IN","r"))==NULL) return 1;

while(fgets(xx[i],80,fp)!=NULL)

{

p=strchr(xx[i],'\n');

if(p) *p=0;

i++;

}

maxline=i;

fclose(fp);

return 0;

}

void WriteDat()

{

FILE *fp;

int i;

fp= fopen("ps96.dat","w");

for(i=0;i<maxline;i++)

{

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp)

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信