单选题有以下程序:#include main(){  int i=5;  do {  if(i%3==1)   if(i%5==2)   {    printf(*%d,i);    break;   }  i++; } while(i!=0); printf();}程序运行的结果是(  )。A *7B *3*5C * 5D *2*6

题目
单选题
有以下程序:#include main(){  int i=5;  do {  if(i%3==1)   if(i%5==2)   {    printf(*%d,i);    break;   }  i++; } while(i!=0); printf();}程序运行的结果是(  )。
A

*7

B

*3*5

C

* 5

D

*2*6


相似考题
更多“单选题有以下程序:#include main(){  int i=5;  do {  if(i%3==1)   if(i%5==2)   {    printf(*%d,i);    break;   }  i++; } while(i!=0); printf();}程序运行的结果是(  )。A *7B *3*5C * 5D *2*6”相关问题
  • 第1题:

    有以下程序

    #include <stdio.h>

    main()

    { int a[ ]={2,3,5,4},i;

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

    switch(i%2)

    { case 0:switch(a[i]%2)

    {case 0:a[i]++;break;

    case 1:a[i]--;

    }break;

    case 1:a[i ] =0;

    }

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

    }

    程序运行后的输出结果是

    A)3 3 4 4

    B)2 0 5 0

    C)3 0 4 0

    D)0 3 0 4


    正确答案:C

  • 第2题:

    有下列程序: include<stdi0.h>voidmain( ) {inti=5; do{if(i%3=1)if(i%5==2){printf(&qu

    有下列程序:

    #include<stdi0.h>

    voidmain( )

    {inti=5;

    do

    {if(i%3=1)

    if(i%5==2)

    {printf("*%d",i);break;}

    i++:

    }while(i!=O);

    printf("\n");

    }

    程序的运行结果是( )。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    A。【解析】本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。

  • 第3题:

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

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

    A.012

    B.123

    C.234

    D.345


    正确答案:D
    解析:程序通过for(i=0;i9;i++)p[i]=i语句对二维数组a的元素依次赋值,使a[0][0]=0,a[0][1]=1,a[0][2]=2,a[1][0]=3,a[1][1]=4,a[1][2]=5,a[2][0]=6,a[2][1]=7,a[2][2]=8,程序运行的结果为345。

  • 第4题:

    下列程序的输出结果是______。include main(){ int i=1,j=3; printf("%d,",i++); {int

    下列程序的输出结果是______。#include <stdio.h>main (){ int i=1,j=3; printf("%d,",i++); { int i=0; i+=j*2; printf("%d,%d,",i,j); } printf("%d,%d\n",i,j);}

    A.1,6,3,1,3

    B.1,6,3,2,3

    C.1,6,3,6,3

    D.1,7,3,2,3


    正确答案:B

  • 第5题:

    有以下程序 include void fun(int a[],int n) { int i,t; for(i=0;

    有以下程序 #include <stdio.h> void fun(int a[],int n) { int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;} } main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf("\n"); } 程序的运行结果是______。

    A.345678

    B.876543

    C.1098765

    D.321678


    正确答案:D
    解析:在主函数中,定义了一维数组k,并通过调用fun函数将形参数组a指向实参数组k所在的存储单元,这样,a和 k共用同一存储单元,所以对数组a的元素值的改变相当于对相应数组k的元素值的改变。在fun函数中,通过for循环对数组元素a[0]与a[4]、a[1]与a[3]的值分别作了交换,也即相当于主函数中k[0]与k[4]、k[1]与k[3]的值分别作了交换,此时k中各元素的值为5,4,3,2,1,6,7,8,9,10,故输出k[2]到k[7]的值为321678。

  • 第6题:

    下面程序运行后的输出结果是( )。 include main() {int a[]={1,2,3,4,5,6},*k[3],i=1; w

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

    include<stdio.h>

    main()

    {int a[]={1,2,3,4,5,6},*k[3],i=1;

    while(i<4)

    { k[i-1]=&a[2*i-1];

    printf("%d",*k[i-1]);

    i++;

    }

    }


    正确答案:246
    246 解析:在程序中定义了一维数组a和指针数组k,在while循环语句中,当i等于1时,k[0]的等于a[1]的地址,所以输入a[1]的值为2。当i等于1时,k[1]的等于a[3]的地址,所以输入a[3]的值为4。当i等于3时,k[2]的等于a[5]的地址,所以输入a[5]的值为6。所以此空应该填写246。

  • 第7题:

    有下列程序: #include<stdi0.h> voidmain( ) {inti=5; do {if(i%3=1) if(i%5==2) {printf("*%d",i);break;} i++: }while(i!=O); printf("\n"); } 程序的运行结果是( )。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    A。【解析】本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。

  • 第8题:

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

  • 第9题:

    有以下程序:include main(){ int i,n=0;for(i=2;i<5;i++){do {if(i%3) continue;n++;

    有以下程序: #include <stdio.h> main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(! i); n++; } printf("n=%d\n",n); } 程序执行后的输出结果是( )。

    A.n=5

    B.n=2

    C.n=3

    D.n=4


    正确答案:D
    解析:for循环中,当i=2时,i%3为真,结束本次while循环,!i为假,执行n++,n为1;当i=3时,i%3=0,执行n++,n为2,!i为假,执行n++,n为3;当i=4时,i%3为真,结束本次while循环,!i为假,执行n++,n为4;当i=5时,for循环结束。这时输出n=4。

  • 第10题:

    有以下程序includemain(){ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i

    有以下程序 #include <stdio.h> main() { int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i; for(i=0;i<12;i++) c[s[i]++; for(i=l;i<5;i++) printf("%d",c[i]); printf("\n"); } 程序的运行结果是

    A.1 2 3 4

    B.2 3 44

    C.4 3 3 2

    D.1 1 2 3


    正确答案:C
    解析:在for(i=0;i12;i++)c[s[i]]++中,数组元素s[i]的值作为数组c的下标,当退出循环时,数组c的4个元素的值分别为4、3、3、2。

  • 第11题:

    ( 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 】 。


    正确答案:

  • 第12题:

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

    3344

    B

    2050

    C

    3040

    D

    0304


    正确答案: B
    解析:
    main函数的主体是一个for循环语句,for循环中包含一个switch语句,如果判断条件为0则进入第二个switch语句,如果判断语句为1则执行“a[i]=0”,最后将数组顺序输出。所以程序功能是将数组下标为奇数的项设为0,数组下标为偶数的项,如果对应的元素为偶数则加1,如果对应的元素为奇数则减1。答案选择C选项。

  • 第13题:

    以下程序的运行结果是______。includemain(){ int fun();fun();}fun(){static int a[3]=

    以下程序的运行结果是______。

    include<stdio.h>

    main()

    { int fun();fun();}

    fun()

    {static int a[3]={0,1,2};

    int i;

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

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

    pfintf("\n",);}


    正确答案:
    本题主要考查for循环语句的使用以及静态局部变量的特点。

  • 第14题:

    有以下程序:include main( ){int i,t[ ] [3] = {9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)

    有以下程序:#include <stdio.h>main( ){int i,t[ ] [3] = {9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf("%d ",t[2-i]l-i]);}程序执行后的输出结果是( )。

    A.7 5 3

    B.3 5 7

    C.3 6 9

    D.7 5 1


    正确答案:B
    解析:由初始化可知,数组t是一个三行三列的二维数组,执行for循环语句输出t[2-i][i]分别为t[2][0],t[1][1],t[0][2],得到输出结果为357。

  • 第15题:

    以下程序的输出结果是()。include main(){int i; for(i=1;i<5;i++) {if(i%2) printf("*

    以下程序的输出结果是( )。 #include <stdio.h> main() { int i; for(i=1;i<5;i++) { if(i%2) printf("*"); else continue; printf("#"); } printf("$\n");

    A.*#*#*#$

    B.#*#*#*$

    C.*#*#$

    D.#*#*$


    正确答案:C
    解析:程序中当i不能整除2时输出*,然后输出#,能够整除2时将结束本次循环,进入到下一次循环。当循环结束后,输出$。

  • 第16题:

    有以下程序 include main() { int i=5; do { if(i%3==1)

    有以下程序 #include <stdio.h> main() { int i=5; do { if(i%3==1) if(i%5==2) { printf"*%d",i); break; } i++; } while(i!=0); printf("\n"); } 程序的运行结果是______。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    解析:do-while语句的特点是先执行循环体,然后判断循环条件是否成立,当循环条件的值为0时循环结束。break的特点;当break出现在循环体中,则在执行break后,跳出本层循环体。本题执行过程如下:
    i=5:不满足条件i%3=1,执行i++,此叫i=6;
    i=6:不满足条件i%3=1,执行i++,此时i=7;
    i=7:满足条件i%3=1,执行内嵌if,判断条件i%5=2,满足,输出“*7”,执行break,跳出do循坏体,执行“printf("\n");”,结束。

  • 第17题:

    有以下程序

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

  • 第18题:

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

  • 第19题:

    有以下程序# include <stdio.h>main(){ int i=5; do { if (i%3==1) if (i%5==2) { printf("*%d", i); break;} i++; } while(i!=0); printf("\n");}程序的运行结果是A.*7 B.*3*5 C.*5 D.*2*6


    正确答案:A
    本题考查C语言中对整数求余数运算。运算符“%”是两个数相除后取余数。分析本题的程序,main函数中的主体为一个do-while循环,该循环的终止条件为i==0。do-while循环内部起始为一个if语句,该语句包含一个if子语句,外层if语句的判断条件是i%3==1,表示i的取值范围为{1,4,7,11,…},内部if子语句的判断条件为i%5==2,表示i的取值范围为{2,7,12,…}。如果外层和内层的if语句的条件都满足,则执行语句printf("*%d", i); break;,该语句输出*i形式的结果并跳出do-while循环。如果两个if语句有一个条件不满足,则执行i++操作,继续执行do-while循环。i的初始值为5,只有满足两个if语句条件时才能够跳出do-while循环,即当i=7时,循环结束,输出结果为*7。

  • 第20题:

    有下列程序: include voidmain( ) {inti=5; do {if(i%3=1) if(i%5==2) {printf("*%d",i);break;} i++: }while(i!=O); printf("\n"); } 程序的运行结果是( )。

    A.*7

    B.*3*5

    C.*5

    D.*2*6


    正确答案:A
    A。【解析】本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。

  • 第21题:

    有以下程序 #include<stdi0.h> main( ) {int a[]={2,3,5,4),i; for(i=0;i<4;i++) switch(i%2) {case 0:switch(a[i]%2) {case 0:a[i]++;break; case l:a[i]--; }break; case1:a[i]=0; } for(i=0;i<4;i++)printf("%d",a[i]);printf("\n"); } 程序运行后的输出结果是( )。

    A.3344

    B.2050

    C.3040

    D.0304


    正确答案:C
    本题考查嵌套分支语句。共输出4个值:当i=0时,i%2取余后还是0,则执行ease0语句,继续switch语句,此时i为0,数据的下标是从0开始的,a[03的值为2,则a[0]%2=0,继续执行case0,数组a[0]++,值变为3,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第一个值为3。i++后值为1,i%2=1%2取余后值为1,执行casel,将0赋给a[l],退出开关语句,输出第二个值为0。i++后值为2,i%2=2%2取余后值为0’a[2]的值为5,则a[2]%2=1,继续执行casel,数组a[2]--,值变为4,执行break跳出第二重开关语句。出来后继续执行break,跳出第一重开关语句,继续循环;输出第三个值为4。i++后值为3,i%2=3%2取余后值为1,执行casel,将0赋给a[3],退出开关语句,输出第四个值为0。结果为3040。

  • 第22题:

    ( 10 )有以下程序

    #include <stdio.h>

    main ()

    { int a[]={1,2,3,4,5,6},*k[3],i=0;

    while ( i<3 )

    { k[i]=&a[2*i];

    printf ( " %d " ,*k[i] ) ;

    i++;

    }

    }

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


    正确答案:

  • 第23题:

    单选题
    有以下程序 #include  main() {  int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;   for(i=0;i<12;i++)   c[s[i]]++;  for(i=1;i<5;i++)   printf("%d",c[i]);  printf(""); } 程序的运行结果是(  )。
    A

    4332

    B

    2344

    C

    1234

    D

    1123


    正确答案: D
    解析:
    s[i]元素作为c数组的下标,使c数组元素自增,执行完毕后,c[1]自增4次,c[2]自增3次,c[3]自增3次,c[4]自增2次,c数组元素为04332,按题目要求输出,4332。答案选择A选项。