【单选题】以下程序段运行后x的值为()。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i];A.36B.16C.20D.18

题目

【单选题】以下程序段运行后x的值为()。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i];

A.36

B.16

C.20

D.18


相似考题
更多“【单选题】以下程序段运行后x的值为()。 int a[8]={1,2,3,4,5,6,7,8},i,x=0; for(i=0;i<8;i++,i++) x=x+a[i];”相关问题
  • 第1题:

    有以下程序

    #inculde <stdio.h>

    #deFine N8

    void Fun(int * x,int i)

    main()

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

    Fun(a,2);

    For(i=0;i<N/2;i++)

    { printF(“%d”,a[i]);}

    PrintF(“\n”);

    }

    程序运行后的输山结果是

    A.1313

    B.2234

    C.3234

    D.1234


    正确答案:C
    解析:fun函数的功能是把数组下标为i的值赋值给a[0],所以执行fun(a,2)后,数组前4个数字为3、2、3、4,故选择C。

  • 第2题:

    有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;

    有以下程序

    main( )

    { int x[ ]={1,3,5,7,2,4,6,0},i,j,k;

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

    for (j=2;j>=i;j--)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

    for(j=4;j<7-i;j++)

    if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

    if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

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

    printf("\n");

    }

    程序运行后的输出结果是:

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:程序运行的输出结果是75310246。

  • 第3题:

    以下程序运行后的输出结果是( )。 include main() {char ch[]="abcd",x[4][4];int i; f

    以下程序运行后的输出结果是( )。 include<string.h> main() {char ch[]="abcd",x[4][4];int i; for(i=0;i<4;i++)strcpy(x[i],ch); for(i=0;i<4;i++)printf("%s",&x[i][i]); printf("\n"); }


    正确答案:abcdabcdabcdabcdbcdabcdabcdcdabcdd
    abcdabcdabcdabcdbcdabcdabcdcdabcdd

  • 第4题:

    有以下程序main(){ int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for(j=2;j>=i;j--) if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k; } for (i=0;i<8;i++) printf("%d",x[i]); printf("\n");}程序运行后的输出结果是A.75310246 B.01234567 C.76310462 D.13570246


    正确答案:A
    for(i=0;i<3;i++)
         for(j=2;j>=i;j--)
            if(x[j+1]>x[j]){  k=x[j];x[j]=x[j+1];x[j+1]=k;}
    此段程序的作用是将数组x[0]~x[3]中的数由大到小进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,2,4,6,0}
    for(i=0;i<3;i++)
        for(j=4;j<7-i;j++)
            if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}
    此段程序的作用是将数组x[4]~x[7]中的数由小到大进行排列,运行此段程序后,x[]中的值变为x[]={7,5,3,1,0,2,4,6},最后通过一个循环将X[]中的数依次输出。

  • 第5题:

    以下程序段运行后,循环体运行的次数为()inti=0,x;for(;i<10;i++)x=x+i;

    A.10

    B.0

    C.1

    D.无限


    参考答案:A

  • 第6题:

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

    int x, i ;

    for (i=1; i<=100; i++)

    { x=i;

    if (++x%2==0)

    if (++x%3==0)

    if(++x%7==0) cout<<i<<' , ';

    }


    正确答案:25 67
    25, 67

  • 第7题:

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

    A.1313

    B.2234

    C.3234

    D.1234


    正确答案:C
    本题考查了宏定义与局部变量的区别,宏定义的作用范围为整个程序,而变量的作用范围只在定义它的函数体的部分,因此,主函数中定义的i与fun中的i互不相干。

  • 第8题:

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

  • 第9题:

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

    A.1 2 6 8

    B.8 6 2 1

    C.8 1 6 2

    D.8 6 1 2


    正确答案:C

  • 第10题:

    有以下程序:main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+

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

    A.75310246

    B.1234567

    C.76310462

    D.13570246


    正确答案:A
    解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,在该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的个元素的值为75310246,所以,4个选项中选项A符合题意。

  • 第11题:

    单选题
    有以下程序:#include int fun(){ static int x=1; x*=2; return x;}main(){ int i,s=1; for(i=1;i<=2;i++)s=fun(); printf(%d,s);}程序运行后的输出结果是(  )。
    A

    0

    B

    1

    C

    4

    D

    8


    正确答案: C
    解析:
    对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上次函数调用结束时的值。在主函数中调用了两次fun()函数,第一次调用时x初值为1,执行x*=2后,x=2;第二次调用时初值为2,执行x*=2后,x=4。答案选择C选项。

  • 第12题:

    单选题
    以下程序段运行后,循环体运行的次数为() inti=0,x; for(;i<10;i++)x=x+i;
    A

    10

    B

    0

    C

    1

    D

    无限


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

  • 第13题:

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

    A.1268

    B.8621

    C.8162

    D.8612


    正确答案:C
    解析:函数fun()中用了一个if语句,当数组下标i小于数组下标j时,交换数组元素a[i]和a[j]的值,并使i值加1,j值减1。其功能就是把数组a中从下标i到j的元素首尾互换。主函数中定义一个数组x,该数组有4个元素,接着调用fun(a,O,3),其中将a数组的第一个元素的下标0和最后一个元素的下标3传给了函数fun(),故执行完该函数后,数组a中的元素首尾互换,因此最后依次输出的数组a中值为8、1、6和2,所以,4个选项中选项C符合题意。

  • 第14题:

    有以下程序

    #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。

  • 第15题:

    有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

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

    A.1 3 1 3

    B.3 2 3 4

    C.4 2 3 4

    D.1 2 3 4


    正确答案:C
    解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

  • 第16题:

    若有定义:int i=0,x=0;int a[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为()for(;i<3;i++)x+=a[i][2-i];

    A.0

    B.12

    C.15

    D.18


    参考答案:C

  • 第17题:

    有以下程序:main(){int x[]={1,3,5,7,2,4,6,0),i,j,k;for(i=0;i<3;i++)for(j=2;i>=i;j--)if( x[j

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

    A.7.53102e+007

    B.01234567

    C.7.63105e+007

    D.1.35702e+007


    正确答案:A
    解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的元素值为75310246,所以,4个选项中选项A符合题意。

  • 第18题:

    有以下程序:inelude main( ){int i,j,x=0;for(i=0;i<2;i++ ) {x++; for(j=0;j<=3;j ++

    有以下程序:#inelude <stdio.h>main( ){ int i,j,x=0; for(i=0;i<2;i++ ) { x++; for(j=0;j<=3;j ++) { fi(j%2) continue; x++; x++; } pfinff( "x = % d\n",x);} 程序执行后的输出结果是( )。

    A.x=4

    B.x=8

    C.x=6

    D.x=12


    正确答案:B
    解析:本问题要求给出程序执行后输出的x的值。x的初值为0,程序中出现了3次x++,其中外层循环中出现了两次,共自增了4次;在内层循环中,当循环变量为。和2时,x自增,因此共自增了4次,这样x共自增了8次,所以结果为8。

  • 第19题:

    有以下程序: #include<stdio.h> int fun( ) {static int x=1; X*=2;return X; main( ) int i,s=1; for(i=1;i<=2;i++)s=fun( ); printf{¨%d\n",s); } 程序运行后的输出结果是( )。

    A.0

    B.1

    C.4

    D.8


    正确答案:C
    本题考查了static的用法。当static用于局部变量中,成为静态局部变量。静态局部变量有两个用法,记忆功能和全局生存期。当static用于全局变量,主要作用是限制此全局变量被其他的文件调用。当static用于类中的成员,表示这个成员是属于这个类,但是不属于类中任意特定对象。所以本题答案为C。

  • 第20题:

    以下程序的执行结果是()。includeint fun(int b[],int n){int i,r=1;for(i=0;i

    以下程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<endl; }

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第21题:

    下面的程序段运行后,输出结果是 int i,j,x=0; static int a[8][8]; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=2*i+j; for(i=0;i<8;i++) x+=a[i][j]; printf("%d",x);

    A.9

    B.不确定值

    C.0

    D.18


    正确答案:C
    解析:本题主要考查的是用二维数组首地址和下标来引用二维数组元素的方法。通过分析可知,程序中的双重循环定义了一个如下的二维数组:

    由于数组的下标是从。开始的,所以二维数组元素a[i][j]表示的是二维数组a的第i+1行、第j+1列对应位置的元素。

  • 第22题:

    若有定义:int i=0,x=0;int a[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为() for(;i<3;i++)x+=a[i][2-i];

    • A、0
    • B、12
    • C、15
    • D、18

    正确答案:C

  • 第23题:

    单选题
    若有定义:int i=0,x=0;int a[3][3]={1,2,3,4,5,6,7,8,9};则以下程序段运行后x的值为() for(;i<3;i++)x+=a[i][2-i];
    A

    0

    B

    12

    C

    15

    D

    18


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

  • 第24题:

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