单选题有以下程序: #include main() {if('\0'==0)putchar('1');if('0'==0)putchar('2');if('a'>'b')putchar('3'); } 程序运行后的输出结果是(  )。A 1B 123C 23D 3

题目
单选题
有以下程序: #include main() {  if('\0'==0)putchar('1');  if('0'==0)putchar('2');  if('a'>'b')putchar('3'); } 程序运行后的输出结果是(  )。
A

1

B

123

C

23

D

3


相似考题
参考答案和解析
正确答案: A
解析:
'\0'是转义字符,表示空字符,对应的ASCII码为0,成立,输出1;'0'是字符常量和0不等,'a'和'b'都是字符常量,因为'b'>'a',不执行if后面的语句,所以最后输出只有1,答案选择A选项。
更多“单选题有以下程序: #include main() {  if('\0'==0)putchar('1');  if('0'==0)putchar('2');  if('a''b')putchar('3'); } 程序运行后的输出结果是(  )。A 1B 123C 23D 3”相关问题
  • 第1题:

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

  • 第2题:

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

  • 第3题:

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

    #include .<stdio.h>

    Main( )

    { char a,b;

    for( a=0; a<20; a+=7) { b=a% 10; putchar(b+'0'); }

    }


    正确答案:
    【答案】074
    【知识点】取模运算与字符间的关系
    【解析】本题第一次循环时a的值为0,b的值为0所以打印字符‘0’。第二次循环时a的值为7,b的值为7,所以打印字符‘7’。第三次a的值为14,b的值为4,打印字符‘4’。

  • 第4题:

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

  • 第5题:

    有以下程序

    #include

    main()

    { char b,c; int i;

    b='a'; c='A';

    for(i=0;i<6;i++)

    { if(i%2) putchar(i+b);

    else putchar(i+c);

    } printf("\n");

    }

    程序运行后的输出结果是

    A.ABCDEF

    B.AbCdEf

    C.aBcDeF

    D.abcdef


    正确答案:B

  • 第6题:

    有以下程序: #include main( ) { int k,n=0;char c,str[]="teach"; for(k=0;str[k];k++) { c=str[k]; switch(k) { case 1:case 3:case 5:putchar(c);printf("%d",++n);break; default:putchar(′N′); } } } 序的运行结果是( )。

    A.Ne1NN

    B.e1a2e3

    C.Ne1Nc2N

    D.Na1NNNN


    答案:C
    解析:程序执行过程:k=0时,c=str[0]=′t′,执行default分支,输出N;k=1时,c=′e′,执行case 1分支,没有break语句,继续执行case 3分支,没有break语句,继续执行case 5分支,输出e1;k=2时,c=′a′,输出N;k=3,c=′c′,输出c2;k=4,c=′h′,输出N。故程序的输出结果为Ne1Nc2N。

  • 第7题:

    有以下程序includesub1(char a,char B) {char c;c=a;a=b;b=c;}sub2(char *a,char B) {

    有以下程序 #include<stdio.h> sub1(char a,char B) {char c;c=a;a=b;b=c;} sub2(char *a,char B) {char c;c=*a;*a=b;b=c;} sub3(char *a,char *B) {char c;c=*a;*a=*b;*b=c;} main() { cha,a,b; a='A';b='B';sub3(&a,&b) putchar(a);putchar(b); a='A';b='B';sub2(&a,b) ;putchar(a);putchar(b); a='A';b='B';sub1(a,b) ;putchar(a);putchar(b); } 程序运行后的输出结果是( )

    A.BABBAB

    B.ABBBBA

    C.BABABA

    D.BAABBA


    正确答案:A

  • 第8题:

    (23)有以下程序

    #include <stdio.h>

    main()

    { char b,c; int i;

    b='a'; c='A';

    for(i=0;i<6;i++)

    { if(i%2) putchar(i+b);

    else putchar(i+c);

    } printf("\n");

    }

    程序运行后的输出结果是

    A)ABCDEF

    B)AbCdEf

    C)aBcDeF

    D)abcdef


    正确答案:B

  • 第9题:

    单选题
    有如下程序:#include int disp(char *str){ while(*str) putchar(*str++); return *str;}main(){ printf(%d,disp(NAME));}程序运行后的输出结果是(  )。
    A

    NAME0

    B

    NAMEE

    C

    NAME

    D

    NAME\0


    正确答案: D
    解析:
    程序执行过程为:调用函数disp,将字符串“NAME”首地址传给指针str,在while循环中,依次判断字符串中字符是否为'\0',不是'\0'则输出字符,否则结束循环。当(*str) = '\0'时,结束循环,返回字符'\0'的ASCII码0,并输出。程序运行后的输出结果是:NAME0。答案选择A选项。

  • 第10题:

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

  • 第11题:

    单选题
    有以下程序:#include int disp(char *str){ while(*str) putchar(*str++); putchar('#'); return *str;}main(){ printf(%d,disp(C##123));}程序运行后的输出结果是(  )。
    A

    C##123#0

    B

    C##1230

    C

    C##0

    D

    C##123#\0


    正确答案: B
    解析:
    disp函数中,存在while循环,当指针指向地址单元存储的字符不等于空字符'\0',输出此字符,否则退出循环,输出'#'。在主函数中调用disp函数时,字符串"C##123"先全部输出,当指针指向字符串最后的空字符时,退出循环,输出'#',并且再将'\0'返回输出。由于disp函数返回类型为int,所以返回'\0'的ASCII码0,答案选择A选项。

  • 第12题:

    单选题
    有以下程序:#include main(){ int k,n=0;char c,str[]=teach; for(k=0;str[k];k++) {  c=str[k];  switch(k)  {   casel: case3: case5: putchar(C); printf(%d,++n); break;   default:putchar('N');  } }}程序的运行结果是(  )。
    A

    Ne1NN

    B

    e1a2e3

    C

    Ne1Nc2N

    D

    Na1NNNN


    正确答案: A
    解析:
    程序执行过程:k=0时,c=str[0]='t',执行default分支,输出N;k=1时,c='e',执行case 1分支,没有break语句,继续执行case 3分支,没有break语句,继续执行case 5分支,输出e1;k=2时,c='a',输出N;k=3,c='c',输出c2;k=4,c='h',输出N。故程序的输出结果为Ne1Nc2N。答案选择C选项。

  • 第13题:

    有以下程序: #include<stdio.h> int f(int x); main( ) { int a,b=0; for(a=0;a<3;a++) { b=b+f(a);putchar(A+b);} } int f(int x) { return x * x1; } 程序运行后的输出结果是( )。

    A.ABE

    B.BDI

    C.BCF

    D.BCD


    正确答案:B
    第一次循环时,b=1,输出结果为B;第二次循环时,b=3,输出结果为D;第三次循环时,b=8,输出结果为I。

  • 第14题:

    有以下程序

    #include <stdio.h>

    main( )

    { char a,b,c;

    b=’1’; c=’A’;

    for(a=0; a<6; a++)

    { if (a%2) putchar(b+a);

    else putchar(c+a);

    }

    }

    程序运行后的输出结果是

    A) 1B3D5F

    B) ABCDEF

    C) A2C4E6

    D) 123456


    正确答案:C
    【答案】C
    【知识点】for循环与取模运算
    【解析】第一次循环a的值为0 ,a%2也为0 ,条件不满足所以打印的是(c+a)即变量c的值“A”。第二次a的值为1,条件a%2的值为1,条件满足打印字符(b+a)即字符 “2”。第三次a的值为2,条件不满足,打印(a+c)即字符”C”。同理打印后续字符为“4E6”。

  • 第15题:

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

    #include <stdio.h>

    main( )

    { char *ch[4]={"red',"green","blue"};

    int i=0;

    while( ch[i] )

    { putchar( ch[i][0]); i++;)

    }


    正确答案:
    【答案】rgb
    【知识点】指针数组的使用方法
    【解析】本函数功能是打印二维数组中每一行的第一个字符的值。

  • 第16题:

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

  • 第17题:

    有以下程序: #include<stdio.h> main( ) {char b,C;int i; b=a;c=A; for(i=0;i<6;i++) {if(i%2)putchar(i+b); else putchar(i+c); }printf("\n"); } 程序运行后的输出结果是( )。

    A.ABCDEF

    B.AbCdEf

    C.aBcDeF

    D.abcdef


    正确答案:B
    此题考查的是putchar函数,此函数是字符输出函数,并且输出的是单个字符。所以答案为B。

  • 第18题:

    若程序执行时的输入数据是"2473",则下述程序的输出结果是

    #include<stdio.h>

    void main()

    { int cs;

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

    {switch(cs-'2')

    { case 0

    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后面的语句。

  • 第19题:

    试题10

    以下程序运行后的输出结果是______.

    #include <stdio.h>

    main()

    {char a;

    for(a=0; a<15; a+=5)

    {putchar(a+’A’);}

    printf(“\n”);

    }


    正确答案:
    试题10分析
    a=0,putchar(a+’A’)输出为A,a=5,putchar(a+’A’)输出为F,a=10,putchar(a+’A’)输出为K。
    试题10答案
      AFK

  • 第20题:

    单选题
    有以下程序: #include  int f(int x); main() {  int a,b=0;  for(a=0;a<3;a++)  {   b=b+f(a);   putchar('A'+b);  } } int f(int x) {  return x*x+1; } 程序运行后的输出结果是(  )。
    A

    ABE

    B

    BDI

    C

    BCF

    D

    BCD


    正确答案: A
    解析:
    第一次调用函数f,返回0*0+1=1,'A'+1为B,输出B;第二次调用函数f,返回f(1)=2,b=1+2=3,输出D;第三次为调用函数f,返回f(2)=5,b=3+5=8,输出I。答案选择B选项。

  • 第21题:

    单选题
    有如下程序 #include  main()  {  int i, *ptr;  int array[5] = {5,3,1};  for (ptr=array, i=0; i<5; i++, ptr++)  {   if (*ptr == 0)    putchar('X');   else    putchar('A' + *ptr);  }  printf(""); } 程序运行后的输出结果是(  )。
    A

    FDBXX

    B

    FFFXX

    C

    FDBBB

    D

    ABCDE


    正确答案: A
    解析:
    对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C语言将自动对余下的元素赋初值,即array={5,3,1,0,0}。程序执行过程为:执行for循环,将数组首地址赋给指针ptr,依次遍历每一个元素,如果数组元素为0则输出'X',如果不为0则按照字母表输出字符'A'后第array[i]个字符。程序运行后的输出结果为:FDBXX,答案选择A选项。

  • 第22题:

    单选题
    有以下程序:#include void fun(int n){ int i; if((i=n/10)!=0)  fun(i); putchar(n%10+'0');}main(){ fun(256);}程序运行后的输出结果是(  )。
    A

    256

    B

    652

    C

    2560

    D

    52


    正确答案: C
    解析:
    程序的执行过程为:调用函数fun(256),i=25,即i!=0,if条件成立,调用fun(25),i=2,即i!=0,if条件成立,调用fun(2),i=0,if条件不成立,输出字符'2',返回fun(25),输出字符'5',返回fun(256),输出字符'6',函数调用结束。答案选择A选项。

  • 第23题:

    单选题
    有如下程序#include main() { if('\0'== 0)putchar('X'); if('0'== 0)putchar('Y'); if('a'>'b')putchar('Z'); printf();}程序运行后的输出结果是(  )。
    A

    X

    B

    XYZ

    C

    YZ

    D

    Y


    正确答案: C
    解析:
    考查ASCII字符,字符'\0'、'0'、'a'、'b'的ASCII码值分别为0、48、97、98。putchar函数是向标准输出设备上输出一个字符。程序执行过程为:判断'\0'==0成立,输出X;判断'0'==0不成立,不输出;判断'a'>'b'不成立,不输出。答案选择A选项。