单选题有如下程序:#includemain(){  int i; for (i=0;i<5;i++)  putchar('9'-i); printf();}程序运行后的输出结果是(  )。A 54321B 98765C '9''8''7''6''5 'D '43210'

题目
单选题
有如下程序:#includemain(){  int i; for (i=0;i<5;i++)  putchar('9'-i); printf();}程序运行后的输出结果是(  )。
A

54321

B

98765

C

'9''8''7''6''5 '

D

'43210'


相似考题
更多“单选题有如下程序:#includemain(){  int i; for (i=0;i5;i++)  putchar('9'-i); printf();}程序运行后的输出结果是(  )。A 54321B 98765C '9''8''7''6''5 'D '43210'”相关问题
  • 第1题:

    有以下程序 main( ) { int m[ ][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是

    A.4 5 6

    B.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:C
    解析:本题的功能是输出m[2)[0],m[2][1]和m[2][2]。

  • 第2题:

    有以下程序: #include<stdio.h> #define N 3 void fun(int a[][N],int b[]) { int i,j; for(i=0;i<N;i++) { b[i]=a[i][0]; for(j=i;j<N;j++) if(b[i]<a[i][j]) b[i]=a[i][j]; } } main( ) { int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("\n"); } 程序运行后的输出结果是(,)。

    A.2,4,8,

    B.3,6,9,

    C.3,5,7,

    D.1,3,5,


    正确答案:B
    Fun函数功能是把数组a的每一行的最大值赋给b,a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。

  • 第3题:

    有以下程序: void sort(int a[],int n) { int i,j,t; for(i=0;i<n;i++) for(j=i+1;<n;j++) if(a[i]<a[j]){ t=a[i]; a[i]=a[j]; a[j]=t; } } main() {int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa+2,5); for(i=0;i<10;i++)printf("%d,",aa [i]); printf("\n"); } 程序运行后的输出结果是 ______ 。

    A.1,2,3,4,5,6,7,8,9,10,

    B.1,2,7,6,3,4,5,8,9,10,

    C.1,2,7,6,5,4,3,8,9,10,

    D.1,2,9,8,7,6,5,4,3,10,


    正确答案:C
    解析:本题sort函数的作用是将指定的数由大到小排序。主调函数“sort(aa+2,5);”中的实参aa+2是指aa[2]的地址,将其传给了形参a[],使得形参中a[0]的值为主函数中aa[2]的值,即3;实参中的5传绐形参中的n,在sort函数中起着限制循环次数的作用,即使得参加排序的只有5个数,从aa[2]到aa[6],所以本题输出的结果是1,2,7,6,5,4,3,8,9,10,。

  • 第4题:

    有下列程序:

    void sort(int a[],int n)

    { int i,j,t;

    for(i=0;i<n-l;i++)

    for(j=i+1;j<n;j++)

    if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;}

    }

    main

    { int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;

    sort(aa+2,5);

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

    printf("\n");

    }

    程序运行后的输出结果是( )。

    A.1,2,3,4,5,6,7,8,9,l0,

    B.1,2,7,6,3,4,5,8,9,10,

    C.1,2,7,6,5,4,3,8,9,10,

    D.1,2,9,8,7,6,5,4,3,10,


    正确答案:C
    本题考查排序的使用由sort函数的两层for循环语句可知,其二々能是把数组a口中的元素按照从大到小的顺序进行排列。在main函数中首先定义了一维整型数组aa[10],然后调用sort(aa+2,5)实现从数组aa中下标为2的元素“3”开始.其后连续的5个元素从大到小进行排列,其余元素不变。

  • 第5题:

    有以下程序 vold soru(int a[], int n) { int i,i,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[i]; a[j]=t; } } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10),i; sore(aa+2, 5); for(i=0;i<10;i++) printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是

    A.1,2,3,4,5,6,7,8,9,10,

    B.1,2,7,6,3,4,5,8,9,10,

    C.1,2,7,6,5,4,3,8,9,10,

    D.1,2,9,8,7,6,5,4,3,10,


    正确答案:C
    解析:先看sort()函数,它没有返回值,有两个参数,一个int型数组和一个int型变量。在函数中是一个;重循环,外循环变量i从0递增到n-2,内循环变量j从i+l递增到n-1。内循环体是一条if语句“如果a[i]

  • 第6题:

    有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是

    A.456

    B.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:C
    解析:本题考核的知识点是二维数组的定义,赋值及数组元素的引用。变量k的初值为2,循环执行了3次,分别输出m[2][0]、m[2][1]和m[2][2],其值分别为3,6,9。所以,C选项为所选。

  • 第7题:

    有以下程序: #include<stdio.h> void exch(int t[]) { t[0]=t[s];} main( ) { int x[10]={1,2,3,4,5,6,7,8,9,10},i=0; while(i<=4){exch(&x[i]);i++;} for(i=0;i<5;i++)printf("%dl"x[i]); printf("\n"); } 程序运行后输出的结果是( )。

    A.2 4 6 8 10

    B.1 3 5 7 9

    C.1 2 3 4 5

    D.6 7 8 9 10


    正确答案:D
    本题中exch函数是用数组中的第6个元素对第1个元素进行赋值,所以数组的值应该为678910。

  • 第8题:

    ( 9 )有以下程序

    #include <stdio.h>

    main ()

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

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

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

    printf ( " \n " ) ;

    }

    程序运行后的输出结果是 【 9 】 。


    正确答案:

  • 第9题:

    单选题
    有以下程序:#includemain(){ int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for(i=0;i<5;i++)s=s+a[b[i]]; printf(%d,s);}程序运行后的输出结果是(  )。
    A

    6

    B

    10

    C

    11

    D

    15


    正确答案: A
    解析:
    当i=0时a[b[0]]=1;当i=1时a[b[1]]=3;当i=2时a[b[2]]=2;当i=3时a[b[3]]=4;当i=4时a[b[4]]=1。故s=1+3+2+4+1=11。答案选择C选项。

  • 第10题:

    单选题
    有以下程序 #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(); } 程序运行后的输出结果是(  )。
    A

    aBcDeF

    B

    ABCDEF

    C

    AbCdEf

    D

    abcdef


    正确答案: A
    解析:
    本题中,当i为偶数时,即0、2、4,执行putchar(i+c)会依次输出ACE;当i为奇数时,即1、3、5,执行putchar(i+b)会依次输出bdf,所以最终输出AbCdEf。答案选择C选项。

  • 第11题:

    单选题
    有以下函数:#include void exch(int t[]){ t[0] = t[5];}main(){ int x[10] = {1,2,3,4,5,6,7,8,9,10},i=0; while(i <= 4) {  exch(&x[i]);  i++; } for(i = 0;i < 5;i++)printf(%d,x[i]);}程序运行后的输出结果是(  )。
    A

    2 4 6 8 10

    B

    1 3 5 7 9

    C

    1 2 3 4 5

    D

    6 7 8 9 10


    正确答案: B
    解析:
    函数exch的作用就是把数组某个元素的值变为这个元素位置加5后对应的元素值,所以执行完之后输出数组x的前五个元素的值,其实就是数组x的后五个元素的值,答案选择D选项。

  • 第12题:

    单选题
    有以下程序#include void f(int b[]){ int i; for(i=2;i<6;i++)b[i]*=2;}main(){ int a[]={1,2,3,4,5,6,7,8,9,10},i; f(a); for(i=0;i<10;i++)  printf("%d,",a[i]);}程序运行后的输出结果是(  )。
    A

    1,2,6,8,10,12,7,8,9,10,

    B

    1,2,3,4,5,6,7,8,9,10,

    C

    1,2,3,4,10,12,14,16,9,10,

    D

    1,2,6,8,10,12,14,16,9,10,


    正确答案: A
    解析:
    数组名用作函数参数的情况类似于指针,属于传地址,故对形参数组元素的修改会同时修改实参。f函数通过一个for循环语句,将传入数组的元素从下标2到下标5每个各自乘以2。因此,调用结束时,数组a中的内容为{1,2,6,8,10,12,7,8,9,10}。答案选择A选项。

  • 第13题:

    有以下程序 #define N 20 fun(int a[],int n,:Int m) { int i,i; for(i=m; i>n; i--) a[i+1);a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fuu(a,2,9); for(i=0; i<5; i++) printf("%d",a[i]); } 程序运行后的输出结果是

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:数组名可以作为实参传送,由于数组名本身是一个地址值,因此,在函数中对形参数组元素的修改也会相应改变实参数组的元素.在本题中,函数fun()通过一个for循环,将形参数组a中下标为n到m之间的元素向后移动一位,a[n]元素的值不变。所以主函数调用fun(a,2,9);之后,数组a的内容变成{1,2,3,3,4,5,5,6,7,8,9,10},最后通过for循环输出数组前5个元素为12334。选项C符合题意。

  • 第14题:

    有以下程序: # define N 20 fun(int a[], int n, int m) { int i, j; for(i=m; i>=n; i--)a[i+1]=a[i]; } main() { int i, a[N]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; fun(a, 2, 9); for(i=0; i<5; i++)printf("% d", a[i]); } 程序运行后的输出结果是______。

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:由于用了宏定义a[10]~a[19]均为0。函数fun的功能是把从a[n]到a[m]中的元素依次赋给后面的一个元素。调用了fun(a, 2, 9)以后,a[N]={1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10}。

  • 第15题:

    有以下程序

    #include <stdio.h>

    void exch(int t[ ])

    { t[0]=t[5]; }

    main( )

    { int x[10]={1,2,3,4,5,6,7,8,9,10),i=0;

    while(i<=4){ exch(&x[i]); i++; }

    for( i=0; 1<5;i++) printf(”%d",x[i]);.

    printf( "\n");

    }

    程序运行后输出的结果是

    A) 2 4 6 8 10

    B) 1 3 5 7 9

    C) 1 2 3 4 5

    D) 6 7 8 9 10


    正确答案:D
    【答案】D
    【知识点】数组作为参数进行的函数调用
    【解析】第一次调用将x[0]的地址作为了形参数组t的首址,使得x[0]的值变成了6。第二次调用将x[1]的地址作为了形参数组t的首址,使得x[1]的值变成了7。第三次调用将x[2]的地址作为了形参数组t的首址,使得x[2]的值变成了8。第四次调用将x[3]的地址作为了形参数组t的首址,使得x[3]的值变成了9。第五次调用将x[4]的地址作为了形参数组t的首址,使得x[4]的值变成了10。

  • 第16题:

    有以下程序,程序执行后,输出结果是【】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。

  • 第17题:

    有以下程序

    #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

  • 第18题:

    有以下程序:includemain() {int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i

    有以下程序: #include <stdio.h> main() { int a[3][3],*p,i; p=&a[0][0]; for(i=0;i<9;i++) p[i]=i+1; printf("%d\n",a[1][2]); } 程序运行后的输出结果是( )。

    A.3

    B.6

    C.9

    D.2


    正确答案:B
    解析:本题考查指向数组元素的指针变量。p=&a[0][0]是把该数组的第一个元素a[0][0]的地址赋给指针变量p,a[1][2]是数组中的第6个元素,根据for循环中的赋值可知,输出结果是6。

  • 第19题:

    若有如下程序: sub(p,n) int(*p)[3],n; { int i; for(i=0;i<=n;i++) printf("%d",*(*(p+i)+n)); } main() {int s[3][3]={1,2,3,4,5,6,7,8,9}; sub(s,2); } 则程序运行后的输出结果是( )

    A.3 6 9

    B.2 4 8

    C.4 5 6

    D.7 8 9


    正确答案:A

  • 第20题:

    ( 11 )有以下程序

    #include <stdio.h>

    main ()

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

    int b[3]={0},i;

    for ( i=0;i<3;i++ ) b[i]=a[i][2]+a[2][i];

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

    printf ( " \n " ) ;

    }

    程序运行后的输出结果是 【 11 】 。


    正确答案:

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

    单选题
    有以下程序:#includemain(){ int i; for(i=1;i<=5;i++) {  if(i%2)printf(*);  else continue;  printf(#); } printf($);}程序运行后的输出结果是(  )。
    A

    *#*#*#$

    B

    *#*#*$

    C

    *#*#$

    D

    *#*#*#*$


    正确答案: A
    解析:
    本题执行过程为:i=1,1%2=1,if条件成立,输出*与#;i=2,2%2=0,if条件不成立,执行continue结束本次循环,执行下一次循环;i=3,3%2=1,输出*与#;i=4,4%2=0,执行continue,开始下一次循环;i=5,5%2=1,输出*与#;i=6退出循环。最后输出$。答案选择A选项。

  • 第23题:

    单选题
    有如下程序: #include  main() {  int i;  for(i=0;i<5;i++)   putchar('Z'-i); } 程序运行后的输出结果是(  )。
    A

    'X''Y''Z''W''V'

    B

    VWXYZ

    C

    ZYXWV

    D

    'ABCDE'


    正确答案: D
    解析:
    putchar表示输出单个字符,执行'Z'-i表示用'Z'对应的ASCII码减去i,putchar('Z'-i)表示输出对应ASCII码值为('Z'-i)的字符,在for循环中,i=0,1,2,3,4时,执行循环体,输出结果为ZYXWV。答案选择C选项。