假定in为ifstream类的对象,用in打开一个文件后,下面的代码用于读取文件内容: while(in) //读取文件内容 { char c=in.get(); if(in) cout<<c; } 请问上面程序段划线的语句中使用if判别语句的原因是:
A.确保循环能终止
B.是输入流操作中的语法要求
C.确保不重复输出最后读取的数据
D.if判别是多余的,可以不用
第1题:
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制c++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myDoc中。然后将myDoc中的字符序列反转,并输出到文件out.dat中。文件in.dat的长度不大于1000字节。 要求: 补充编制的内容写在“//**********”与“//**********”两行之间。实现将myDoc中的字符序列反转,并将反转后的序列在屏幕上输出。不得修改程序的其他部分。 注意:程序最后已将结果输出到文件0ut.dat中,输出函数writeToFile已经给出并且调用。 //proj3.cpp include<iostream> include<fstream> include<catting> using namespace std;
class doc { private: char*sir;//文本字符串首地址 int length;//文本字符个数 public: //构造函数,读取文件内容,用于初始化新对象,filename是文件名字符串首地址 doc(char*filename); void reverse;//将字符序列反转 一doc; void writeToFile(char*filename); }; doc::doc(char}filename) { ifstream myFile(filename); int len=1001,tmp; atr=new char[1en]; length=0; while((trap=myFile.get)!=EOF) { str[1ength++]=trap; } str[1ength]=‘\0’; myFile.close; } void doc::reverse{ //将数组atr中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个 //字符交换…… //*************333*************
//*************666*************
} doc::~doe { delete[]str; } void doc::writeToFile(char*filename) { Ofstream outFile(filename); outFile<<str; outFile.close; } void main { doc myDoc(”in.dat”); myDoc.reveme; myDoc.writeToFile(”out.dat”); }
int j,J;//定义两个整数l临时变量i.j.
for(i=0,j=length一1;i<j;i++,j-)
chartemp=str[i];
//把str[i]中的值保存在临时变量temp
str[i]=str[j];
//把Str[j]值赋给Str[i],实现字符前后替换
str[j]=temp;
//把保存在临时变量temp中的值再赋值给Str[j]
}
【考点分析】
本题主要考查的是doc类、构造函数、成员函数和析构函数。
【解题思路】
题目要求将myDoc中的字符序列反转,在main函数中我们看到myDoc是doc类,根据doc类的定义可以知道它是把读取文件的字符串存到str动态数组中。reverse函数实现将数组str中的length个字符中的第一个字符与最后一个字符交换,第二个字符与倒数第二个字符交换,依次类推。使用变量i和J,分别表示第一个字符和最后一个字符的下标,定义temp作为中间变量进行交换。
第2题:
下面的程序是用do-while语句计算10的阶乘。请在程序的每条横线处填写1个语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容;仅在横线处填入适当的语句。
源程序文件代码清单如下:
public class DoWhileLoop
{
public static void main(______)
{
int n=10;
long result=1;
do
{
_____;
}
_____;
System.out.println("10的阶乘为:"+result);
}
}
第3题:
请编写一个函数char*change(char instr[]),将输入字符串中的所有小写字母转换为大写字母输出。要求使用for循环实现。如输入jinfeiteng,则输出结果是JINFEITENG。
注意:部分源程序已存在文件test21_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数change的花括号中填写若干语句。
文件test21_2.cpp的内容如下:
char*change(char instr[]);
include"iostream.h"
void main()
{
char instr[50];
char *outstr;
cout<<"Input a string:"<<endl;
cin>>instr;
utstr=change(instr);
cout<<"Over graded string:"<<endl;
cout<<outstr<<endl;
}
char*change(char instr[])
{
}
第4题:
下面的程序是用do_while语句计算10的阶乘。请在程序的每条横线处填写一个语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
源程序文件代码清单如下:
public class DoWhileLoop
{
public static void main(________)
{
int n=10;
long result=1;
do
{
_______________
}
______________
System.out.println("10的阶乘为: "+result);
}
}
第5题:
以下叙述中正确的是
A.一个记录中所包含的各个元素的数据类型必须相同
B.随机文件中每个记录的长度是固定的
C.Open命令的作用是打开一个已经存在的文件
D.使用Input #语句可以从随机文件中读取数据
第6题:
关于Close语句的叙述正确的是( )。
A.执行Close语句后,所有打开的文件也会自动关闭。
B.打开文件后,必须要用Close语句关闭文件,否则当程序结束时,产生一个错误
C.执行Close语句后,程序将关闭所有窗口
D.执行Close语句后,每次只能关闭一个文件,否则要用Reset语句
第7题:
使用ifstream 流类定义一个流对象并打开一个磁盘文件与用使用 fstream流类定义一个流对象并打开一个磁盘文件默认打开方式分别为______和没有默认。
第8题:
在括号里填写适当的内容,以便读取当前目录中的文本文件“test.txt” <% Dim fso , f Set fso = Server.CreateObject() ’创建FSO对象实例 Set f = fso.()() ’打开文件并返回textStream对象 while Not f.() ’当文件指针不在文本文件末尾时执行循环 Response.Write f.()&"
" ’读取一行字符发送到浏览器 Wend f.Close %>
第9题:
下面4个叙述中,()是不正确的。
第10题:
将内存数据存放在C盘当前文件夹下名为Stud.txt的文件中
将某个磁盘文件的内容写入C盘当前文件夹下名为Stud.txt的文件中
打开C盘当前文件夹下名为Stud.txt的文件,用来读取文件内容
在C盘当前文件夹下建立名为Stud. txt的顺序文件
第11题:
For Input指顺序打开文件,只能读取文件内容。
For Output指顺序打开文件,向文件写入内容。
For Append指顺序打开文件,向文件写入内容,与For Output不同的是,它覆盖原有的内容。
For Binary指以二进制方式打开文件。
第12题:
第13题:
要打开一个文件并从中读取数据,应该使用()类的对象
A、istream
B、ostream
C、ifstream
D、ofstream
第14题:
下列程序从保存整数的文本文件”c:Sample.dat”中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。程序划线处的表达式为______。
include<stream.h>
include<stdlib.h>
void main( )
{
ifstream fin("c:Sample.dat",los::nocreate);
if(! fin)
{
cout<<"文件无法打开!"<<endl;
exit(1);
}
int x,i=0;
while(______)
{
cout<<x<<"";
i++;
}
fin.close( );
cout<<endl<<"文件中所有整数个数:"<<i<<endl;
}
第15题:
编写一个函数int charnum(char fn[10]),该函数以只读方式打开文件fn,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。
注意:部分源程序已存在文件test7_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。
文件test7_2.cpp的内容如下:
include<iostream.h>
include<fstream.h>
include<stdlib.h>
int charnum(char fn[10]);
void main()
{
int num;
num=charnum("abc.txt");
cout<<"num="<<num<<endl;
}
int charnum(char fn[10])
{
}
第16题:
下列程序完成从文件读取文件显示的同时写入第二个文件,则在程序中划线部分应该出现的语句是______。
include<iostream.h>
include(fstream.h)
void main()
{
fstream filel,file2;
charfnl[10],fn2[10],ch;
cout<<“输入源文件名”;
cin>>fnl;
cout<<“输入目标文件名”;
cin>>fn2;
filel.open(fnl,ios::i
第17题:
请编写一个函数char *fun(char *s),其中s代表一个字符串。函数fun()的功能是将字符串s的元素倒置。例如,输入为“teacher”,则应输出“rehcaet”。
注意:部分源程序已存在文件PROC10.cpp中。
请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。
文件PROC10.cpp的内容如下:
//PROC10. cpp
include <iostream>
include <string>
using namespace std;
char *fun(char *s);
int main ( )
{
char str[81];
cout<<"Please enter a string:\n";
cin>>str;
cout<<"The result is:"<<fun(str));
cout<<end1;
return 0;
}
char*fun(char*s)
{
//* * * * * * * * *
}
第18题:
当需要打开A盘上的abc.txt 文件用于输入时,则定义文件流对象的语句为______ 。
A.fstream fin(“A: abc.txt”);
B.ofstream fin (“A: abc.txt”);
C.ifstream fin(“A: abc.txt”,ios:: app);
D.ifstream fin(“A: abc.txt”,ios:: nocreate);
第19题:
当使用OpenTextFile方法打开一个文件并准备读取内容时,指针一般指向()。
第20题:
Open语句中,关键字For用于指定打开文件的方式,下列说法错误的是()。
第21题:
为应用程序开发人员上班 Certkiller.com,Certkiller.com 使用 Visual Studio.NET 2005 作为其应用程序开发平台。 您正在开发。NET Framework 2.0 数据分析中的应用。 它提供程序用于读取数据时,你有没有关于文件的内在结构的信息。 读取的文件字节--内容,并进行所需的自定义算法用于查找其格式,同时选择类 这允许您读取文件内容-字节。 你应该做什么?()
第22题:
使用FileStream类。
使用BinaryReader类。
使用StreamReader类。
使用StringReader类。
第23题:
在一个程序执行End语句后,系统自动将所有打开的文件关闭
可以使用Close语句关闭一个或几个指定的文件
使用不带语句体的Close语句可关闭所有文件
执行完一个程序段的所有语句后程序自动关闭文件
第24题:
程序运行后,文件test.txt中的原有内容将全部消失
程序运行时,会因文件存在而出错
对文件test.txt进行写操作后,可以随机进行读取
对文件test.txt写入的内容总是被添加到文件尾部