从文件fp中读取长度为n的字符串存入指针string指向的内存
从文件fp中读取长度为n-1的字符串存入指针string指向的内存
从文件fp中读取n个字符串存入指针string指向的内存
从文件fp中读取长度不超过长度为n-1的字符串存入指针string指向的内存
第1题:
阅读以下函数说明和C语言函数,将应填入(n)处的语句写在对应栏内。
【函数1.1说明】
本程序可以打印出如下图形(菱形):
*
***
*****
*******
*****
***
*
【函数2.1】
main()
{
int i,j,k;
for(i=0;i<=3;i++)
{
for(j=0;j<=2-i;j++)
printf(" ");
for((1))
printf("*");
printf("\n");
}
for(i=0;i<=2;i++)
{
for((2))
printf(" ");
for(k=0;k<=4-2*i;k++)
printf("*");
printf("\n");
}
}
【函数2.2说明】
通过本程序,可以从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“CsaiWgm”中保存,输入的字符串以“!”结束。
【函数2.2】
include "stdio.h"
main()
{
FILE *fp;
char str[100],filename[10];
int i=0;
if((fp=fopen("CsaiWgm","w"))==NULL)
{
printf("cannot open the file\n");
exit(0);
}
printf("please input a string:\n");
gets(str);
while((3))
{
if(str[i]>='a'&&str[i]<='z')
str[i]=(4);
fputc(str[i],fp);
(5);
}
fclose(fp);
fp=fopen("CsaiWgm","r");
fgets(str,stden(str)+1,fp);
printf("%s\n",str);
fclose(fp);
}
第2题:
标准库函数fgets(s,n,f)的功能是( )
A.从文件f中读取长度为n的字符串存入指针s所指的内存
B.从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C.从文件f中读取n个字符串存入指针s所指的内存
D.从文件f中读取长度为n-1的字符串存入指针s所指的内存
第3题:
●试题八
阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。
【程序】
#include<stdio.h>
main()
{FILE*fp;
charstr[100];inti=0;
if((fp=fopen("text.txt" (1) ))==NULL)
{printf("can't open this file.\n");exit(0);}
printf("input astring:\n");gest(str);
while(str[i])
{if(str[i]>=′a′ && str[i]<=′z′)
str[i]= (2) ;
fputc(str[i], (3) );
i++;
}
fclose(fp);
fp=fopen("test.txt", (4) );
fgets(str,100,fp);
printf("%s\n",str);
(5) ;
}
●试题八
【答案】(1)W
(2)str[i]-′a′+′A′
(3)fp
(4)r
(5)fclose(fp)
【解析】程序运行后,首先打开文件test.txt用于写入,因此(1)空填w。
程序从键盘读入字符串到变量str中,对str中每个字符,如是小写字母,则将其转换成大写字母。(2)空是小写字母转换大写字母的操作。(3)空是将str中的字符写入文件text.txt中。
str中所有字符处理完后,关闭文件test.txt(对应语句是fclose(fp)),然后重新以读方式打开,因此(4)空填r,将test.txt中的内容读到str中并显示输出后,关闭文件test.txt,即(5)空填fclose(fp)。
第4题:
【程序说明】 程序功能是计算1~10的阶乘。
【程序】
SET TAIK OFF
CLEAR
N=1
DO WHILE N<11
Y=1
(1)
? STR (N,2)+“的阶乘是:”+STR (Y,8)
(2)
ENDDO
SET TAIK ON
RETURN
(3)
PARAMETERS N,Y
IF N>1
DO FP WITH N-1,Y
(4)
ENDIF
RETURN
(1)
A.DO FP WITH N-1,Y
B.DO FP WITH N,Y-1
C.DO FP WITH N,Y
D.DO FP WITH N-1,Y-1
第5题:
fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是 ( )
A.字符串读入后不会自动加入'\0'
B.fp是file类型的指针
C.fgets函数从文件中最多读入n-1个字符
D.fgets函数从文件中最多读入n个字符
第6题:
函数Rdata()实现从文件IN.dat中读取一篇英文文章存入字符串数组string中,请编写函数SortCharA(),其功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字爷串数组string中。最后调用函数Wdata(),把结果string输出到OUT.dat文件中。
例如,原文:dAe, BfC.
CcbbAA
结果:,. ABCdef
AACbbc
原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。
注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。
include <stdio.h>
include <string.h>
include <conio.h>
char string [50] [80];
int maxline = 0; /* 文章的总行数 */
int Rdata (void);
void Wdata (void);
void SortCharA(void)
{
}
void main ()
{ if (Rdata ())
{ printf("数据文件 IN. dat 不能打开! \n\007");
return;
}
SortCharA ();
Wdata ( );
}
int Rdata (void)
{ FILE *fp;
int i = 0;
char *p;
if ((fp = fopen("IN. dat", "r")) == NULL)
return 1;
while (fgets(string[i], 80, fp) != NULL)
{ p = strchr(string[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", string[i]);
fprintf(fp, "%s\n", string[i]);
}
fclose (fp);
}
第7题:
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下程序的功能是:从键盘上输入一个字符串,把该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。
【程序】
include < stdio. h >
main( )
{ FILE * fp;
char str[100]; int i=0;
if((fp=fopen("text.txt"(1))) ==NULL)
{ printf("can't open this file. \n") ;exit(0) ;}
printf(" input astring: \n" ); gest(str);
while( str[i] )
{ if(str[i] >='a' && str[i] <='z')
str[i]=(2);
fputc(str[i],(3));
i++;
}
fclose(fp);
fp=fopen(" test.txt",(4));
fgets(str, 100, fp);
printf("%s\n" ,str);
(5);
}
第8题:
给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),并写入文件myfile4.txt中,用-1作为字符串输入结束的标志,然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
include<stdio.h>
include<string.h>
include<stdlib.h>
void WriteText(FILE *);
void ReadText(FILE *);
main()
{
FILE *fp;
if((fp=fopen("myfile4.txt", "W"))==NULL)
{
printf("open fail !!\n"); exit(0);
}
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt", "r"))==NULL)
printf("open fail !!1\n"); exit(0);
}
ReadText(fp);
fclose(fp);
}
/*********found*********/
void WriteText(FILE (1) )
{
char str[81];
printf("\nEnter string with -1 to end :\n");
gets(str);
while(strcmp(Str, "-1")!=0){
/**********found*********/
fputs( (2) , fw);
fputs("\n", fw);
gets(str);
}
}
void ReadText(FILE *fr)
{
char str[81];
printf("\nRead file and output to screen :\n");
fgets(str, 81, fr);
while( !feof(fr)){
/**********found**********/
printf("%s", (3) );
fgets(str, 81, fr);
}
}
第9题:
若fp是指向某文件的指针,已读到此文件末尾,则库函数feof(fp)的返回值是______。
A.EOF
B.0
C.非零值
D.NULL
第10题:
标准库函数fgets(s,n,file)的功能是( )。
A.从文件file中读取长度为n的字符串存入字符数组s中
B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组s中
C.从文件file中读取n个字符串存入字符数组s中
D.从文件file中读取长度为n-1个字符的字符串存入字符数组s中