若程序执行时的输入数据是“2473”,则下述程序的输出结果是includevoid main(){int cs;若程序执行时的输入数据是“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);de

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

若程序执行时的输入数据是“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


相似考题
更多“若程序执行时的输入数据是“2473”,则下述程序的输出结果是#include<stdio.h>void main(){int cs; ”相关问题
  • 第1题:

    下列程序的输出结果是()。includevoid p(int *x){printf("%d",++*x);}void main(){int

    下列程序的输出结果是( )。 #include<stdio.h> void p(int *x) { printf("%d",++*x); } void main() { int y=3; p(&y); }

    A.3

    B.4

    C.2

    D.5


    正确答案:B
    解析:本题考查函数调用时的参数传递。在函数调用时,形参是指向实参的指针变量,则printf的执行结果为3+1=4。

  • 第2题:

    下列程序的输出结果是【 】。include void swap(int *a, int *B) { int *t; t=a;a=b;b=t;

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

    include <stdio.h>

    void swap(int *a, int *B)

    {

    int *t;

    t=a;a=b;b=t;

    }

    main()

    {

    int i=3,j=5,*p=&i,*q=&j;

    swap(p,q);printf("%d %d\n",*p,*q);

    }


    正确答案:3 5
    3 5 解析:本题考查函数中实参和形参的传递,在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但没有返回值,故最终的输出结果为3 5。

  • 第3题:

    下列程序的输出结果是()。 include int fun(int x) {int a; if(x==0‖x==1) return 3;

    下列程序的输出结果是( )。

    #include<stdio.h>

    int fun(int x)

    { int a;

    if(x==0‖x==1)

    return 3;

    else

    a=x-fun(x-2) ;

    return a;

    }

    void main()

    { printf("%d",fun(7) );

    }

    A.2

    B.8

    C.9

    D.5


    正确答案:A
    解析:本题考查函数的递归调用。在函数递归调用时,fun(7):a=7-fun(5)→fun(5):a=5-fun(3)→ fun3:a=3-fun(1)→fun(1):a=3,反推回去fun(3):a=3-3=0→ fun(5):a=5-0=5→fun(7):a=7-5=2,最后的计算结果为2。

  • 第4题:

    若程序执行时的输入数据是"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后面的语句。

  • 第5题:

    若执行下列程序时从键盘上输入2,则输出结果是()。 inclUde main() {int a; scanf("%d",

    若执行下列程序时从键盘上输入2,则输出结果是( )。

    #inclUde<stdio.h>

    main()

    {int a;

    scanf("%d",&A);

    if(a++<3)

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

    else printf("%d\n",a--);

    }

    A.1

    B.3

    C.2

    D.4


    正确答案:B
    解析:本题考查if else语句。程序中首先使用函数scanf()通过键盘读入a的值,并通过第1个if语句,先判断条件,取a的值2和3比较,然后将a的值加1,发现条件成立,执行下列的printf语句,输出a的值3。

  • 第6题:

    以下程序的输出结果是#include "stdio.h"main(){ int a=065; printf("%d\n",--a);}


    正确答案:52
    本题主要考查数据的格式化输出。程序首先给整型变量a赋一个八进制数的初值,根据输出的格式“%d”我们知道,最终需要输出一个十进制数的结果,因此,首先需要将八进制数转换为十进制数,这个过程我们可以通过二进制数来实现,即首先将八进制转换为二进制,然后将二进制转换为十进制。
    由于2的3次方等于8,因此,一位八进制数对应于三位二进制数,因此,65对应的二进制数为110101,其中6对应前面的110,而5对应后面的101,再将这个二进制数转换为十进制为32+16+4+1=53,再自减1后输出。因此,本题程序的输出结果为52。

  • 第7题:

    下述程序的输出结果是()。include int f(n)int n;{if(n==0 | | n==1)return 3;return n

    下述程序的输出结果是( )。 #include <stdio.h> int f(n) int n; { if(n==0 | | n==1) return 3; return n-f(n-2); } void main() {printf("\n%d",f(10)); }

    A.3

    B.8

    C.9

    D.10


    正确答案:A
    解析:本题定义了一个递归函数f()。当传入的参数n等于1或0时返回3,否则返回n-f(n-2)。所以f(10)=10-f(8)=10- (8—f(6))=10-8+(6-f(4))=10-8+6-(4-f(2))=10-8+6-4+(2-f(0))=10-8+6-4+2-3=3。故本题应该选择A。

  • 第8题:

    有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

    有以下程序,程序执行后,输出结果是【 】

    include<stdio.h>

    void fun(int*A)

    { a[0]=a[1];}

    main()

    { int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

    for(i=2;i>1=0;i-) fun(&a[i]);

    for(i=0;i<10;i++) printf("%d,a[i]);

    printf("\n");

    }


    正确答案:7777654321
    7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

  • 第9题:

    若从键盘输入70,则以下程序输出的结果是【】。includevoid main(){int a; cin>>a;if(a>

    若从键盘输入70,则以下程序输出的结果是【 】。

    include<iostream.h>

    void main()

    {

    int a; cin>>a;

    if(a>50) cout<<a;

    if(a>40) cout<<a;

    if(a>30) cout<<a;

    }


    正确答案:707070
    707070

  • 第10题:

    下列程序的输出结果是()。 include void main() {int b[6]-<2,4,6,8,10,12}; int*p=b,*

    下列程序的输出结果是( )。

    #include<stdio.h>

    void main()

    { int b[6]-<2,4,6,8,10,12};

    int*p=b,**q=&p;

    printf("%d",*(p++));

    printf("%d,",**q);

    }

    A.4,4

    B.2,2

    C.4,5

    D.2,4


    正确答案:D
    解析:首先定义了一个指向一维数组b的指针p,一个指向指针p的指针变量q,输出*(p++)是先输出*p即 b[0]的值,再将指针p指向数组的下一个元素b[1],输出 **q是输出指针p所指单元的内容,即b[1]的值。

  • 第11题:

    下列程序的输出结果是()。 include void main() {int a=0,b=1,c=2; if(++a>0‖++b>0) +

    下列程序的输出结果是( )。

    #include<stdio.h>

    void main()

    { int a=0,b=1,c=2;

    if(++a>0‖++b>0)

    ++C;

    printf("%d,%d,%d",a,b,C) ;

    }

    A.0,1,2

    B.1,2,3

    C.1,1,3

    D.1,2,2


    正确答案:C
    解析:本题考查汀语句。先判断if语句的条件是否成立,++a=1>0,此条件成立,又因为是进行逻辑或运算,在已知其中一个运算对象为真的情况下,不必判断另外一个运算符的真假,即不进行++b操作,就可以直接得出整个表达式的值为逻辑1,执行下列的++c。

  • 第12题:

    以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

    以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


    正确答案:3 5
    3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。

  • 第13题:

    以下程序的输出结果是( )。 include void fun(int x) {if(x/2>0)fun(x/2); printf("%d",

    以下程序的输出结果是( )。

    include<stdio.h>

    void fun(int x)

    { if(x/2>0)fun(x/2);

    printf("%d",x);

    }

    main()

    {fun(3);printf("\n");

    }


    正确答案:13
    13 解析:函数fun是一个递归函数。执行fun(3);,x=3,x/2=1>0,又调用f(1),此时,x=1,x/2=0,不满足继续递归调用的条件,输出1,返回到fun(3)中,输出3。所以本题的输出结果为13。

  • 第14题:

    若运行时给变量x输入12,则以下程序的运行结果是 include void main( ) { int

    若运行时给变量x输入12,则以下程序的运行结果是 #include<iostream.h> void main( ) { int x,y; cin > > x; y=x > 12? x+lO:x-12; cout < < y; cout < < end1; }

    A.0

    B.22

    C.12

    D.10


    正确答案:A
    解析:三目运算符的表达式为(表达式1)?(表达式2):(表达式3),运算过程是当(表达式1)的值为真时,求(表达式2)的值为整个表达式的值;如果(表达式1)的值为假,则求(表达式3)的值为整个表达式的值。题中,表达式x>12的结果为假,所以执行的语句是x-12,最终结果应该是0。注意:“?:”的优先级高于“=”运算符的优先级。

  • 第15题:

    若执行下面的程序时,从键盘上输入5和2,则输出结果是includevoid main( ){int a,b,k

    若执行下面的程序时,从键盘上输入5和2,则输出结果是 #include<iostream.h> void main( ) { int a,b,k; cin >> a >> b; k=a; if(a<b) k=a%b; else k=b%a; cout < < k < < endl;}

    A.5

    B.3

    C.2

    D.0


    正确答案:C
    解析:本题考查简单的if…else语句。先执行条件if(ab) ,显然不成立,则执行else语句。

  • 第16题:

    下述程序的输出结果是()。include int fun(int a){intb=0;staticintc=3;b++,c++;return

    下述程序的输出结果是( )。 # include <stdio.h> int fun( int a) { int b=0; static int c=3; b++,c++; return a+b+c; } void main() { int x=2,i; for(i=1;i<3;i++) printf("%d",fun(x)); }

    A.56

    B.67

    C.78

    D.89


    正确答案:C
    解析:本题主函数中的for循环会循环两次,即输出连续两次调用fun(2)的返回值。在fun()函数中定义了一个静态变量c,第一次调用fun()时c被初始化为3,然后自增为4,最后输出a+b+c为2+1+4=7。由于静态变量的生存周期为整个程序执行周期,所以第二次调用fun()时c的值为4,然后自增为5,故最后输出a+b+c为2+1+5=8。所以程序的输出结果是78,应该选择C。

  • 第17题:

    以下程序输出的结果是_____。 include void main( ) { int a=5,b=4,c=3,d; d=(a>b>c

    以下程序输出的结果是_____。

    include<iostream.h>

    void main( )

    {

    int a=5,b=4,c=3,d;

    d=(a>b>c) ;

    cout < < d;

    }


    正确答案:×
    0 解析:本题的关键在于对变量c的赋值运算:
    d=(a>b>c)
    d=(5>4>3)
    先算5>4,为真,得1,即:d=(1>3) ,此时1>3,为假,得0。

  • 第18题:

    以下程序的输出结果是【】。 include main() {struct stru {int a; float b; char d[4]; }

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

    include<stdio.h>

    main()

    { struct stru

    { int a;

    float b;

    char d[4];

    };

    printf("%d\n",sizeof(struct stru));

    }


    正确答案:10
    10 解析:结构体变量占用内存空间的字节数是结构体各分量占用内存空间的字节数的总和。int型变量占用2字节,float型变量占用4字节,char型占用1字节,char d[4]是含有4个元素的char型数组,占用4字节。sizeof(struct stru)是计算结构体变量占用内存空间的字节数,2+4+4=10。

  • 第19题:

    若执行下述程序时,从键盘输入的数据是3和6,则程序的输出结果是()。includevoid main(){

    若执行下述程序时,从键盘输入的数据是3和6,则程序的输出结果是( )。 #include <stdio.h> void main() {int x,y,z; scanf("%d%d",&X,&y); z = y + x; if (x<y) z = y + x; printf("%d",z); }

    A.9

    B.3

    C.0

    D.有语法错误


    正确答案:B
    解析:变量x得到数据3,变量y得到数据6。z=6+3=9。xy即36关系表达式的值为1,执行z=y-x=6-3=3。最后输出z的值为3。

  • 第20题:

    若执行下列的程序时,从键盘上输入1和2,则输出结果是( )。 include main(){ int a,b,s;s

    若执行下列的程序时,从键盘上输入1和2,则输出结果是( )。 #include<stdio.h> main() { int a,b,s; scanf("%d%d",&a,&b); s=a; if(a<b) s=b; s=s*s; printf("%d\n",s); }

    A.1

    B.4

    C.2

    D.9


    正确答案:B
    解析:本题考查if语句。scanf函数通过键盘读入a、b的值,a=1,b=2。第一个if语句,先判断条件,发现ab条件成立,则s=b=2, s=s*s=4。

  • 第21题:

    以下程序的输出结果是 include void main( ) {int a=21,b=11; cout<<- -a+

    以下程序的输出结果是 #include<iostream.h> void main( ) { int a=21,b=11; cout<<- -a+b;}

    A.30

    B.31

    C.32

    D.33


    正确答案:B
    解析:自减运算符位于变量之前时,先使变量的值减1,再进行运算。

  • 第22题:

    若程序执行时的输入数据是"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后面的语句。

  • 第23题:

    下列程序运行时输入1234567,则输出结果是______。includemain(){ int a=1,b;scanf("

    下列程序运行时输入1234567<CR>,则输出结果是______。

    include<stdio.h>

    main()

    { int a=1,b;

    scanf("%2d%2d",&a,&b);printf("%d %d\n", a,b);

    }


    正确答案:

    本题考查的重点是scanf函数的调用。scanf(“格式化字符串>”,地址表>),格式化字符串后可以加上场宽,本题中两个变量的场宽都为2,所以输入1234567CR>后,变量a的值为12。变址b的值为34,从而输出为12 34。

  • 第24题:

    执行以下程序时输入1234567,则输出结果是【 】。 includemain(){int a=1,b; scanf("%2

    执行以下程序时输入1234567<CR>,则输出结果是【 】。

    include <stdio.h>

    main()

    { int a=1,b;

    scanf("%2d%2d",&a,&b); prinff("%d %dhn",a,b);

    }


    正确答案:12  34
    12  34 解析:本题考查的知识点是:Scanf()函数。 scanf()是标准输入函数;其第1个参数为格式控制字符串。其中“%2d”表示读入一个2个字符宽的整数。所以本题代码将连续读入2个2字符宽的整数分别存到变量a和b中。根据题目要求,输入数据1234567CR>,则scanf()读入的两个整数分别为 12和34,故输出结果为12  34。