更多“int i = 0; for (i=0; i<10;i++) { i += 2; }以上代码执行后,i=()”相关问题
  • 第1题:

    下列语句中不是死循环的是

    A.int i=10; while(1) { i--; if(i==1) break; }

    B.for(int i=1;i<10;i++) { i--; }

    C.int i=0; do{ i++; }while(i>=0) ;

    D.int i=1; for(;;) i=i+1;


    正确答案:A
    解析:选项A) 中i自减到1时就会执行break语句跳出循环,选项B) 中i10永远成立不会跳出循环,选项C) 中第一次进入循环体后i>0永远不会跳出循环,选项D) 中未给出结束循环的条件。

  • 第2题:

    标有/$$$/的语句的执行次数是______。 int y,i; for(i=0;i<20;i++) { if(i%2==0) continue; y+=i;/$$$/; }

    A.20

    B.19

    C.10

    D.9


    正确答案:C
    解析:程序中标有/$$$/的语句y+=i在for循环中,由于该语句前面的条件语句使循环变量i在对2求余为0时就结束本次循环,直接跳过标有/$$$/的语句,因此该语句执行了10次。

  • 第3题:

    下面程序的执行结果是______。 #define MAX 10 nt a[MAX],i; main() { printf("\n"); sub1();sub3(A) ; sub2();sub3(A) ; } sub1() {for(i=0;i<1MAX;i++) a[i]-i+i; } sub2() {int a[MAX],i,max; max=5; for(i=0;i<max;i++) a[i]=i; } sub3(int a[]) { int i; for(i=0;i<MAX;i++) printf("%d",a[i]); printf("\n"); }

    A.0 2 4 6 8 10 12 14 16 18 0 1 2 3 4

    B.0 1 2 3 4 0 2 4 6 8 10 12 14 16 18

    C.0 1 2 3 4 5 6 7 8 9 0 1 2 3 4

    D.0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18


    正确答案:D
    解析:函数sub1给全局作用范围内数组a(长度为10)的每个元素赋值,函数sub2中数组a仅在本函数范围内有效,长度也是10,但仅给前5个元素赋值,main函数调用sub3时,传递数组地址均是全局作用范围内数组a的地址,因此两次调用打印的结果相同。

  • 第4题:

    以下程序运行后的输出结果是()。includevoid reverse(int a[],int n){int i,t;for(i=0;

    以下程序运行后的输出结果是( )。 #include<stdio.h> void reverse(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 b[10]={10,9,8,7,6,5,4,3,2,1};int i,s=0; reverse(b,10); for(i=0;i<3;i++)s+=b[i]; printf("%d\n",s); }

    A.27

    B.6

    C.25

    D.30


    正确答案:B
    解析:本题考查函数调用时的参数传递。函数reverse将数组b进行了逆置,此时b[10]={10,9,8,7,6,5,4,3,2,1),后面for语句的功能是将b中的后3个数累加,并将结果放在s中,最后将s输出,结果s=1+2+3=6。

  • 第5题:

    下面程序的输出是【 】。

    main()

    {int arr[10],i,k=0;

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

    arr[i]=i;

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

    k+=arr[i]+i;

    printf("%d\n",k);}


    正确答案:12
    12 解析:本题通过第一个for循环将数组arr[0]-arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
    i=1:K=0+arr[1]+1即k=2;
    i=2:k=2+arr[2]+2即k=6;
    i=3:k=6+arr[3]+3即k=12;

  • 第6题:

    下列程序运行后,输出结果是______。main(){ char ch[2][5]={"693","825"),*p[2]; int i,j,s=0; for (i=0;i<2;i++) p[i]=ch[i]; for (i=0;i<2;i++) for (j=0;p[i][j]>='0' &&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s);}

    A.6385

    B.22

    C.33

    D.693825


    正确答案:A

  • 第7题:

    下面程序的输出为【】。include void main(){int a[10],i, k=0;for(i=0,i<10;i++)a[i]=

    下面程序的输出为【 】。

    include <iostream.h>

    void main()

    {

    int a[10],i, k=0;

    for(i=0,i<10;i++)

    a[i]=i;

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

    k+=a[i]+i;

    cout<<k<<end1;

    }


    正确答案:12
    12

  • 第8题:

    以下程序的输出的结果是()。includevoid main( ){int i,k,a[10],p[3];k=5;for(i=0;i

    以下程序的输出的结果是( )。 #include<iostream.h> void main( ) { int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3 ;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; cout<<k; }

    A.20

    B.21

    C.22

    D.23


    正确答案:B

  • 第9题:

    有以下程序

    main( )

    { int i=0,s=0;

    do{

    if (i%2){i++;continue;}

    i++;

    s+=i;

    }while(i<7);

    cout<<s<<endl;

    }

    执行后输出结果是

    A.16

    B.12

    C.28

    D.21


    正确答案:A
    解析:本题考察continue语句在while循环中的使用:直接跳转到条件判断表达式位置,不再执行continue后面的语句。另外,根据分析可知,本题循环体的功能是将0,2,4,6位元素加一后累加,故结果应是1+3+5+7,因此正确答案为A。

  • 第10题:

    下列语句中不是死循环的是

    A.int i=10;

    B.for(int i=1;i<10;i++) while(1) { { i--; i--; } if(i= =1)break; }

    C.int i=0;

    D.int i=1; do{ for(;;)1=i+1; i++; }while(i>=0);


    正确答案:A
    解析:选项A)中i自减到l时就会执行break语句跳出循环,选项B)中i10永远成立不会跳出循环,选项C)中第一次进入循环体后i>0永远不会跳出循环,选项D)中未给出结束循环的条件。

  • 第11题:

    有如下程序段: int total = 0; for ( int i = 0; i < 4; i++ ){ if ( i == 1) continue; if ( i == 2) break;total += i;} 则执行完该程序段后total的值为()

    • A、0
    • B、1
    • C、3
    • D、6

    正确答案:A

  • 第12题:

    若有int i=10, j=0;则执行完语句 if (j=0)i++; else i--; i的值为11.


    正确答案:错误

  • 第13题:

    设有以下程序:

    main()

    {int i,sum=0;

    for(i=2;i<10;i++)

    { if((i%2)==0)

    continue;

    sum+=i;}

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

    }

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


    正确答案:24
    24 解析:continue语句功能:结束本次循环(注:不是终止整个循环),即跳过循环体中continue语句后面的语句,开始下一次循环。

  • 第14题:

    以下程序的输出结果是______。 main() { int i,k,a[10],p[3] k=5; for(i=0;i<10;i++)a[i]=i for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); }

    A.20

    B.21

    C.22

    D.23


    正确答案:B
    解析:按照程序的流程走一遍,可以得到p[0]=0,p[1]=2,p[3]=6:执行三次k+=p[i]*2,相当于k=5+0*2+2*2+6*2=21。

  • 第15题:

    下列循环语句中有语法错误的是

    A.int i;for(i=1;i<10;i++) cout<<‘*’;

    B.int i,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*’;

    C.int i=0;for(;i<10;i++)cout<<‘*’;

    D.for(1) cout<<‘*’;


    正确答案:D
    解析:D项语法错误。for语句语法格式为:
      for(<表达式1>;<表达式2>;<表达式3>)
      <语句>
      D选项for语句中漏掉了两个分号。

  • 第16题:

    定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。

    A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;

    B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';

    C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';

    D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';


    正确答案:B
    解析:将字符数组中的元素按反序转换成整数,数组第一个元素应当是四位整数的个位,依次类推,字符数字转换为数字的基本方法是将该字符的ASCII码值减去字符0的ASCII码值,程序的输出结果是3210。

  • 第17题:

    以下程序的输出结果是( )。 main { int i,k,a[10],p[3]; k=5; for(i=0:i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k、; }

    A.20

    B.21

    C.22

    D.23


    正确答案:B
    第一个循环的作用是把从0~9的数赋给a数组;第二个循环的作用是把a数组中的部分元素放到数组P中,即p[0]=a[0]=0,p[1]=a[2]=2,p[2]=a[6]=6;第三个循环的作用是把P中的各个元素的两倍之和放到k中,即k=5+0+4+12=21。

  • 第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 class S{ int A[10]; public: int &operato

    分析以下程序的执行结果【 】。

    include <iostream. h>

    class S{

    int A[10];

    public:

    int &operator () (int);

    };

    int &S: :operator() (int x) {

    return A[x];

    }

    void main() {

    S a;

    int i,j;

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

    a(i)=i*2;

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

    cout<<a(i)<<" ";

    cout<<end1; }


    正确答案:0 2 4 6 8 10 12 14 16 18
    0 2 4 6 8 10 12 14 16 18

  • 第20题:

    以下程序的输出结果是 ______ 。main() { int i,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(1+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); }

    A.20

    B.21

    C.22

    D.23


    正确答案:B
    解析:按程序的流程走一遍,可以得到p[0]=0,p[1]=2,p[3]=6;执行三次k+=p[i]*2,相当于k=5+0*2+2*2+6*2=21。

  • 第21题:

    下列程序的输出结果是______。 main () { int i, k, ai[0], p[3]; k=5; for (i=0;i<10;i++) a[i]=i; for (i=0;i<3;i++) p[i]=a[i*(i+l)]; for (i=0;i<3;i++) k+=p[i]*2; printf ("%d\n", k); }

    A.20

    B.21

    C.22

    D.23


    正确答案:B

  • 第22题:

    以下程序段,代码中循环执行的次数为()。 inti,sum=0; for(i=1;i<10;i++) { sum+=i;i++; }


    正确答案:5

  • 第23题:

    以下程序段,该程序的执行结果为()。 int i;for(i=1;i<10;i++) {if(i%2==0)break;} Console.WriteLine(i);


    正确答案:2

  • 第24题:

    填空题
    以下程序段,该程序的执行结果为()。 int i;for(i=1;i<10;i++) {if(i%2==0)break;} Console.WriteLine(i);

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