更多“以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写().  ch=getchar( );  while(ch ____ 'Y')/*在括号中填写*/  ch=getchar( );”相关问题
  • 第1题:

    设变量已正确定义 , 以下不能统计出一行中输入字符个数 ( 不包含回车符 ) 的程序段是

    A)n=0;while((ch=getchar())!='\n')n++;

    B)n=0;while(getchar()!='\n')n++;

    C)for(n=0;getchar()!='\n';n++);

    D)n=0;for(ch=getchar();ch!='\n';n++);


    正确答案:D

  • 第2题:

    运行下面程序时,从键盘输入字母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! Good Moring!

    C.Hello! Good morning! Bye_Bye!

    D.Hello! Bye_Bye!


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

  • 第3题:

    要求通过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
    解析:本题考查if else语句。第1个if语句,先判断条件,发现ab条件成立,执行下列的语句;第2个汀语句,先判断条件,发现b!=3条件成立,执行下列的语句;第3个汀语句,先判断条件,c=5,则!c条件不成立,执行与其配对的else语句:第4个if语句,先判断条件,d=0,条件不成立,则x=-1,结束循环。

  • 第4题:

    在执行以下程序时,如果从键盘上输入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

  • 第5题:

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

    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函数的作用是从终端输入一个字符,当遇到换行时结束输入。

  • 第6题:

    若输入字符串:abcde↙,则以下while循环体将执行次。while((ch=getchar())==’e’)printf("*");


    正确答案:×
    在做这个题目时,我们首先需要清楚函数getchar()的作用,该函数的作用是从键盘获得用户输入的一个字符,只能是一个字符,当用户输入大量的字符时,第一个字符有效。
    本题中,键盘输出的是abcde,输入的第1个字符是a,不管后面输入的是什么,ch的值都是’a’,因此,条件(ch=getchar())==’e’为假,这个循环不会被执行,无法输出*,因此本题的答案是0。

  • 第7题:

    有如下程序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

  • 第8题:

    运行下面程序时,从键盘输入字母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后的语句也被执行了。

  • 第9题:

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

  • 第10题:

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

    A.Hello!

    B.Hello! GoodMoring!

    C.Hello! Good moming! Bye_ye!

    D.Hello! Bye_ye!


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

  • 第11题:

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

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

    A.ABCdef

    B.abcDEF

    C.abc

    D.DEF


    正确答案:B

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


    正确答案: A
    解析:
    A项正确,“(ch=getchar())!='N'”表示先把getchar()函数的返回值赋值给ch,然后判断,当读入字母不为N时,ch与'N'不相等,执行打印函数printf,当读入字母N时,ch与'N'相等,循环结束,同理知选项D错误。B项错误,“ch=getchar()='N'”表达式从右向左计算,会把´N´赋值给getchar()函数的返回值,而getchar()函数的返回值是右值,不可改变,出现编译错误;C项错误,“ch=getchar()=='N'”中“==(等于)”的优先级高于“=(赋值)”,它等价于“ch=(getchar()=='N')”,此时ch的取值是0或1。答案选择A选项。

  • 第13题:

    (22)设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是

    A)n=0;while((ch=getchar())!=’\n’)n++; B) n=0;while(getchar()!=’\n’)n++;

    C)for(n=0; getchar()!=’\n’;n++); D)n=0;for(ch=getchar();ch!=’\n’;n++);


    正确答案:D

  • 第14题:

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

    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指向的存储空间一定要明确,否则可能影响程序的正确性。

  • 第15题:

    下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 Int n=0, ch; Ch=getchar( ); While( __________________ ) { if ( ________________ ) n++; c=getchar( ); }


    正确答案:
    ch!=’\n’ch>=’0’ch<=’9’

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

    要求通过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值。

  • 第18题:

    下列程序运行时,若输入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

  • 第19题:

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

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

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

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

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


    正确答案:A
    while循环的执行过程如下:①计算while后面圆括号中表达式的值。当值为非0时,执行步骤②;当值为0时,执行步骤④。②执行循环体一次。③转去执行步骤①。④退出循环。在选项A中,表达式(ch=get-char)!=N表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环。所以选项A为正确答案。

  • 第20题:

    若变量已正确定义,以下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)。

  • 第21题:

    设变量已正确定义,下列不能统计出一行中输入字符个数(不包含回车符)的程序段是( )。

    A.n=0;while((ch=getchar( ))!=\n)n++;

    B.n=0;while(getchar( )!=\n)n++;

    C.for(n=0;getchar( )!=\n;n++);

    D.n=0;for(ch=getchar( );ch!=n;n++);


    正确答案:D
    D。【解析】本题中,第一条语句对变量n赋初值时为0,在for循环中,从getchar函数得到一个输入的字符,然后判断这个字符是否为回车换行符,如果不是,则变量n加1,而在程序运行时,每次输入时是一个字符串,而不是一个字符,因而for循环语句得不到正确的执行,所以不能够统计出一行中字符的个数。所以正确答案为选项D。

  • 第22题:

    要求通过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句,故也错误。

  • 第23题:

    若输入字符串:abcde<回车>,则以下while循环体将执行()次.  While((ch=getchar( ))=='e') printf("*"); 


    正确答案:0