(26)有以下程序段#include <stdio.h>main(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行

题目

(26)有以下程序段

#include <stdio.h>

main()

{ …

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

}

以下叙述中正确的是

A)此while语句将无限循环

B) getchar()不可以出现在while语句的条件表达式中

C)当执行此while语句时,只有按回车键程序才能继续执行

D)当执行此while语句时,按任意键程序就能继续执行


相似考题
更多“(26)有以下程序段#include &lt;stdio.h&gt;main(){ …while( getchar()!='\n');…}以下叙述中正确 ”相关问题
  • 第1题:

    以下四个程序中,完全正确的是()。A.include main( ); { /* programmlng* / printf( "p

    以下四个程序中,完全正确的是( )。

    A.#include <stdio.h> main( ); { /* programmlng* / printf( "programming! \n" ); }

    B.#include <stdio.h> main( ) { /*/programming printf("programming! \n"); }

    C.#include <stdio.h> main( ) { /*programming* / printf( "programming! \n" ); }

    D.include <stdio.h> main ( ) { /*/* programming*/*/ printf( "programming! \n" ); }


    正确答案:C
    解析:选项A)main();后面不应该有分号;选项B)中的注释语句不正确;选项D)的include前缺少#。

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

    若变量已正确定义,下列正确的程序段是( )。

    A.while(ch=getchar()=='\N')putchar(ch);

    B.while((ch=getchar())=='\n')putchar(ch);

    C.while((ch=getchar())!='\N')putchar(ch);

    D.while((ch=getchar())!='\n')putchar(ch);


    正确答案:D
    解析: 本题考查两个知识点:①C语言用'\n'这个字符常量表示换行;②getchar函数的作用是从终端输入一个字符,当遇到换行时结束输入。

  • 第4题:

    要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是( )。

    A.while((ch=getchar())!='N')printf("%c",ch);

    B.while(ch=getchar()!='N')printf("%c",ch);

    C.while(ch=getchar()=='N')printf("%c",ch);

    D.while((ch=getchar())=='N')printf("%c",ch):


    正确答案:A
    解析:因为while是以条件为假时结束循环,因此选项C、D不正确。“!=”的优先级比“=”高,因此“ch=getchar()!='N'”相当于“ch=(getchar!='N')”,ch并不能得到输入的字符,只能得到true或者false值。

  • 第5题:

    有以下程序include main(){ int.i=0,a=0;while(i<20){for(;;) {if((i%10)==0)break;el

    有以下程序 #include <stdio.h> main() { int.i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a) ; } 程序运行后的输出结果是( )

    A.21

    B.32

    C.33

    D.11


    正确答案:B

  • 第6题:

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

    有以下程序 #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")} 从第一列开始输入以

    A.66877

    B.668966

    C.6677877

    D.6688766


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

  • 第7题:

    若变量已正确定义,以下while循环不断输出读入的字符,当读入回车换行符时结束循环。正确的程序段是

    A.while(ch=getchar()=='\N')putchar(ch);

    B.while(ch=getchar())=='\N')putchar(ch);

    C.whle((ch=getchar())!='\N')putchaf(ch);

    D.while((ch=getchar())!='\N')putchar(ch);


    正确答案:D
    解析:换行符是一个转义字符,应该是‘\n’,而不是‘\N’。选项B)中,因为关系运算符“==”的优先级高于赋值运算符“=”,所以ch得到的值是关系运算getchar()=='\n'的结果而不是从键盘输入的字符,因而不正确,故正确答案为选项D)。

  • 第8题:

    有以下程序: 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。

  • 第9题:

    有以下程序段

    #include

    main()

    { …

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

    }

    以下叙述中正确的是

    A.此while语句将无限循环

    B.getchar()不可以出现在while语句的条件表达式中

    C.当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C

  • 第10题:

    要求通过while循环不断读入字符,当读入字母'N'时结束循环。若变量已正确定义,以下正确的程序段是( )。

    A.while(( ch = getchar( )) ! ='N') printf(" %c",ch);

    B.while(ch = getehar() ! ='N')printf("%c",ch);

    C.while (ch = getehar() = = 'N')printf( "%c", ch);

    D.while ((ch = getchar( )) == 'N')printf("%c", ch );


    正确答案:A
    解析:此题中选项B)与选项C)首先在书写上就有错误;题目要求当读人的字母为非字母'N'时才执行printf语句,依据选项D)的要求,只有当读人的字母为'N'时才执行printf句,故也错误。

  • 第11题:

    以下程序的输出结果是【 】。 include main() { intn=12345, d; while(n!=O){d=n%10; pr

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

    include <stdio.h>

    main()

    { int n=12345, d;

    while(n!=O){ d=n%10; printf("%d",d); n/=10; }


    正确答案:54321
    54321 解析:本题考查的知识点是:%运算和/运算。%运算要求两个运算分量均为整数,该运算计算两个整数相除得到的余数,该操作也叫做求模。所以,在while循环中, d=n%10;语句每次求得的结果是n个位上的数值,例如12345÷10所得的余数就是个位上的5。接下来输出得到的个位数字d,然后执行n/=10;语句,该语句等价于n=n/10;。在C语言中,如果/运算的两个运算分量都是整数,那所得的结果也截尾取整,所以 12345/10=1234,即n=n/10;语句的作用是让n截去个位上的数字。由此可知,随着while循环的继续,n依次为12345、1234、123、12、1,而每次输出n的个位数字将为5、 4、3、2、1。故本题应填54321。

  • 第12题:

    单选题
    要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是()
    A

    while((ch=getchar())!=’N’)printf(”%c”,Ch);

    B

    while(ch=getchar()!=’N’) printf (”%c”,Ch);

    C

    while(ch=getchar()==’N’) printf (”%c”,Ch);

    D

    while((ch=getchar())==’N’) printf (”%c”,Ch);


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

  • 第13题:

    有以下程序段 #include<stdio.h> main( ) { . . .

    while(getchar( )!=\n); . . . } 以下叙述中正确的是( )。

    A.此while语句将无限循环

    B.getchar( )不可以出现在while语句的条件表达式中

    C.当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C
    主要是考查while和getchar函数,getchar函数是输入字符函数,while是循环语句,所以当输入的字符为换行符时将执行。

  • 第14题:

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

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

    include<stdio.h>

    main()

    { char ch;

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

    }


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

  • 第15题:

    计算机二级程序

    #include <stdio.h>

    int main()

    {

     int n=0;

     while((getchar()!='\r')||(getchar()!='\n')) n++;

     printf("%d",n);

     return 0;

    }

    哪错了?


    代码不完整

    void show(FUNC2 fun,int arg1, int*arg2)
    {
    INCp=&inc;
    int temp =p(arg1);
    fun(&temp,&arg1, arg2);
    printf("%d\n",*arg2);
    }

    mian()里面赋点值啊  没值这程序做什么啊

  • 第16题:

    有以下程序includemain(){int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t);}程序运行后的

    有以下程序 #include<stdio.h> main() { int a=5,b=lt; t=(a<<2)|b;printf("%d\n",t); } 程序运行后的输出结果是______。

    A.21

    B.11

    C.6

    D.1


    正确答案:A
    解析:本题主要考查了C语言的逻辑运算符,先将变量a,b的值转换为2进制数,a=00000101,b=00000001,a先左移 2位结果为00010100,再与b按位或运算,结果为00010101,转换为十进制数为21,因此,选项A是正确的。

  • 第17题:

    有以下程序: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。

  • 第18题:

    有以下程序段

    #include<stdio.h>

    main()

    {

    while(getchar()!=‘\n’);

    }

    以下叙述中正确的是

    A.此while语句将无限循环

    B.getchar()不可以出现在while语句的条件表达式中

    C. 当执行此while语句时,只有按回车键程序才能继续执行

    D.当执行此while语句时,按任意键程序就能继续执行


    正确答案:C

  • 第19题:

    有以下程序: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中的字符输出到标准输出设备上。并且字符可以看作整数参与运算。

  • 第20题:

    若变量已正确定义,下列正确的程序段是( )。

    A.while(ch=getchar()=='\NN')putchar(ch);

    B.while((ch=getchar())=='\n')putchar(ch);

    C.while((ch=getchar())!='\N')putchar(ch);

    D.while((ch=getchar())!='\n')putchar(ch);


    正确答案:D
    解析:本题考查两个知识点:①C语言用'n\'这个字符常量表示换行;②函数getchar()的作用是从终端输入一个字符,当遇到换行时结束输入。

  • 第21题:

    有以下程序: include main ( ) {int k=5,n =0; while ( k>0){switch (k) {default: b

    有以下程序: #include <stdio, h>main ( ) { int k=5,n =0; while ( k>0) { switch (k) { default: break; case 1 : n+ =k; case 2 : case3 : n+ =k; } k--; printf( "% d \n" ,n);}程序运行后的输出结果是( )。

    A.0

    B.4

    C.6

    D.7


    正确答案:D
    解析:在程序中,当L的值为5和4时,case都没有与其匹配的值,所以执行default语句;当k=3时,执行n+=k;得n=3;当L=2时,执行case2:然后顺序执行case3:n+=k;得n=5;当k=1时,执行case1:n+=k;得n=6,然后顺序执行case2:和case3:n+=k;使得n=7。

  • 第22题:

    有以下程序: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。

  • 第23题:

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

    abcdefg#

    B

    abcdefg

    C

    abcdefg##

    D

    ##


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