单选题有如下程序段: int total = 0; for ( int i = 0; i < 4; i++ ){ if ( i == 1) continue; if ( i == 2) break;total += i;} 则执行完该程序段后total的值为()A 0B 1C 3D 6

题目
单选题
有如下程序段: 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


相似考题
更多“单选题有如下程序段: int total = 0; for ( int i = 0; i  4; i++ ){ if ( i == 1) continue; if ( i == 2) break;total += i;} 则执行完该程序段后total的值为()A 0B 1C 3D 6”相关问题
  • 第1题:

    ( 19 )有如下程序段:

    int i=5;

    while ( int i=0 ) {cout 《 '*';i--;}

    运行时输出 "*" 的个数是

    A ) 0

    B ) 1

    C ) 5

    D )无穷


    正确答案:A

  • 第2题:

    ( 19 )有如下程序段:

    int i=1;

    while (1) {

    i++;

    if(i == 10) break;

    if(i%2 == 0) cout << '*';

    }

    执行这个程序段输出字符 * 的个数是

    A ) 10

    B ) 3

    C ) 4

    D ) 5


    正确答案:C

  • 第3题:

    有如下程序段:

    for(int i=1;i<=50;i++){

    if(i%3 1=0)

    continue;

    else

    if(i%5 1=0)

    continue;

    cout<<i<<”,”;

    }

    执行这个程序段的输出是【 】。


    正确答案:153045
    15,30,45, 解析:程序输出1到50中同时被3和5整除的数,为15、30、45。

  • 第4题:

    有如下程序段:

    int i=1:

    while(1){

    i++;

    if(i==210) break;

    if(i%2==0) cout<<‘*’;

    }

    执行这个程序段输出字符*的个数是

    A.10

    B.3

    C.4

    D.5


    正确答案:C
    解析:i为2、4、6、8时分别输出*符号,当i等于10时退出循环。

  • 第5题:

    若有定义: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

  • 第6题:

    若有以下程序main(){ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int i,j,s=0; for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(a[i][j]<0) continue; if(a[i][j]==0) break; s +=a[i][j]; } } printf("%d\n",s);}程序执行后的输出结果是


    正确答案:58
    在本题程序中,首先定义了一个4*4的二维数组a,并进行了初始化操作,然后定义了三个整型变量,i和j分别作为循环变量,而s作用一个记录和的变量被初始化为0。然后开始循环,第一层循环的循环变量i被初始化为0,循环结束条件是i<4,即循环执行四次,而第二层循环同样是4次,总循环此时为4´4=16次,如果逐次循环分析,工作量和花费时间太多,且一不小心容易出错,这种情况下,我们应该找出一个更简便的方法。
    从循环体中的if(a[i][j]<0) continue;我们可以知道,只要数组元素小于0,结束本次循环,即不参与求和运算,由if(a[i][j]==0) break;我们可以知道,只要数组元素等于0,结束本层循环,即同一行的数组元素都不用参加求和运算,从数组a的初始化情况我们可以看到,在第二行的第一个元素为0,即第二行都不参加求和运算,而第三行的第三个元素为0,即该行最后一个元素不参加求和运算。这样,参与求和运算的数组元素必须满足大于0,且其前面的该行元素无0出现。由此可以知道,变量s的最后结果应该为1+2+23+32=58。因此,程序最后的输出结果为58。

  • 第7题:

    有如下程序段: int i=1; while(1){ i++; if(i==10)break; if(i%2==0)eout<<'$'; } 执行这个程序段输出字符*的个数为

    A.10

    B.3

    C.4

    D.5


    正确答案:C
    解析:相当于统计1~10之间的偶数个数,遇到偶数打印“*”,故打印*的个数为4。

  • 第8题:

    以下代码的运行结果为:

    public class Calc {

    public static void main (String args []) {

    int total = 0;

    for (int i = 0, j = 10; total >30; ++i, --j) {

    System.out.println(" i = " + i + " : j = " + j);

    total += (i + j);

    }

    System.out.println("Total " + total);

    }

    }

    A. 产生运行错误

    B. 产生编译错误

    C. 输出 "Total 0"

    D. 产生如下输出:

    i = 0 : j = 10

    i = 1 : j = 9

    i = 2 : j = 8

    Total 30


    正确答案:C

  • 第9题:

    有如下程序段: 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

  • 第10题:

    若有定义: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

  • 第11题:

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

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

  • 第12题:

    单选题
    若有定义: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


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

  • 第13题:

    ( 7 )有如下程序段:

    fer ( int i=1; i<=50;i++ ) {

    if ( i%3 != 0 )

    continue;

    else

    if ( i%5!=0 )

    continue;

    tout<<i<<" , " ;

    }

    执行这个程序段的输出是【 7 】 。


    正确答案:

  • 第14题:

    设有以下程序:

    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语句后面的语句,开始下一次循环。

  • 第15题:

    针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要______个测试用例能够满足分支覆盖的要求。

    int MathMine(int x)

    {

    int m=0;

    int i;

    for(i=x-1; i<=x+1; i++)

    {

    if (i<0) continue;

    if (i>31) break;

    if (sta[i]=-1) m++;

    }

    return m;

    }

    A.3

    B.4

    C.5

    D.6

    A.

    B.

    C.

    D.


    正确答案:A

  • 第16题:

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

  • 第17题:

    执行下列程序段后,x和i的值分别是和int x,i;for (i=1,x=1;i<=50;i++){ if(x>=10) break; if(x%2==1) { x+=5; continue; } x-=3;}


    正确答案:10,6
    在for循环中,当x>=10时,循环便会终止;当x<10时,如果x整除2的余数为1,则x等于x+5,否则x等于x-3。将实际的值带入程序中进行运算,即可得到正确答案,当循环结束的时候,x和i的值分别是10和6。

  • 第18题:

    执行以下程序后i的值为()。main(){int x,i;for(i=l,x=1;i<=36;i++){if(x>=20)break; if(x%5==1){x

    执行以下程序后i的值为( )。 main() { int x,i; for(i=l,x=1;i<=36;i++) { if(x>=20) break; if(x%5==1) { x+=5;continue; } x-=5; ) printf("%d",i); }

    A.3

    B.4

    C.5

    D.6


    正确答案:C
    解析:第1次循环执行情况如下:
      i=1,x=1,判断i=36为真执行循环体。
      x=1,判断x>=20为假。
      判断x%5==1为真,执行x+=5;x值为6,执行continue;跳过本次循环余下的语句,即不执行X-=5:。
      执行i++,i=2。
      第2次循环执行情况如下:
      i=2,判断i=36为真执行循环体。
      x=6,判断x>=20为假。
      判断x%5==1为真,执行x+=5:x值为11,执行continue;跳过本次循环余下的语句,即不执行X-=5;。
      执行i++,i=3。
      第3次循环执行情况如下:
      i=3,判断i=36为真执行循环体。
      x=11,判断x>=20为假。
      判断x%5==1为真,执行x+=5;x值为16,执行continue;跳过本次循环余下的语句,即不执行X-=5:。
      执行i++,i=4。
      第4次循环执行情况如下:
      i=4,判断i=36为真执行循环体。
      x=16,判断x>=20为假。
      判断x%5==l为真,执行x+=5;x值为21,执行continue;跳过本次循环余下的语句,即不执行X-=5;。
      执行i++,i=5。
      第5次循环执行情况如下:
      i=5,判断i=36为真执行循环体。
      x=21,判断x>=20为真。
      执行break;,跳出循环体,即结束循环。最后i=5,选项C正确。

  • 第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题:

    针对以下C语言程序段,假设sta[10]=-1,对于x的取值,需要( )个测试用例能够满足分支覆盖的要求。
    int MathMine(int x){int m=0;int i;for(i=x-1;i<=x+1;i++){if(i<0)continue;if(i>31)break;if(sta[i]=-1)m++;}return m;}

    A.3
    B.4
    C.5
    D.6

    答案:A
    解析:
    本题考查分支覆盖的概念和相关计算方法。分支覆盖要求程序中的每个分支都被测试覆盖到。本题中,x分别取0、100、10即符合要求。

  • 第21题:

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


    正确答案:2

  • 第22题:

    单选题
    若要实现total=1+2+3+4+5求和,以下程序段错误的是(  )。
    A



    int i=1,total=1;
    while(i<5)
    {
     total+=i;
     i+=1;
    }

    B



    int i=1,total=0;
    while(i <=5)
    {
     total+=i;
     i+=1;
    }

    C



    int i=0,total=0;
    while(i <5)
    {
     i+=1;
     total+=i;
    }

    D



    int i=0,total=0;
    while(i <=5)
    {
     total+=i;
     i+=1;
    }


    正确答案: A
    解析:
    A项执行过程为:i=1,total=1,判断while循环条件1<5成立,total=1+1,i=2;判断循环条件执行函数体,直到i=4,total=1+1+2+3+4,i=5;i=5循环条件不成立,退出循环,A项不能实现题目要求,错误。B项执行过程:i=1,total=0,1<=5成立,total=0+1=1,i=2;直到i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。C项执行过程:i=0,total=0,0<5成立,i=1,total=1;直到i=5,total=1+2+3+4+5;i=5条件不成立,退出循环,程序正确。D项执行过程:i=0,total=0,0<=5成立,total=0,i=1;直到i=5,total=1+2+3+4+5,i=6;i=6条件不成立,退出循环,程序正确。答案选择A选项。

  • 第23题:

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