itgle.com
更多“以下for语句中不是死循环的是A.for(int i=0;i<1;++i;B.for(int i=0;;++i;C.for(int i=1;i>0;++i; ”相关问题
  • 第1题:

    在下列选项中,没有构成死循环的是

    A.int i=100;

    while(1)

    {i=i0+1;

    if(i>100)break;

    }

    B.for(;;);

    C.int k=10000;

    do{k++;}while(k>10000);

    D.int s=36;while(s)--s;


    正确答案:D

  • 第2题:

    以下程序的运行结果是______。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循环语句的使用以及静态局部变量的特点。

  • 第3题:

    下列语句中,可以作为无限循环语句的是( )。

    A.for(;;){}

    B.for(int i=0;i<10000;i++){}

    C.while(false){}

    D.do{}while(false)


    正确答案:A
    A。【解析】B的循环终止条件为l0000,C、D的终止条件为常量false,都不能无限循环。

  • 第4题:

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

    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语句中漏掉了两个分号。

  • 第5题:

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

    以下程序的输出结果是 #include<iostream.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;} } void main( ) {int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout << S; }

    A.22

    B.10

    C.34

    D.30


    正确答案:A
    解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6],b[7]……b[9]的值相加,结果为1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

  • 第6题:

    下列各循环语句中,不是死循环的是( )。

    A.int i=100; while(1){ i=i%100+1; if(i==20) break; }

    B.int i,sum=0; for(i=1;;i++) sum=sum+1;

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

    D.int s=3379; while(s++%2+3%2) s++;


    正确答案:A
    解析:分析各个选项。选项A中,当变量i的值等于20时,会执行break;语句,即退出整个while循环体。所以选项A的循环语句不是死循环。其他各个选项的循环语句中,没有循环退出点,所以都是死循环。

  • 第7题:

    在下列选项中,没有构成死循环的是( )。

    A.int i=100; while(1) { i==i0+1; if(i>100) break; }

    B.for(;;);

    C.int k=10000; do{k++;}while(k>10000);

    D.int s=36; while (s) --s;


    正确答案:D

  • 第8题:

    以下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

  • 第9题:

    下列选项中,不能输出100个整数的是( )。

    A.for(int i=0;i<100;i++) System.out.println(i);

    B.int i=0; do { System.out.println(i): i++: }while(i<100);

    C.int i=0: while(i<100)f System.out.println(i); i++: }

    D.int i=0: while(i<100){ i++: if(i<1OO)continue; System.out.println(i); }


    正确答案:D
    continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。

  • 第10题:

    以下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,或终止条件判断部分始终没有终止,都将出现死循环。

  • 第11题:

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

    A.int i=10;

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

    C.int i-0;

    D.int i=1:


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

  • 第12题:

    以下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
    解析:

  • 第13题:

    以下程序的输出结果是 include int f( ) { static int i=0; int s=1 s+ =i;

    以下程序的输出结果是 #include<iostream.h> int f( ) { static int i=0; int s=1 s+ =i; i++; return s;} void main( ) { int i,a=0; for(i=0 ;i<5;i++)a+=f( ); cout < < a;}

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

  • 第14题:

    有以下程序: include using namespace std; int f(int); int main() {int i;for(i=0;

    有以下程序:

    include <iostream>

    using namespace std;

    int f(int);

    int main()

    {

    int i;

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

    cout<<f(i)<<" ";

    return 0;

    }

    int f(int i)

    {

    static int k=1;

    for(;i>0;i--)

    k+=i;


    正确答案:1 2 5 11 21
    1 2 5 11 21 解析:函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

  • 第15题:

    若有以下程序:include using namespace std;int f(){static int i = 0;int s = 1;s+=

    若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; int s = 1; s+=i; i++; return s; } int main() { int i,a = 0; for(i = 0;i<5;i++) a+=f(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考核静态局部变量在函数中的使用。静态局部变量就是将局部变量说明为静态的。静态局部变量既有在局部域作用的特性(即变量只能在变量的作用范围内被访问),又可以永久存在(变量的值得以保留,并可继续使用)。静态局部变量只在第一次执行时初始化一次。在函数f中定义了一个静态局部变量i,它的初始值为0,还定义了一个局部变量s(它的初始值为1),用来返回计算所得值。函数f中所进行的数据加工是s+=i和i++。即每调用一次函数f,返回(i+1)的值后,i的值增1。再看主函数,在主函数main中,通过一个for语句连续调用f函数5次,并把每次调用f函数的返回值相加并存入a。最后输出a的值。在了解各函数功能以及调用关系后就可计算出a的值为15。

  • 第16题:

    以下程序运行后的输出结果是()。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。

  • 第17题:

    若有以下程序: include using namespace std;int f(){static int i = 0;ints= 1;s+=i

    若有以下程序: #include <iostream> using namespace std; int f() { static int i = 0; ints= 1; s+=i; i++; return s; } int main() { int i,a = 0; for(i = 0;i<5;i++) a+=f(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考核静态局部变量在函数中的使用。静态局部变量就是将局部变量说明为静态的。静态局部变量既有在局部域作用的特性(即变量只能在变量的作用范围内被访问),又可以永久存在(变量的值得以保留,并可继续使用)。静态局部变量只在第一次执行时初始化一次。在函数f中定义了一个静态局部变量l它的初始值为0,还定义了一个局部变量s(它的初始值为1),用来返回计算所得值。函数f中所进行的数据加工是s+=i和i++。即每调用一次函数f,返回(i+1)的值后,i的值增1。再看主函数,在主函数main中,通过一个for语句连续调用f函数5次,并把每次调用f函数的返回值相加并存入a。最后输出a的值。在了解各函数功能以及调用关系后就可计算出a的值为15。

  • 第18题:

    以下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循环语句来代替。

  • 第19题:

    以下程序的输出结果是 ______。includeInt f(){static int i=0;int a=1;a+=;i++;ret

    以下程序的输出结果是 ______。 #include<iostream.h> Int f(){ static int i=0; int a=1; a+=; i++; return a; } void main() { int i,s=0; for(i=0;i<4;i++) s+=f(); cout<<s;

    A.10

    B.15

    C.21

    D.28


    正确答案:A

  • 第20题:

    下列程序段中,不是死循环的是_______。

    A.int i=100;

    B.unsigned k=0; while(1) do { { i=i%100+1; ++k if(i>=100)break; } } while(k>=0);

    C.for(;;);

    D.int s=3379; while(s++%2+s%2)s++;


    正确答案:A
    解析:当表达式为非0值时,执行while语句中的内嵌语句,可用break语句跳出循环,用continue语句结束本次循环。选项A不是死循环,当i=100时跳出循环。选项C为空循环语句。

  • 第21题:

    若有以下程序:includeusing namespace std;int fun(){static int i=0;int s=1;s+=i;i

    若有以下程序: #include<iostream> using namespace std; int fun() { static int i=0; int s=1; s+=i; i++; return s; } int main() { int i,a=0; for(i=0;i<5;i++) a+=fun(); cout<<a<<endl; return 0; } 程序运行后,输出的结果是( )。

    A.20

    B.24

    C.26

    D.15


    正确答案:D

  • 第22题:

    下列选项中,不能输出100个整数的是( )。A.for(int i=0;i<100;i++) System.out.println(i);B.int

    下列选项中,不能输出100个整数的是( )。

    A.for(int i=0;i<100;i++) System.out.println(i);

    B.int i=0; do{ System.out.println(i); i++; }while(i<100);

    C.int i=0; while(i<100){ System.out.println(i); i++; }

    D.int i=0; while(i<100){ i++; if(i<100)continue; System.OUt.println(i); }


    正确答案:D
    D。【解析】continue语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选D。

  • 第23题:

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

    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)中未给出结束循环的条件。