单选题有如下程序:#include void get_put(){ char ch; ch=getchar(); if(ch!='')get_put(); putchar(ch);}main(){ get_put();}程序运行时,输入ABCD<回车>,则输出结果是(  )。A DCDCB DCBAC BABAD ABCD

题目
单选题
有如下程序:#include void get_put(){ char ch; ch=getchar(); if(ch!='')get_put(); putchar(ch);}main(){ get_put();}程序运行时,输入ABCD<回车>,则输出结果是(  )。
A

DCDC

B

DCBA

C

BABA

D

ABCD


相似考题
更多“有如下程序:#include <stdio.h>void get_put(){ char ch; ch=getchar(”相关问题
  • 第1题:

    使用VC6打开考生文件夹下的工程test11_1,此工程包含一个源程序文件test11_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

    ch1=7 ch2=9

    源程序文件test11_1.cpp清单如下:

    include<iostream.h>

    class Sample

    {

    /**************** found ***************/

    char ch1,ch2

    public:

    /************** found ***************/

    friend void set(Sample s, char c1,char c2)

    {

    s.ch1=c1;

    s.ch2=c2;

    }

    void print() {cout<<"ch1="<<" ch2="<<ch2<<end1;}

    };

    void main()

    {

    Sample obj;

    /************* found ****************/

    obj.set(obj,'7','9');

    obj.print();

    }


    正确答案:(1)错误:char ch1ch2 正确:char ch1ch2; (2)错误:friend void set(Sampleschar c1char c2) 正确:friend void set(Sample &schar c1char c2) (3)错误:obj. set(obj'7''9'); 正确:set(obj'7''9');
    (1)错误:char ch1,ch2 正确:char ch1,ch2; (2)错误:friend void set(Samples,char c1,char c2) 正确:friend void set(Sample &s,char c1,char c2) (3)错误:obj. set(obj,'7','9'); 正确:set(obj,'7','9'); 解析:(1)主要考查考生对于变量定义格式的掌握,结尾应该使用“;”;
    (2)主要考查考生对于传值调用与引用调用区别的掌握,为了改变对象的值,在这里应该使用引用调用;
    (3)主要考查考生对于友元函数概念的理解,友元函数而不是当前类的成员函数,而是独立于当前类的外部函数,在使用时应该直接调用不需要使用对象访问。

  • 第2题:

    在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。include main(){char

    在执行以下程序时,如果从键盘上输入ABCdef<回车>,则输出为______。#include <stdio.h>main (){ char ch; while ((ch=getchar())!="\n") { if (ch>='A'&& ch<='B')ch=ch+32; else if (ch>='a'&& ch<='z')ch=ch-32; printf("%c",ch); } printf("\n");}

    A.ABCdef

    B.abcDEF

    C.abc

    D.DEF


    正确答案:B

  • 第3题:

    有以下程序:includeunion pw{int i; char ch[2];}a;main(){a.ch[0]=13;a.ch[1]=0;prin

    有以下程序: #include<stdio.h> union pw { int i; char ch[2]; }a; main() { a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )。

    A.13

    B.14

    C.208

    D.209


    正确答案:A
    解析:在本题中,首先定义了一个共用体pw,其中有两个域:整型变量i和字符数组ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch[0]在低字节;ch[1]在高字节;整型变量i占两个字节,高位与ch[1]共用存储空间,低位与ch[0]共用存储空间,而高位ch[1]的值为0,所以输出的成员变量i的值就是ch[0]的值13。

  • 第4题:

    请编写函数fun(),它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

    例如,若输入字符串123412132,输入字符1,则输出3。

    注意:部分源程序给出如下。

    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

    试题程序:

    include<coio.h>

    include<stdio.h>

    define M 81

    int fun(char *ss,char c)

    {

    }

    main()

    { char a[M],ch;

    clrscr();

    printf("\nPlease enter a string:");

    gets(a);

    printf("\nPlease enter a char:");

    ch=getchar();

    printf("\nThe number of the char is:%d \n",fun(a,ch));

    }


    正确答案:int fun(char *sschar c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; }
    int fun(char *ss,char c) { int i=0; for (;*ss!='\0';ss++) if(*ss==c) i++; /*求出ss所指字符串中指定字符的个数*/ return i; } 解析:从字符串ss中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历:若ss串的当前字符等于t串的第1个字符,两字符串的指针自动加1,继续比较下一个字符;若比较至字符串的结尾,则跳出循环;若“串的字符和c串的字符不对应相同,则继续对,s串的下一个字符进行处理。本程序是采用逐一比较的方式找出出现的次数。循环的作用是在串中从左到右逐一走动,if()的作用是进行判断是否相同,若与c相同则表示又出现一次.

  • 第5题:

    下列程序的输出结果是【】。 include include using namespace std; void fun(c

    下列程序的输出结果是【 】。

    include<iostream>

    include<cstring>

    using namespace std;

    void fun(const char *s,char &c){c=s[strlen(s)/2];}

    int main()

    {

    char str[]="ABCDE";

    char ch=str[1];

    fun(str,ch);

    cout<<ch;

    return 0;

    }


    正确答案:C
    C

  • 第6题:

    有如下程序includemain(){int v1=0,v2=0; char ch; while((ch=getchar())!='') switc

    有如下程序 #include<stdio.h> main() { int v1=0,v2=0; char ch; while((ch=getchar())!='#') switch(ch) { case 'a'; casff 'h'; default:v1++; case '0';v2++; } printf("%d,%d\n",v1,v2); } 如果从键盘上输入china#<回车>,则程序运行结果为 ( )

    A.2,0

    B.5,0

    C.5,5

    D.2,5


    正确答案:C

  • 第7题:

    有以下程序: include include using namespace std; int main () {char ch[]

    有以下程序:

    include <fstream>

    include <string>

    using namespace std;

    int main ()

    {

    char ch[] = "The end";

    ofstream outstr( "d:\\put.txt", ios_base: :app);

    for (int i = 0; i < strlen( ch ); i++ )

    outstr.put(ch[i]);

    outstr.close();

    return 0;

    }

    程序实现的功能是【 】。


    正确答案:在文件put.txt的尾部追加写入一串字符
    在文件put.txt的尾部追加写入一串字符 解析:解本题的关键是要了解文件打开模式常量ios_base::app的含义。常量ios base::app表示为添加数据而打开文件(总是在文件尾部写),因此上述程序实现的功能就是在文件尾部写入数组ch中字符串。

  • 第8题:

    下列程序段中,不能正确赋值的是

    A.char*p,ch; p=&ch; scanf("%c,&p")

    B.char*p; p=(char*)malloc(1); scanf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=缸h; *p=getchar();


    正确答案:C
    解析: 本题考查了字符的输入函数getchax和利用scanf函数输入一个字符。用scanf输入字符时,格式说明字符应该为%c。本题选项C)因为指针P没有赋初值,所以是一个不定值,不能直接将getchar读入的字符赋给指针p所指向的字符,所以选项C错误。

  • 第9题:

    以下程序的执行结果为【】。 include using namespace std; void overload(int num) {cou

    以下程序的执行结果为【 】。

    include<iostream>

    using namespace std;

    void overload(int num)

    {

    cout<<num<<end1;

    }

    void overload(char ch)

    {

    char c=ch+1;

    cout<<c<<end1;

    }

    int main()

    {

    overload('X');

    return 0;

    }


    正确答案:Y
    Y 解析:本题考核函数重载。在本题中,函数overload()有两次实现。第一次实现中,其形参为int型;第2饮实现中,其形参为char型,所以构成了函数重载。主函数中调用overload()函数时传递的实参为字符'X',所以执行函数的第2次实现。输出Y。

  • 第10题:

    有以下程序: include main() {char ch1,ch2;int n1,n2;ch1=getchar();ch2=getehar();n1

    有以下程序:

    include <stdio.h>

    main()

    { char ch1,ch2;int n1,n2;

    ch1=getchar();ch2=getehar();

    n1=ch1-'0'; n2=n1*10+(ch2-'0');

    printf("%d\n",n2);

    }

    程序运行时输入:12<回车>,执行后的输出结果是【 】。


    正确答案:12
    12 解析:程序中的ch1与ch2为字符型变量,输入12后,ch1得到字符'1',ch2得到字符'2'。n1 =ch1-'0'将字符1,转换为数值1,同理,n2为1*10+2=12。程序执行后输出十进制整数12。

  • 第11题:

    有以下程序:includeunion pw{int i; char ch[2]; } a;main(){a.ch[0]=13; a.ch[1]=0;

    有以下程序: #include <stdio.h> union pw { int i; char ch[2]; } a; main() { a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); } 程序的输出结果是(注意:ch[0]在低字节,ch[1]在高字节)( )。

    A.13

    B.14

    C.208

    D.209


    正确答案:A
    解析:根据共用体的定义可知:共用体a的成员i和成员ch[2]共用同一段内存空间,所以,当程序给a.ch[0]和a.ch[1]赋值后,实际上,共用体成员i的值就确定为13了,所以打印输出的结果应当为13。

  • 第12题:

    单选题
    有如下程序:#include void convert(char ch){ if(ch<'D')convert(ch+1); printf(%c,ch);}main(){ convert('A'); printf(%);}程序运行后的输出结果是(  )。
    A

    ABCDDCBA

    B

    ABCD

    C

    A

    D

    DCBA


    正确答案: C
    解析:
    本题程序的执行过程为:调用convert('A')函数,ch='A',if条件成立,执行convert('B')→convert('C') →convert('D'),ch= 'D'时,if条件不成立,输出D→执行convert('C')中if语句后的输出语句,输出C→执行convert('B')中if语句后的输出语句,输出B→执行convert('A')中if语句后的输出语句,输出A,函数调用完成。程序运行后的输出结果是DCBA。答案选择D选项。

  • 第13题:

    下列程序段中,不能正确赋值的是( )。

    A.char*p,ch; p=&Ch; scanf("%c",&p);

    B.char*p; p=char*)malloc(1); scanf("%c",p);

    C.char*p; *p=getchar();

    D.char*p,ch; p=&ch; *p=getchar();


    正确答案:C
    解析:地址变量p指向的存储空间一定要明确,否则可能影响程序的正确性。

  • 第14题:

    执行下面的程序时,输入abc(其中CR代表回车),输出结果是()。includeinclude

    执行下面的程序时,输入abc<CR>(其中CR代表回车),输出结果是( )。 #include<stdio.h> #include <string.h> main() { char ch; while((cn=getchar())!='n') { switch(ch-'a') { case 0: putchar(ch+1); case 1:putchar(ch+1);break; case 2:putchar(ch+2); caSe 3:putchar(ch+2);break; } } }

    A.abc

    B.bbc

    C.abcd

    D.bbcee


    正确答案:D
    解析:当ch='a'时,ch-'a'=0,进入case0分支输出b,再进入case1分支输出b,然后结束本次循环。当ch='b'时,'b'-'a'=1,进入case1分支输出c,然后结束本次循环。当ch='c'时,'c'-'a'=2,进入case2分支输出e,再进入case3分支输出e,然后结束次循环。遇到'-n'结束循环。显示输出为bbcee。

  • 第15题:

    以下程序的输出结果是()。includecharcchar(chareh){if(ch>='A,&&ch<='Z')ch=c

    以下程序的输出结果是( )。 #include <stdio.h> charcchar(char eh) { if(ch>='A,&&ch<='Z') ch=ch-'A'+'a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(*p) { *p=cchsr(*p); p++; } printf("%s\n",s); }

    A.abc+ABC=DEFdef

    B.abc+abc=defdef

    C.abcABCDEFdef

    D.abcabcdefdef


    正确答案:B
    解析:本题中cchar函数的作用是:如果参数ch是大写字母,则将它转换成小写字母,而对大写字母以外的字符不起作用。

  • 第16题:

    当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【 】次。include main()

    当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行【 】次。

    include<stdio.h>

    main()

    { char ch;

    while((ch=getchar())=='0')prinft("");

    }


    正确答案:×
    0 解析:通过getchar()函数来取得从键盘输入的数据,再判断其是否是字符‘0’,如果是,则执行一次循环,因为从键盘输入的1234567890都是整型数,不是字符.所以while循环执行的条件始终不成立,循环体执行的次数为0。

  • 第17题:

    下列程序运行时,若输入labcedf2df<回车>输出结果为【】。 include main(){char a=0,ch; wh

    下列程序运行时,若输入labcedf2df<回车>输出结果为【 】。

    include<stdio.h>

    main()

    { char a=0,ch;

    while((ch==getchar())!='\n')

    { if(a%2!=0&&(ch>='a'&&ch<='z')) ch=ch'a'+'A';

    a++;prtchar(ch);

    }

    printf("\n");

    }


    正确答案:1AbCeDf2dF
    1AbCeDf2dF 解析:本题的执行过程是先从键盘上获得—个字符,判断是不是换行符,如果不是则继续执行循环体,再判断字符变量 a是否是偶数以及是否是小写字母,如果a不是偶数且输入的字符为小写字母,则将其转换成大写字母,接着执行a++;语句,变量a自增1,输出字符,因此本题的输出结果为1AbCeDF2dF(a相当于用来记录当前的顺序,即是第偶数个字符还是第奇数个字符)。
    字符位数:0 123456789
    输入字符:1 abcedf2df
    输出字符:1 AbCeDf2dF

  • 第18题:

    下面程序输出的结果是()。includeusing namespace std;void main(){ char ch[][8]={"g

    下面程序输出的结果是( )。 #include<iostream> using namespace std; void main() { char ch[][8]={"good","better","best"}; for(int i=1;i<3;++i) { cout<<ch[i]<<endl; } }

    A.good better

    B.better best

    C.good best

    D.good


    正确答案:B
    解析:二维数组ch共3行8列,for循环语句输出第2、3行的数组元素

  • 第19题:

    下列程序的输出结果是______。includeinclude using namespace std;void

    下列程序的输出结果是______。

    include <iostream.h>

    include <cstring.h>

    using namespace std;

    void fun(const char*s,char &C) {c=s[strlen (s)/2];}

    int main {)

    {

    char str [] ="ABCDE";

    char ch=str[1];

    fun(str,sh);

    cout<<Ch;

    return 0;

    }


    正确答案:C
    C 解析:本题考核数组的定义、使用以及函数的调用。fun函数的作用是将字符串str中间的字符赋值给地址传入的变量ch。所以ch的值将被修改为‘C’。

  • 第20题:

    有以下程序:include include using namespace std;int main ( ){ ofstream

    有以下程序: #include <iostream> #include <fstream> using namespace std; int main ( ) { ofstream ofile; char ch; ofile.open ("abc.txt"); cin>>ch; while (ch!='#' ) { cin>>ch; ofile.put(ch);

    A.程序编译时出错

    B.abc#

    C.abc

    D.#


    正确答案:C
    解析:本题程序的功能是将从键盘终端输入的内容存储到指定的文件中。

  • 第21题:

    运行下面程序时,从键盘输入字母H,则输出结果是includemain(){ char ch;ch=getchar();s

    运行下面程序时,从键盘输入字母H,则输出结果是 #include<stdio.h> main() { char ch; ch=getchar(); switch(ch) { case 'H':printf("Hello!\n"); case 'G':printf("Good morning!\n"); default:printf("Bye_Bye!\n"); } }

    A.Hello!

    B.Hello! GoodMoring!

    C.Hello! Goodmorning! Bye_Bye!

    D.Hello! Bye_Bye!


    正确答案:C
    解析:本题主要对switch语句进行了考查。switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时则执行default后面的语句。本题中ch为字符'H',所以case'H'条件中的语句将被执行,由于没有break语句,所以case'C'后的语句也被执行,由于同样的缺少break语句,所以default后的语句也被执行了。

  • 第22题:

    有以下程序: include main( ) { char ch=′Z′; ch=(ch-′A′+1)%26+′A′;putchar(ch); } 程序的运行结果是( )。

    A.Z

    B.Y

    C.B

    D.A


    答案:D
    解析:Z的ASCII码是90,A的ASCII码是65,所以ch=(ch-′A′+1)%26+′A′=26%26+65=65,输出65对应的字符A 。

  • 第23题:

    单选题
    有如下程序: #include  void get_put() {  char ch;  ch=getchar();  if(ch!='')get_put();  putchar(ch); } main() {  get_put();  printf(); } 程序运行时,输入1234<回车>,则输出结果是(  )。
    A

    1234

    B

    4321

    C

    4444

    D

    1111


    正确答案: C
    解析:
    get_put为递归函数。本题程序的执行过程为:在输入1234<回车>的情况下,调用get_put函数,getchar读入1,即ch='1',if条件成立,调用get_put函数;读入2,ch='2',调用get_put函数;读入3,ch='3',调用get_put函数;读入4,ch='4',调用get_put函数;读入回车,ch='',if条件不成立,返回执行每次调用函数中if语句后的输出语句,即依次输出4321。答案选择B选项。