参考答案和解析
B
更多“从一个数据文件中读入以换行符结束的一行字符串的系统函数为()。”相关问题
  • 第1题:

    关于getline()函数的下列描述中,( )是错误的.

    A、该函数是用来从键盘上读取字符串的

    B、该函数读取的字符串长度是受限制的

    C、该函数读取字符串时遇到终止符便停止

    D、该函数中所使用的终止符只能是换行符


    参考答案:D

  • 第2题:

    字符串结束标志是换行符'\n'。()

    此题为判断题(对,错)。


    参考答案:错误

  • 第3题:

    fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是 ( )

    A.字符串读入后不会自动加入'\0'

    B.fp是file类型的指针

    C.fgets函数从文件中最多读入n-1个字符

    D.fgets函数从文件中最多读入n个字符


    正确答案:C

  • 第4题:

    关于getline函数,说法不正确的是( )。

    A.该函数接收的字符串长度是受限的,可以人为设置所接收字符串的长度,它所接收的字符串长度是这一长度值减1

    B.该函数遇到换行符或其他终止符后结束操作

    C.该函数接收从键盘输入的字符串

    D.该函数是接收字符的函数


    正确答案:D
    解析:getline()一次读入一块字节,或者由一个换行符作为结束,或者由某个用户定义的终止字符作为结束。getline()格式:getline(char*sink,streamsizesize,chardelimiter='\n')。

  • 第5题:

    fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是( )。

    A.字符串读入后会自动加入'\0'

    B.fp是指向该文件的文件型指针

    C.fgets函数将从文件中最多读入n个字符

    D.fgets函数将从文件中最多读入n-1个字符


    正确答案:C
    解析:字符串输入函数fgets()的调用形式为:fgets(s,n,fp)。s可以是一个字符数组名,或是指向字符串的指针;n为要读取的最多的字符个数:fp是指向该文件的文件型指针。字符串输入函数的功能是:从fp所指向的文件中读取长度不超过n-1个字符的字符串,并将该字符串存放到字符数组s中。

  • 第6题:

    关于getline()函数的下列描述中,( )是错误的。

    A.该函数是用来从键盘上读取字符串的

    B.该函数读取的字符串长度是受限制的

    C.该函数读取字符串时,遇到终止符时便停止

    D.该函数中所使用的终止符只能是换行符


    正确答案:D

  • 第7题:

    函数readDat是从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat把结果xx输出到文件out.dat中。 条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分按字符的ASCII值升序排序。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。


    正确答案:
    【审题关键句】以行为单位从字符串左边部分降序排序,右边部分升序排序。如果原字符串长度为奇数,则最中间的字符不参加处理。
    【解题思路】
    ①定义字符局部变量ch,整型循环变量i、j、k和表示字符串长度的变量len、P。
    ②在第一层for循环中,变量i从0开始,依次递增直到其值等于20,在循环体中,首先调用库函数strlen(xx[i])求得字符串xx[il的长度,把此值转化成整型赋给变量len,用len的值除以2,得到字符串xx[i]的长度的一半赋给变量P;在第二层for循环中,变量j从0开始,依次递增直到其值等于(p-1),在循环体中执行第三层for循环,循环变量k从j+1开始,依次递增直到其值等于P,对字符串xx[i]左半部分的子字符串中的字符xx[i][j]和xx[i][k]按照ASCII码值的大小进行比较,如果xx[i][j]的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换,实现对字符串xx[i]左半部分的子字符串按照降序排列。然后,有if条件语句判断,len对2的余数是否等于1,如果等于1,说明字符串xx[i]的长度为奇数,则变量P加1,因为这时字符串的中间字符不参与排序。再对字符串xx[i][j]右半部分的字符串按升序排列。在for循环中,变量j从P开始,依次递增直到其值等于len-1,在循环体中,执行for循环中,变量k从j+1开始,依次递增直到其值等于Ien,对字符xx[i][j]和xx[i][k]按其ASCII码值的大小进行比较,如果字符xx[i][j]的ASCII码值大于xx[i][k]的ASCII码值,则两者进行互换,实现字符串xx[i]右半部分的字符串按照升序排列。
    【参考答案】

  • 第8题:

    若要求从键盘读入含有空格字符的字符串,应使用函数( )。

    A)getc

    B)gets

    C)getchar

    D)scanf


    正确答案:B

  • 第9题:

    从一个字符串中的第3个字符开始,获取5个字符,应使用()。

    ALen函数

    BMid函数

    CLeft函数

    DRight函数


    B

  • 第10题:

    C++语言中,用于直接从键盘输入中读入单个字符的字符串函数是()。

    • A、gets
    • B、puts
    • C、scanf
    • D、printf

    正确答案:A

  • 第11题:

    单选题
    从一个数据文件中读入以换行符结束的一行字符串的系统函数为()。
    A

    gets()

    B

    fgets()

    C

    getc()

    D

    fgetc()


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

  • 第12题:

    多选题
    数据结构里,下面关于字符数组描述正确的是()
    A

    gets()读取的字符串,其长度没有限制,以敲回车键结束。

    B

    puts()函数,该函数一次只能输出一个字符串

    C

    strcmp()函数,字符串1小于字符串2,函数返回值整数-1

    D

    strcpy()函数功能是进行字符串连接.


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

  • 第13题:

    从文件中读取数据,可分为write()和read()方法;下列对write()方法表述正确的是?()

    A.从一个打开的文件中读取一个字符串

    B.直接在字符串的结尾添加换行符(‘/n’)

    C.调用文件完毕后,使用close()方法关团文件是个很好的习惯

    D.将任何字符串写入一个打开的文件


    正确答案:D

  • 第14题:

    trim函数可以删除单元格字符串中的()。

    A.制表符

    B.换行符

    C.回车符

    D.空格


    答案:D

  • 第15题:

    下列关于getline()函数的描述中,错误的是( )。

    A.该函数可以用来从键盘上读取字符串

    B.该函数读取的字符串长度是受限制的

    C.该函数读取字符串时,遇到终止符时便停止

    D.该函数中所使用的终止符只熊是换行符,


    正确答案:D
    解析: 本题考查的是无格式输入输出流对象中的getline()函数。该函数的功能是允许从输入洗中读取多个字符,并且允许指定输入终止字符(默认是换行符),在读取完成后,从读取的内容中删除该终止字符。

  • 第16题:

    若要求从键盘读入含有空格字符的字符串,应使用函数

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    本题考查的知识点是输入函数。C语言提供了许多输入函数,其中有:getChar(输入字符)、sCanf(格式输入)和gets(输入字符串)等。题目要求输入的是字符串,所以可以排除getChar,而且要求输入的字符串中包含空格,而sCanf函数默认将输入的空格字符作为分隔符,所以空格不会被输入,故可排除sCanf。gdtCl的作用是从文件中输入一个字符,故也不可取。getsi函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择A)。

  • 第17题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组)XX中;请编制函数StrOR,其函数的功能是:以该文章中的行为单位依次扫描一行字符串中的小写字母0,每次将小写母0的左右字符串部分作交叉换位,即左边字符串移到小写字母0的右边,而原先右边的则反之,并把小写母O删除,依次直至这一行中的小写母0处理完,之后把已处理的字符串仍按行重新存入字符串数组)XX中。 最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。例如原文:you have the correct record. 第1个o:U have the correct record.Y 第2个o:rrect record.yuhavethe c 第3个o:rd.yuhavethe crrect rec 提示:对于每一行字符串数组处理有如下一种递归调用算法可供参考: 查找字符串中首个小写字母'0'的位置;没有找到'0',则结束递归调用;找到'0',则按题意对字符串进行处理,形成新的字符串,然后返回,继续进行递归调用。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位,依次把字符串中所有小写字母0左边的字符串内容移到该串的右边存放,然后把小写字母0删除,余下的字符串内容移到已处理字符串的左边存放。
    【解题思路】
    ①定义循环变量i和字符数组before[80]、after[80]及字符指针变量P。
    ②在for循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,在循环体中,利用while循环语句一直执行如下的操作,调用库函数strchr定位字母0在字符串xx[i]中第一次出现的位置P。如果P非空,说明在此字符串中找到了字母0,对于xx[i]有字母0的情况,从字符串xx[i]的第xx[i]+(p.xx[i]+1)字符开始,直到字符的结尾,调用字符串拷贝函数strcpy把字母0后面的字符串拷贝到字符数组after[80]中,然后把+p的值设置为0,删除字母0,调用字符串拷贝函数s仃cpy把字符串xx[i]拷贝到字符数组before[80]qh,调用字符串拷贝函数strcpy把字符数组after[80]中的值拷贝到xx[i],再调用字符串连接函数streat把xx[i]与before[80]相连接,实现字母0前后字符串的互换。如果P为空,说明在XX[i]中没有字母0,则退出while循环。进入下一行字符串的处理。
    【参考答案】

  • 第18题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母Z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后main函数调用函数WriteDat把结果xx输出到文件out.dat中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.c文件中。 请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,大小写不变,其他字符不变。
    【解题思路】
    ①定义整型循环变量i、j。

    【参考答案】

  • 第19题:

    函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数StrOL,其函数的功能是: 以读入文章的行为单位,以空格或标点符号(数据文件中仅含’,’或’.’作为标点符号)作为分隔符,对行中所有单词进行倒排, 单词间仍以空格作为分隔符,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组XX中。最后main函 数调用函数wmeDat把结果XX输出到文件0ut.dat中。提示:对于每一行字符串可以先提取最后一个单词,再提取倒数第二个单词,直至第一个单词,单词之后采用空格为分隔符,连接成一行新的字符串。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。


    正确答案:
    【审题关键句】以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。
    【解题思路】
    ①定义字符数组line[80]、word[80]和字符指针变量P,循环整型变量i、j。
    ②在for叫循环语句中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行字符串的如下处理。调用内存分配函数memset给字符数组line和word在内存中分配80个字符空间的大小。使指针变量P指向字符串xx[i]的头,变
    量j的初值设为0。利用while循环语句,当指针变量P没有到达xx[i]的结尾时,一直执行如下的操作:当*p是字母时,把*p赋给字符数组line,同时字符数组下标j加l,字符指针P加1,指向下一个字母。直至*p是单词间的分隔符时,退出第二层while循环。调用字符串连接函数strcat在字符串line后面添加一个空格,实现用空格分隔各个单词,再把由前面的单词组成的字符串word连接到当前单词的后面,实现按单词逆序排列。把重新组成的新的字符串利用函数strcpy拷贝到word中。调用函数memset对字符数组line在内存中重新分配80个字符空间,并设置其下标从0开始。当*p非空且不是字母的情况下,指针P加1,指向其下一个字符。依次循环,直到xx[i]的结束。最后把对字符串xx[i]的处理结果word拷贝到xx[i]中,再进行对文章下一行的处理。
    【参考答案】

  • 第20题:

    从一个数据文件中读入以换行符结束的一行字符串的函数为()。

    Agets()

    Bfgets()

    Cgetc()

    Dfgetc()


    B

  • 第21题:

    下面关于gets()与puts()函数描述正确的项是()

    • A、gets()读取的字符串,其长度没有限制,以敲回车键结束。
    • B、gets()输入字符串时要保证字符数组有足够大的空间,存放输入的字符串。
    • C、puts()函数一次只能输出一个字符串
    • D、puts()函数是把字符数组中所存放的字符串,输出到标准输出设备中去,并用‘/n’取代字符串的结束标志‘/0’。

    正确答案:A,B,C,D

  • 第22题:

    单选题
    从一个字符串中的第3个字符开始,获取5个字符,应使用()。
    A

    Len函数

    B

    Mid函数

    C

    Left函数

    D

    Right函数


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

  • 第23题:

    单选题
    从一个数据文件中读入以换行符结束的一行字符串的函数为()。
    A

    gets()

    B

    fgets()

    C

    getc()

    D

    fgetc()


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