单选题有以下程序: #include mian() {char c;for(;(c=getchar())!= '#';) putchar(++c); } 执行时如输入为:abcdefg##<回车>,则输出结果是(  )。A abcdefgB bcdefgh$C bcdefgh$$D bcdefgh

题目
单选题
有以下程序: #include  mian() {  char c;  for(;(c=getchar())!= '#';) putchar(++c); } 执行时如输入为:abcdefg##<回车>,则输出结果是(  )。
A

abcdefg

B

bcdefgh$

C

bcdefgh$$

D

bcdefgh


相似考题
更多“单选题有以下程序: #include mian() {  charc;  for(;(c=getchar())!='#';)putchar(++c); } 执行时如输入为:abcdefg##回车,则输出结果是(  )。A abcdefgB bcdefgh$C bcdefgh$$D bcdefgh”相关问题
  • 第1题:

    有以下程序:include main(){ charc1='1',c2='2'; c1=getchar(); c2=getchar(); putcha

    有以下程序: #include <stdio.h> main() { char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a<回车>后,以下叙述正确的是( )。

    A.变量c1被赋予字符a,c2被赋予回车符

    B.程序将等待用户输入第2个字符

    C.变量c1被赋予字符a,c2中仍是原有字符2

    D.变量c1被赋予字符a,c2中将无确定值


    正确答案:A
    解析:getchar()函数执行时将从键盘缓冲区中读取用户的输入,而不管输入的是否可打印字符。所以当输入a回车>后,键盘缓冲区被输入的实际上是两个字符:'a'和'\n'。故选项A的说法是正确的。

  • 第2题:

    有以下程序:includeincludemain() {char c[6];int i=0;for(;j<6;c[i]=getch

    有以下程序:#include<stdio.h>#include<stdio.h>main() { char c[6]; int i=0; for(;j<6;c[i]=getchar(),i++); for(i=0;i<6;i++)putchar(c[i]); printf("\n");}如果从键盘上输入:ab<回车>c<回车>def<回车>则输出结果为 ______。

    A.a b c d e f

    B.a b c d

    C.ab c d

    D.abcdef


    正确答案:C
    解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

  • 第3题:

    有以下程序:includemain(){char c[6]; int i=0; for(;i<6;c[i]=getchar(),i++); for(i

    有以下程序: #include<stdio.h> main(){ char c[6]; int i=0; for(;i<6;c[i]=getchar(),i++); for(i=O;i<6;i++)putchar(c[i]); printf("\n"); } 如果从键盘上输入: ab<回车> c<回车> def<回车> 则输出结果为_______。

    A.a

    B.a

    C.ab

    D.abcdef b b c c c d d d e f


    正确答案:C
    解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

  • 第4题:

    有以下程序:includemain(){ charc1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,&c1,&c2,&

    有以下程序: #include <stdio.h> main() { char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%c\n,c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是( )。

    A.1267

    B.1256

    C.1278

    D.1245


    正确答案:D
    解析:在题目中,程序执行到scanf()函数时,会暂停等待用户输入4个字符,按题意输入123回车>后,字符1~3被分别输入到c1~c3中,而c4会得到一个换行符'\n'。然后执行第1个getchar()函数,由于前面的scanf()函数读完了缓冲区中的所有字符,所以此时程序会又暂停等待用户输入,按题意输入45678回车>后,缓冲区第1个字符'4'被读入并赋给c5,第2个getchar()函数会读入缓冲区第2个字符'5'。所以最后依次输出c1、c2、c5、c6的值后,屏幕上的结果是1245。故应该选择D。

  • 第5题:

    有以下程序:includemain(){int c; while((c=getchar() )!='\n') {switch(c-'2'){ case

    有以下程序: #include <stdio.h> main() { int c; while((c=getchar() )! ='\n') { switch(c-'2') { case 0: case 1: putchar(c+4); case 2:putehar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break; } } } 运行程序,从第一列开始输入以下数据: 2473<回车>则程序的输出结果是( )。

    A.668977

    B.668966

    C.66778777

    D.6688766


    正确答案:A
    解析:本题考查switch语句。while中的表达式判断用getchar函数从键盘接收的字符是否是回车符,若不是,则执行switch多分支选择语句,根据表达式c-'2'的值进行分支选择;函数putchar是在屏幕上输出一个字符,最后的结果应当为668977。

  • 第6题:

    有以下程序:

    执行时输入:aBeDefG<;回车>;,则输出结果是( )。

    A.AbCdEFg

    B.ABCDEFG

    C.BCDEFGH

    D.bedefgh


    正确答案:C
    循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。putchar(++C),表示将字符变量C加1后输出。因此,输入aBcDefG##,得到的结果是BCDEFGH。故答案为c选项。

  • 第7题:

    若输入bcdefgh、m、abcdefg,以下程序的输出结果为( )。

    A)bcdefgh

    B)m

    C)abcdefg

    D)bcdefgh abcdefg


    正确答案:B
    本题考查字符比较函数和字符复制函数:strcmp(s1,s2);函数功能:比较字符串strl和str2比较的是字符的ASCII码的值,当str1<str2时,返回值为负数;当str1=str2时,返回0;当str1>str2,返回值为正数。

  • 第8题:

    有以下程序

    程序运行时从第一列开始输入:abcdefg<;回车>;,则输出结果是

    A.abcdefg

    B.bcddgh

    C.abcdefg

    D.bcddgh$


    正确答案:A
    运算符“++”放在变量后面时,先参与其他操作,再对变量+1。putchar(C++)表示先输出当前C值,再对C值+1,当输入abcdef##时,在while语句中,程序输入“#”,循环退出。因此输出为abcdefg,答案为A选项。

  • 第9题:

    有以下程序:includemain(){int c;while((c=getchar())!='\n')switch(c-'2'){case 1:pu

    有以下程序: #include<stdio.h> main() { int c; while((c=getchar())!='\n') switch(c-'2') {case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+4); case 4:putchar(c+4);break; } printf("\n"); } 输入以下数据,<CR>代表一个回车符, 2743<CR> 程序的输出结果是( )。

    A.877

    B.966

    C.778

    D.766


    正确答案:A
    解析:本题通过一个while循环向键盘缓冲区读取字符,直到读到的字符是回车键结束循环。当读到的c为'2'时,c-'2'为0, switch语句中没有case 0:所以没有输出,继续读下一个;当c为'7'时,c-'2'=5,也没有输出;当c为'4'时,c-'2'=2,执行case 2:后面的语句输出一个字符c+4='4'+4='8';当c为'3'时,c-'2'=1,执行case 1:后面的语句,连续输出两次c+4='3'+4='7'。故程序输出结果是877,应该选择A。

  • 第10题:

    单选题
    有以下程序:#include main(){ char c; do {  c = getchar();  putchar(c); }while(c!='#'); printf();}执行时如输入:abcdefg##<回车>,则输出结果是(  )。
    A

    abcdefg#

    B

    abcdefg

    C

    abcdefg##

    D

    ##


    正确答案: B
    解析:
    程序执行过程为:读入一个字符存入缓存区,判断字符是否为“#”,如不是,继续读入字符,直到读入的字符是“#”,存入缓存区,退出循环,将缓冲区字符一个个输出,结果为abcdefg#。答案选择A选项。

  • 第11题:

    单选题
    有以下程序: #include  main() {  char c;  while((c=getchar())!='')  {   switch(c-'2')   {    case 0:    case 1:putchar(c+4);    case 2:putchar(c+4);break;    case 3:putchar(c+3);    default:putchar(c+2);break;   }  }  printf();  } 程序运行后从第一列开始输入以下数据: 2473<回车> 程序的输出结果是(  )。
    A

    668977

    B

    4444

    C

    6677877

    D

    68766


    正确答案: A
    解析:
    本题执行过程为:读入c='2',c-'2'=0,首先匹配case0,依次输出6,6,后执行break语句,跳出分支结构;读入c='4',c-'2'=2,匹配case2,输出8,执行break语句,跳出分支结构;读入c='7',c-'2'=5,匹配default,输出9,执行break语句,跳出分支结构;读入c='3',c-'2'=1,匹配case1,依次输出7,7,执行break语句,跳出分支结构。输入回车,结束循环。答案选择A选项。

  • 第12题:

    单选题
    有如下程序: #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


    正确答案: A
    解析:
    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选项。

  • 第13题:

    执行下面的程序时,输入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。

  • 第14题:

    已知字符A的ASCII代码值为65,以下程序运行时,若从键盘输入:B33<回车>。则输出结果是______。 incl

    已知字符A的ASCII代码值为65,以下程序运行时,若从键盘输入:B33<回车>。则输出结果是______。 #include "stdio.h" main() { char a,b; a=getchar();scanf("Xd",&b); a=a-'A'+'0';b=b*2; printf("%c%c\n",a,b); }

    A.2 B

    B.1 B

    C.3 B

    D.4 B


    正确答案:B

  • 第15题:

    有以下程序:includemain(){char c[6];int i=0;for(;i<6;c[i]=getchar(),i++);for(i=0;

    有以下程序: #include<stdio.h> main(){ char c[6]; int i=0; for(;i<6;c[i]=getchar(),i++); for(i=0;i<6; i++)putchar(c[i]); printf("\n"); } 如果从键盘上输入: ab<回车> c<回车> def<回车> 则输出结果为______。

    A.a b c d e f

    B.a b c d

    C.ab c d

    D.abcdef


    正确答案:C
    解析:1.getchar():此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。
    2.putchar():此函数的作用是向终端输出一个字符,也可以输出控制字符。
    本题在输入字符时,ab和c后面的回车符分别赋给了c[2]和c[4],所以,正确答案为C。

  • 第16题:

    若程序执行时的输入数据是"2473",则下述程序的输出结果是includevoid main(){int cs;w

    若程序执行时的输入数据是"2473",则下述程序的输出结果是 #include<stdio.h> void main() { int cs; while((cs=getchar())!=,'\n') {switch(cs='2') { case0 case 1:putchar(cs+4); case 2:putchar(cs+4); break; case 3:putchar(cs+3);default:putchar(cs+2);}}}

    A.668977

    B.668966

    C.6677877

    D.6688766


    正确答案:A
    解析: 本题主要考查switch语句的使用方法。switch语句的执行过程为:进入switch结构后,对条件表达式进行运算,然后从上至下去找与条件表达式值相匹配的 case,以此作为入口,执行switch结构中后面的各语句,直到遇到break语句,则跳出switch语句,如果各case都不匹配时,则执行default后面的语句。

  • 第17题:

    有以下程序:includemain(){int c; while((c=getchar())!='\n') {switch(c-'2'){case 0

    有以下程序: #include<stdio.h> main() { int c; while((c=getchar())!='\n') { switch(c-'2') { case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break;}} printf("\n")} 从第一列开始输入以下数据<CR>代表一个回车符。 2743<CR> 程序的输出结果是

    A.66877

    B.668966

    C.6677877

    D.6688766


    正确答案:A
    解析:本题主要考查了字符输入输出函数getchar和putchar的使用。getchar函数用来从标准输入设备上读入一个字符,putchar(c)函数是将字符变量c中的字符输出到标准输出设备上。并且字符可以看作整数参与运算。

  • 第18题:

    有以下程序:includemain(){int c;while((c=getchar())!='\n'){switch(c-'3'){case 0:c

    有以下程序: #include<stdio.h> main() {int c; while((c=getchar())!='\n') {switch(c-'3') {case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);break; }} printf("\n");} 从第一列开始输入数据(<CR>代表…个回车符):3845<CR>,则狴序输出结果为( )。

    A.77889

    B.77868

    C.776810

    D.7.78866e+007


    正确答案:A

  • 第19题:

    有以下程序 #include<stdio.h> main() { int c; while((c=getchar())!='\n'){ switch(c-'2'){ case O:case1:putchar(c+4); case 2:putchar(c+4);braeak; case3:putchar(c+3); default:putchar(c+2);break;} } } 从第一列开始输入以下数据,↓代表一个回车符。 2473↓ 程序的输出结果是_______。

    A.668977

    B.668966

    C.66778777

    D.6688766


    正确答案:A
    解析:getchar()函数是从键盘接受一个字符输入;当用户键入的字符不是回车符时,会进入一个多分支选择语句,根据 C-'2'的值进行分支选择;putchar()是在屏幕上打印一个字符,最后的结果应当为668977。

  • 第20题:

    有以下程序includemain(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1)

    有以下程序#include<stdio. h>main(){ char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);} 当运行时输入:a<回车> 后,以下叙述正确的是

    A.变量c1被赋予字符a,c2被赋予回车符

    B.程序将等待用户输入第2个字符

    C.变量c1被赋予字符a,c2中仍是原有字符2

    D.变量c1被赋予字符a,c2中将无确定值


    正确答案:A
    解析:本题考查的是getchar()函数。getchar()函数执行时将从键盘缓冲区中读取用户的输入,而不管输入的是否可打印字符,所以当输入a<回车>后,键盘缓冲区被输入的实际上是两个字符:'a'和'\n'。故选项A的说法是正确的。

  • 第21题:

    有以下程序   #include      main( )  {char C1,C2:C3,C4,C5,C6; scanf("%C%C%C%C”,&Cl,&C2,&C3,&C4);      C5=getchar( );C6=getchar( );      Putchar(c1);putchar(c2);  printf(”%C%C/n”,C5,C6);      }  程序运行后,若从键盘输入(从第l列开始)      123<回车>  45678<回车>    则输出结果是()

    • A、1245
    • B、1256
    • C、1267
    • D、1278

    正确答案:A

  • 第22题:

    单选题
    有如下程序:#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


    正确答案: D
    解析:
    本题考查了函数的递归调用,进入get_put函数后,字符变量ch每次保存读进来的字符,如果不是换行符,则继续读取下一个字符常量,当ch保存完'D'后,下一次读取不满足if条件,函数进行输出,依次输出'D','C','B','A',答案选择B选项。

  • 第23题:

    单选题
    有以下程序 #include  main() {  char c1,c2,c3,c4,c5,c6;  scanf(%c%c%c%c, &c1,&c2,&c3,&c4);  c5=getchar();  c6=getchar();  putchar(c1);  putchar(c2);  printf(%c%c,c5,c6); } 程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车> 则输出结果是(  )。
    A

    1245

    B

    1256

    C

    1278

    D

    1267


    正确答案: B
    解析:
    scanf是格式化输入函数;getehar函数从键盘缓冲区读入下一个字符;putchar输出一个字符;printf函数是格式化输出函数。在题目中,程序执行到scanf函数时,会暂停等待用户输入4个字符,按题意输入123<回车>后,字符'1'~'3'被分别赋值到c1~c3中,而c4会得到一个换行符''。然后执行第1个getchar函数,由于前面的scanf函数读完了缓冲区中的所有字符,所以此时程序又会暂停等待用户输入,按题意输入45678<回车>后,缓冲区第一个字符'4'赋值c5,第二个字符'5'赋值给c6。答案选择A选项。