niusouti.com

假定in为ifstream类的对象,用in打开一个文件后,下面的代码用于读取文件内容: while(in) //读取文件内容 { char c=in.get(); if(in) cout<<c; } 请问上面程序段划线的语句中使用if判别语句的原因是:A.确保循环能终止B.是输入流操作中的语法要求C.确保不重复输出最后读取的数据D.if判别是多余的,可以不用

题目

假定in为ifstream类的对象,用in打开一个文件后,下面的代码用于读取文件内容: while(in) //读取文件内容 { char c=in.get(); if(in) cout<<c; } 请问上面程序段划线的语句中使用if判别语句的原因是:

A.确保循环能终止

B.是输入流操作中的语法要求

C.确保不重复输出最后读取的数据

D.if判别是多余的,可以不用


相似考题
更多“假定in为ifstream类的对象,用in打开一个文件后,下面的代码用于读取文件内容: while(in) //读取文件内容 { char c=in.get(); if(in) cout<<c; } 请问上面程序段划线的语句中使用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);

    }

    }


    正确答案:String args[] result*=n-- while(n>=1)
    String args[] result*=n-- while(n>=1) 解析:本题主要考查main()主方法的使用、 while循环语句的用法。解答本题的关键是熟练掌握main()主方法的使用、while循环语句的用法。在本题中,string args[]的作用是声明字符数组args,result*=n--语句的作用是获得n的阶乘并赋值给变量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[])

    {

    }


    正确答案:char *change(char instr[]) { char *outstr=new char[50]; const char delta='A'-'a'; int i; for(i=0;instr[i]!='\0';i++) { if(instr[i] >='a' && instr[i] ='z') { outstr[i]=instr[i]+delta; } else { outstr[i]=instr[i]; } } outstr[i]='\0'; return outstr; }
    char *change(char instr[]) { char *outstr=new char[50]; const char delta='A'-'a'; int i; for(i=0;instr[i]!='\0';i++) { if(instr[i] >='a' && instr[i] ='z') { outstr[i]=instr[i]+delta; } else { outstr[i]=instr[i]; } } outstr[i]='\0'; return outstr; } 解析:本题考查的是考生使用for循环和一维数组的综合水平。对于大小写的ASCII码的差值可以通过delta='A'-'a'运算得到,注意在字符串的结尾加入结束标志符'\0'。

  • 第4题:

    下面的程序是用do_while语句计算10的阶乘。请在程序的每条横线处填写一个语句,使程序的功能完整。

    注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。

    源程序文件代码清单如下:

    public class DoWhileLoop

    {

    public static void main(________)

    {

    int n=10;

    long result=1;

    do

    {

    _______________

    }

    ______________

    System.out.println("10的阶乘为: "+result);

    }

    }


    正确答案:String args[] result*=n--; while(n>=1);
    String args[] result*=n--; while(n>=1); 解析:本题主要考查main()主方法的使用、while循环语句的用法。解答本题的关键是熟练掌握 main()土方法的使用、while循环语句的用法。在本题中,String args[]的作用是声明字符数组args, result*=n--;语句的作用是获得n的阶乘并赋值给变量result。

  • 第5题:

    以下叙述中正确的是

    A.一个记录中所包含的各个元素的数据类型必须相同

    B.随机文件中每个记录的长度是固定的

    C.Open命令的作用是打开一个已经存在的文件

    D.使用Input #语句可以从随机文件中读取数据


    正确答案:B
    解析:一个记录中所包含的各个元素的数据类型不一定相同,排除选项A。随机文件中Open命令打开的文件既可以读也可以写,故排除选项C。Get语句是随机文件中的读操作语句,而不是Input #语句,排除选项D。只有选项B的叙述是正确的。

  • 第6题:

    关于Close语句的叙述正确的是( )。

    A.执行Close语句后,所有打开的文件也会自动关闭。

    B.打开文件后,必须要用Close语句关闭文件,否则当程序结束时,产生一个错误

    C.执行Close语句后,程序将关闭所有窗口

    D.执行Close语句后,每次只能关闭一个文件,否则要用Reset语句


    正确答案:A

  • 第7题:

    使用ifstream 流类定义一个流对象并打开一个磁盘文件与用使用 fstream流类定义一个流对象并打开一个磁盘文件默认打开方式分别为______和没有默认。


    正确答案:ios::in
    ios::in

  • 第8题:

    在括号里填写适当的内容,以便读取当前目录中的文本文件“test.txt”  <%  Dim fso , f  Set  fso = Server.CreateObject()  ’创建FSO对象实例  Set  f = fso.()()   ’打开文件并返回textStream对象  while  Not  f.() ’当文件指针不在文本文件末尾时执行循环  Response.Write  f.()&"
    " ’读取一行字符发送到浏览器  Wend  f.Close  %>


    正确答案:Scripting.FileSystemObject;OpenTextFile;Server.MapPath("./text.txt";AtEndofStream;ReadLine

  • 第9题:

    下面4个叙述中,()是不正确的。

    • A、在一个程序执行End语句后,系统自动将所有打开的文件关闭
    • B、可以使用Close语句关闭一个或几个指定的文件
    • C、使用不带语句体的Close语句可关闭所有文件
    • D、执行完一个程序段的所有语句后程序自动关闭文件

    正确答案:D

  • 第10题:

    单选题
    执行语句Open "C://Stud.txt" For Input As #2后,系统()。
    A

    将内存数据存放在C盘当前文件夹下名为Stud.txt的文件中

    B

    将某个磁盘文件的内容写入C盘当前文件夹下名为Stud.txt的文件中

    C

    打开C盘当前文件夹下名为Stud.txt的文件,用来读取文件内容

    D

    在C盘当前文件夹下建立名为Stud. txt的顺序文件


    正确答案: B
    解析: 暂无解析

  • 第11题:

    单选题
    Open语句中,关键字For用于指定打开文件的方式,下列说法错误的是()。
    A

    For Input指顺序打开文件,只能读取文件内容。

    B

    For Output指顺序打开文件,向文件写入内容。

    C

    For Append指顺序打开文件,向文件写入内容,与For Output不同的是,它覆盖原有的内容。

    D

    For Binary指以二进制方式打开文件。


    正确答案: A
    解析: 暂无解析

  • 第12题:

    问答题
    使用VC6打开源程序文件modi3.cpp。其中类TestClass用于把文件输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一半,另外一个文件的大小是剩余部分。  此程序将in.txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件out1.txt和out2.txt中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。  1.从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释//********1********后添加适当的语句。  2.把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度。请在注释//********2********后添加适当的语句。  3.将输入文件的后一半内容存储在第二个文件中,请在注释//********3********后添加适当的语句。  4.使用文件流对象打开输入文件modi3.txt,请在注释//********4********后添加适当的语句。  注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。

    正确答案: 1.将“while()”补充完整为:while(infile.get(ch))
    2.添加语句:buf[1en++]=ch;
    3.添加语句:outfile2<<buf[i++];
    4.将“TestClass Fsp();”修改为“TestClass Fsp(modi3.txt);”
    解析:1.题目1要求“从输入文件中获得一个字符,并判断是否到文件结尾”。程序中的“while()”循环条件中缺少从文件中获得字符并判断是否到达文件结尾的语句,所以这里补全while循环判断条件,即“while(infile.get(ch))”。
    2.题目2要求“把获得的输入文件的内容存储到buf中,并且用len记录下文件的长度”。因此为buf分配空间,即“buf[1en++]=ch;”。
    3.题目3要求“将输入文件的后一半内容存储在第二个文件中”。在C++中,用流插入运算符为“<<”,根据题目要求要将buf中存放的数据存入文件outfile2,即这里补全“outfile2<<buf[i++];”。
    4.题目4要求“使用文件流对象打开输入文件modi3.txt。”程序应该是调用类“TestClass”中的成员函数“split”。类的构造函数定义中存在参数char*fileName,所以修改注释下的语句缺少参数,即“TestClass Fsp(modi3.txt);”。
    解析: 暂无解析

  • 第13题:

    要打开一个文件并从中读取数据,应该使用()类的对象

    A、istream

    B、ostream

    C、ifstream

    D、ofstream


    参考答案:C

  • 第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;

    }


    正确答案:fin>>x
    fin>>x 解析:while语句用于完成题目指定的功能,则while的条件判断部分应完成从文件读取字符的功能,并能够判断出读入字符失败后的情况。

  • 第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])

    {

    }


    正确答案:int charnum(char fn[10]) { fstream file; file.open(fnios::in); if(!file) { cout"abc.txt can't open"endl; abort(); } char ch; int i=O; while(!file.eof()) { file.get(ch); i++; } file.close(); return i-1; }
    int charnum(char fn[10]) { fstream file; file.open(fn,ios::in); if(!file) { cout"abc.txt can't open",endl; abort(); } char ch; int i=O; while(!file.eof()) { file.get(ch); i++; } file.close(); return i-1; } 解析:本题主要考查考生对文件相关操作的熟练程度。首先先定义文件流类的变量,然后使用该对象的open方法打开一个文件,接着使用while循环和getch方法每次读入一个字符并统计字符个数,最后使用close方法关闭文件,返回i值。

  • 第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


    正确答案:file2.open(fn2ios::out);
    file2.open(fn2,ios::out); 解析: fetream没有默认的打开模式,因此在打开文件时必须在ios_base::out.10s_ base::in、ios_base::in/ios_base::out这三个打开模式中指定一个。

  • 第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);


    正确答案:D
    解析:定义文件流对象的语句为fstreamfin(“A:abc。txt”,ios::nocreate);

  • 第19题:

    当使用OpenTextFile方法打开一个文件并准备读取内容时,指针一般指向()。

    • A、文件开头
    • B、文件结尾
    • C、第1行
    • D、最后一行

    正确答案:C

  • 第20题:

    Open语句中,关键字For用于指定打开文件的方式,下列说法错误的是()。

    • A、For Input指顺序打开文件,只能读取文件内容。
    • B、For Output指顺序打开文件,向文件写入内容。
    • C、For Append指顺序打开文件,向文件写入内容,与For Output不同的是,它覆盖原有的内容。
    • D、For Binary指以二进制方式打开文件。

    正确答案:C

  • 第21题:

    为应用程序开发人员上班 Certkiller.com,Certkiller.com 使用 Visual Studio.NET 2005 作为其应用程序开发平台。 您正在开发。NET Framework 2.0 数据分析中的应用。 它提供程序用于读取数据时,你有没有关于文件的内在结构的信息。 读取的文件字节--内容,并进行所需的自定义算法用于查找其格式,同时选择类 这允许您读取文件内容-字节。 你应该做什么?()

    • A、使用FileStream类。
    • B、使用BinaryReader类。
    • C、使用StreamReader类。
    • D、使用StringReader类。

    正确答案:A

  • 第22题:

    单选题
    为应用程序开发人员上班 Certkiller.com,Certkiller.com 使用 Visual Studio.NET 2005 作为其应用程序开发平台。 您正在开发。NET Framework 2.0 数据分析中的应用。 它提供程序用于读取数据时,你有没有关于文件的内在结构的信息。 读取的文件字节--内容,并进行所需的自定义算法用于查找其格式,同时选择类 这允许您读取文件内容-字节。 你应该做什么?()
    A

    使用FileStream类。

    B

    使用BinaryReader类。

    C

    使用StreamReader类。

    D

    使用StringReader类。


    正确答案: A
    解析: FileStream类的功能,目的是允许用户将无法查看所需的文件字节。 不正确的答案: B:BinaryReader类是使用完整,如果您知道要读取的数据的二进制格式,但不是应在该方案中使用。 C://这种方法是使用完整的如果你想要读取的字符数据在一种特定的编码,,但不是用于读取任何其他数据。 D://此类用于从字符串中读取文本,并不是完全用于读取任何其他数据。

  • 第23题:

    单选题
    下面4个叙述中,()是不正确的。
    A

    在一个程序执行End语句后,系统自动将所有打开的文件关闭

    B

    可以使用Close语句关闭一个或几个指定的文件

    C

    使用不带语句体的Close语句可关闭所有文件

    D

    执行完一个程序段的所有语句后程序自动关闭文件


    正确答案: B
    解析: 暂无解析

  • 第24题:

    单选题
    有以下程序段: FILE *fp; if((fp=fopen(test.txt,w))==NULL) {  printf(不能打开文件!);  exit(0); } else  printf(成功打开文件!); 若文件test.txt已存在,则以下叙述正确的是(  )。
    A

    程序运行后,文件test.txt中的原有内容将全部消失

    B

    程序运行时,会因文件存在而出错

    C

    对文件test.txt进行写操作后,可以随机进行读取

    D

    对文件test.txt写入的内容总是被添加到文件尾部


    正确答案: A
    解析:
    fopen函数以一定方式打开指定文件,返回一个指向文件的文件指针,如果不能实现打开指定文件的操作,则返回一个空指针NULL。如果指定文件不存在,则创建一个文件名为指定文件名的新文件,然后打开它。在指定文件有错误或者指定文件不存在却不能创建新文件的情况下,打开文件操作错误,返回空指针。本题程序中,文件test.txt已存在,以“w”方式打开文件时,文件test.txt中的原有内容将全部消失,A选项正确。文件原本就存在,不会导致程序出错,会按照指定的方式打开文件,B选项错误。对文件进行写操作,只能对指针指向的位置内容进行写操作,不能随机读写,C选项错误。对文件test.txt写入的内容写到指针所指向的位置,而不是添加在文件尾部,D选项错误。答案选择A选项。