更多“请简述以下两个 for 循环的优缺点// 第一个 for (i=0; i ing();} // 第二个 if (condition){for (i=0; i for (i=0;i 优点:缺点: 优点:缺点:”相关问题
  • 第1题:

    若已定义,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、 4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、 2、3、4、5、5、4、3、2、1。请填空。

    fun( int a[])

    {

    int i,

    for(i=1;i<=10;i++) 【 】=i;

    for(i=0;i<5;i++) 【 】=a[i];

    }


    正确答案:a[i-1]a[9-i]
    a[i-1],a[9-i]

  • 第2题:

    有以下程序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.12

    B.123

    C.234

    D.345


    正确答案:D
    解析:本题考查的是二维数组元素在内存中的排列形式。虽然二维数组成多维数组从结构上来看不是线性的,但是在C语言中,这些数组元素在内存中的排列是连续线性存放的。它们的排列规则是:第一维下标变化最慢,最右边的下标变化最快.例如本题中定义的二维数组a[3][3]中9个元素在内存中的排列顺序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函数中,首先定义了二维数组a[3][3],然后定义了一个指针p指向数组a的第1个元素a[0][0]。在第一个for循环中,依数组a在内存中的排列顺序为其元素赋从0~8九个值,然后用第二个for循环依次输出a[1][0],a[1][1],a[1][2]三个元素的值。所以,4个选项中选项D符合题意。

  • 第3题:

    与“for(i=0;i<10;i++)putchar('a'+i);”功能不同的语句是______。

    A.for(i=0;i<10;)putchar('a'+(++i));

    B.for(i=0;i<10;)putchar('a'+(i++));

    C.for(i=0;i<10;putchar('a'+i),i++);

    D.for(i=0;i<=9;i++)putchar('a'+i);


    正确答案:A

  • 第4题:

    定义数组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。

  • 第5题:

    以下for语句中不是死循环的是A.for(int i=0;i<1;++);B.for(int i=0∷++);C.for(int i=1;i>0;++i);

    以下for语句中不是死循环的是

    A.for(int i=0;i<1;++);

    B.for(int i=0∷++);

    C.for(int i=1;i>0;++i);

    D.for( ;;);


    正确答案:A
    解析:for循环的一般格式为for(初始化部分;终止条件判断部分;迭代部分){循环体;}说明如下:for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。注意:在for语句中,如果省略了终止条件判断部分,开且在语句中没有break,或者是终止条件判断部分始终没有终止,都将出现死循环。注意:for循环语句可由while循环语句来代替。

  • 第6题:

    阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。

    【说明】

    阅读下面几段C++程序回答相应问题。

    比较下面两段程序的优缺点。

    ①for (i=0; i<N; i++ )

    {

    if (condition)

    //DoSomething

    else

    //DoOtherthing

    }

    ②if (condition) {

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

    //DoSomething

    }else {

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

    //DoOtherthing

    }


    正确答案:程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断并且程序无法循环“流水”作业使得编译器无法对循环进行优化处理降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。
    程序1优点:程序简洁;缺点:多执行了N-1次逻辑判断,并且程序无法循环“流水”作业,使得编译器无法对循环进行优化处理,降低了效率。 程序2优点:循环的效率高;缺点:程序不简洁。

  • 第7题:

    以下for语句中不是死循环的是( )。 A.for(inti=0;i<1;++i);B.for(inti=0;;++i);S

    以下for语句中不是死循环的是( )。

    A.for(inti=0;i<1;++i);

    B.for(inti=0;;++i);

    C.for(inti=1;i>0;++i);

    D.for(;;);


    正确答案:A
    A。【解析】本题考查循环语句for的使用。for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。在for语句中,如果省略了终止条件判断部分,并且在语句中没有break,或终止条件判断部分始终没有终止,都将出现死循环。

  • 第8题:

    以下for语句中不是死循环的是A.for(int i=0;i<1;++i;B.for(int i=0;;++i;C.for(int i=1;i>0;++i;

    以下for语句中不是死循环的是

    A.for(int i=0;i<1;++i;

    B.for(int i=0;;++i;

    C.for(int i=1;i>0;++i;

    D.for(;;);


    正确答案:A
    解析:for循环的一般格式为for(初始化部分;终止条件判断部分;迭代部分){循环体;}说明如下:for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。注意:在for语句中,如果省略了终止条件判断部分,并且在语句中没有break,或者是终止条件判断部分始终没有终止,都将出现死循环。注意:for循环语句可由while循环语句来代替。

  • 第9题:

    用scala求10以内的偶数下面那些写法正确()

    • A、for(i<-0to10if(i%2==0)){print(i+"")}
    • B、for(i<-0to10){if(i%2==0)print(i+"")}
    • C、for(i<-0to10){if(i%2==0){print(i+"")}}
    • D、for(i<-0.to(10)if(i%2==0)){print(i+"")}

    正确答案:A,B,C,D

  • 第10题:

    请读程序: main() {inti,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*(i1)]; for(i=0;i<3;i)k=p[i]*2; printf(“%d、n”,k); } 则上面程序的输出结果是()

    • A、20
    • B、21
    • C、22
    • D、23

    正确答案:B

  • 第11题:

    单选题
    照片影像密度的公式为(  )。
    A

    lg(I/I0

    B

    lg(I-I0

    C

    lg(I0/I)

    D

    I/I0

    E

    (I-I0)/I0


    正确答案: E
    解析: 当入射光强度为I0,透射光强度为I,则透光率为I/I0,阻光率为透光率的倒数I0/I,密度即是阻光率以10为底的对数。

  • 第12题:

    单选题
    以下程序段中,循环次数不超过10的是(  )。
    A

    int i=10;do{i=i+1;}while(i<0);

    B

    int i=int i=5;do{i+=1;}while(i>0);

    C

    int i=1;do{i+=2;}while(i!=10);

    D

    int i=6;do{i-=2;}while(i!=1);


    正确答案: C
    解析:
    A项,执行循环体i=i+1,判断条件i<0不成立,退出循环,循环次数为1,a项正确。b项执行一次循环体后i=6,判断条件为i>0,由于执行循环体时i始终在增加,i>0一直成立,程序陷入无限循环,循环次数大于10,B项错误。C项执行循环体一次后i=3,判断条件为i!=10,由于循环体中i每次增加2,所以永远不可能等于10,故程序会陷入无限循环,循环次数大于10,C项错误。D项执行循环体一次后i=4,判断条件为i!=1,由于循环体中i每次减少2,所以永远不可能等于1,故程序会陷入无限循环,循环次数大于10,D项错误。答案选择A选项。

  • 第13题:

    以下程序的输出结果是【】。 include void main(){ int i,a[5]; i=0; while(i<5){ a[i]

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

    include<iostrean.h>

    void main(){

    int i,a[5];

    i=0;

    while(i<5){

    a[i]=8*(i-2+4*(i>2))%5;

    i++;

    }

    for(i=4;i>=0;i--) cout<<a[i];

    }


    正确答案:3 0 0 -3 -1
    3 0 0 -3 -1

  • 第14题:

    若已定义,以下fun函数的功能是在循环中给数组a前4个数组元素依次赋1、2、3、4;在第二个循环中使a数组前4个元素中的值对称折叠,变成1、2、2、1。请填空。

    fun(int a[])

    {

    int i;

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

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

    }


    正确答案:a[i-1] a[3-i]
    a[i-1] a[3-i] 解析:首先第一个for循环中,由1到4,依次将i值赋给数组a。在数组中第一个元素位a[0],而第一个循环i从1开始,所以第一个空填a[i-1]。第二个循环是将数组对折,例如第一个赋值给第四个,所以由0开始,将第i个元素赋值给第3-i,即a[3-i]=a[i]。

  • 第15题:

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

  • 第16题:

    请读程序: include main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0;

    请读程序: # include<srdio.h> main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0; k=2; for(i=0;i<k;i+ +) {for(j=0;j<k;j+ +)n[j]=n[i]+l; print{("%d\n",n[k]); } 上面程序片段输出结果是 ( )

    A.不确定的值

    B.3

    C.23

    D.1


    正确答案:A

  • 第17题:

    有以下程序

    #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]=O;

    }

    for(i=O;i<4;i++)prinff(“%d”,a[i]);prinff(“\n”);

    }

    程序运行后的输出结果是

    A.3 3 4 4

    B.2 0 5 0

    C.3 0 4 0

    D.0 3 0 4


    正确答案:C
    解析:第一次循环,i=0,i%2=0,a[0]%2=0,a[0]=a[0]+1=3;第二次循环,i=l,1%2=1,a[1]=0;第三次循环,i=2,a[2]%2=l,a[2]=a[2]-1=4;第四次循环,i=3,i%2=1,a[3]=0。

  • 第18题:

    以下for语句中不是死循环的是A.for(int i=0;i<1;++i);B.for(int i=0;;++i);C.for(int i=1;i>0;++

    以下for语句中不是死循环的是

    A.for(int i=0;i<1;++i);

    B.for(int i=0;;++i);

    C.for(int i=1;i>0;++i);

    D.for(;;);


    正确答案:A

  • 第19题:

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

  • 第20题:

    以下for语句中不是死循环的是( )

    A.for(int i=0;i<1;++i);
    B.for(int i=0;;++i);
    C.for(int i=1;i>0;++i);
    D.for(;;);

    答案:A
    解析:

  • 第21题:

    下列JavaScript的循环语句中()是正确的

    • A、if(i<10;i++) 
    • B、for(i=0;i<10)  
    • C、for i=1 to 10   
    • D、for(i=0;i<=10;i++)

    正确答案:D

  • 第22题:

    for 循环如何开始?()

    • A、 for (i <= 5; i++) 
    • B、 for (i = 0; i <= 5; i++) 
    • C、 for (i = 0; i <= 5) 
    • D、 for i = 1 to 5

    正确答案:B

  • 第23题:

    单选题
    for 循环如何开始?()
    A

     for (i <= 5; i++) 

    B

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

    C

     for (i = 0; i <= 5) 

    D

     for i = 1 to 5


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