参考答案和解析
15
更多“4、程序段s=0; for(i=0;i<5;i++) {s=s+i;}执行完成后,s结果为()”相关问题
  • 第1题:

    以下程序的输出结果是 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
    解析:对函数的静态局部变量是在编译时就赋初值,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋值,而只是保留上次函数调用结束时的值。注意:静态函数只能用静态变量。

  • 第2题:

    下面代码输出结果是()。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i<7);System.out.println(s);

    A、16

    B、12

    C、28

    D、21


    正确答案:B

  • 第3题:

    以下程序的输出结果是intf(){ static int i= 0; int s=1; s+=i; i++; return s;}main( ){ inti, a=0; for(i=0;i<5;i++)a+=f(); cout<<a<<end1;}

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考察的是同名局部变量和全局变量的作用域之间的关系。同时考察了静态变量的特点:退出函数和进入函数并不影响静态变量的值。因此,循环多次,实际上完成静态变量的累加。即1+2+3+4+5,其值为15,故答案为D。

  • 第4题:

    以下程序的输出结果是 ______。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

  • 第5题:

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

  • 第6题:

    程序段: S=0 For I=1 to 5 step 2 S=s+I Next I Print I语句S=S+1执行的次数和最后I的值分别为( )。

    A.3,7

    B.2,5

    C.3,5

    D.2,7


    正确答案:A
    解析:For循环的结束条件是循环变量的值在变化方向上“超过”终值,本题循环变量I的初值为1,终值为5,步长为2,所以变化方向是从小到大,在I=1、I=3和I=5时,分别执行一次循环,I为7时,循环变量的值已经超过了终值,循环结束。所以s=s+1执行了三次,I的值为7。

  • 第7题:

    有以下程序

    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。

  • 第8题:

    下面代码输出结果是( )。inti=0,s=0;do{if(i%2==0){i++;continue;}i++;s=s+i;}while(i<7);

    下面代码输出结果是( )。

    inti=0,s=0;

    do{

    if(i%2==0){

    i++;

    continue;

    }

    i++;

    s=s+i;

    }while(i<7);

    System.out.println(s);

    A、16

    B、12

    C、28

    D、21


    正确答案:B

  • 第9题:

    以下程序的输出结果为( )。

    main( )

    { char s1[40]="country",s2[20]="side";

    int i=0,j=0;

    while(s1[i]!='\0') i++;

    while(s2[j]!='\0') s1[i++]=s2[j++];

    s1[i]=0;

    printf("%s\n",s1);

    }

    A side

    B country

    C sidetry

    D countryside


    正确答案:D

  • 第10题:

    求整数1至10的和并存入变量s,下列语句中错误的是()。

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

    正确答案:D

  • 第11题:

    若变量已正确定义,以下不能正确计算1+2+3+4+5的程序段是()。

    • A、i=1;s=1;do{s=s+i;i++;}while(i<5);
    • B、i=0;s=0;do{i++;s=s+i;}while(i<5);
    • C、i=1;s=0;do{s=s+i;i++;}while(i<6);
    • D、i=1;s=0;do{s=s+i;i++;}while(i<=5);

    正确答案:B

  • 第12题:

    单选题
    以下程序段中,与其他三个功能不同的程序段是(  )。
    A

    s=0;i=1;for(;;){s+=i; i++; if(i<=10) break;}

    B

    s=0,i=1;for(;i<=10;){s+=i; i++;}

    C

    s=0;for(i=1;i<=10;i++){s+=i;}

    D

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


    正确答案: B
    解析:
    B、C、D项都表示对1到10进行累加后赋给s,而A项中含break语句,循环体只执行一次,结束整个循环过程。答案选择A选项。

  • 第13题:

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

    main()

    { int s=0,i=1;

    while(s<= 10)

    { s=s+i*i;

    i++;

    }

    printf("%d",-i);

    }


    正确答案:3
    3 解析:分析程序运行过程,第1次循环:s=s+i*i=0+1*1=1,i=2;第2次循环:s=s+i*i=1+2*2=5,i=3;第3次循环:s=s+i*i=5+3*3=14, i=4;循环条件不成立输出i,--i使i的值减1,轴出结果为3。

  • 第14题:

    执行如下程序,最后s的显示值为 SET TALK OFF S=0 i=5 x=11 DO WHILE s<=x s=s+i i=i+l ENDD0 7 S SET TALK ON

    A. 5

    B. 11

    C. 18

    D. 26


    正确答案:C
    该循环语句中,变量s和i每次执行循环后值的变化如下
    s值 i值
    第一次循环5 6
    第二次循环11 7
    第三次循环18 8
    程序在执行第四次循环时,因条件(18<=11)为假而退出循环。

  • 第15题:

    程序段如下: Dim i As Integer,s As Integer For i=4 To 1 Step-1 s=s+i Next i Print s,i执行的结果是( )。

    A.10 0

    B.9 1

    C.10 1

    D.9 0


    正确答案:A
    解析:For循环的结束条件是循环变量的值在变化方向上“超过”终值,本题循环变量i的初值为4,终值为1,步长为1,所以变化方向是从大到小,在i=4、i=3、i=2和i=1时,分别执行一次循环,在循环中把循环变量i的值(4、3、2、1)分别加到变量s中。四次循环过后,循环变量的值变为0,已经在变化方向上超过了终值,循环结束。

  • 第16题:

    分析以下程序的执行结果【】。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

  • 第17题:

    有以下程序includevoid main(){char s[]={"01aXy"};int i,n=0;for(i=0;s[i]!=0;i++)if

    有以下程序 #include<stdio.h> void main() { char s[]={"01aXy"};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]<='a'&&s[i]>='z')n++; printf("%d\n",n); } 程序运行后的输出结果是( )。

    A.0

    B.2

    C.3

    D.5


    正确答案:A

  • 第18题:

    以下程序的输出结果是

    intf( )

    {

    static int i=0;

    int s=1;

    s+=i;i++;

    return s;

    }

    main( )

    {

    int i,a=0;

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

    cout<<a<<endl;

    }

    A.20

    B.24

    C.25

    D.15


    正确答案:D
    解析:本题考察的是同名局部变量和全局变量的作用域之间的关系。同时考察了静态变量的特点:退出函数和进入函数并不影响静态变量的值。因此,循环多次,实际上完成静态变量的累加。即1+2+3+4+5,其值为15,故答案为D。

  • 第19题:

    程序段如下; s=0 For I=5 to -1 step -2 S=s+I Next I Print I 语句S=S+I执行的次数和最后I的值分别为( )。

    A.3,-1

    B.4,-1

    C.4,-3

    D.0, 5


    正确答案:C
    解析:For循环的结束条件是循环变量在变化方向上超过终值,本题循环变量I的初值为5,终值为-1,步长为-2,所以变化方向为从大到小,循环每执行一次,循环变量将加上步长。因此循环变量的值为5、3、1、-1时,将各执行一次循环体,最后一次执行循环后,循环变量再加上步长变成-3,已在变化方向上超过了终值,循环结束,此时I的值为-3。

  • 第20题:

    执行如下程序,最后S的显示值为 SET TALK OFF S=0 i=5 X=11 DO WHILE s<=X s=s+i i=i+1 ENDDO ?s SET TALK ON

    A.5

    B.11

    C.18

    D.26


    正确答案:C
    解析:该循环语句中,变量s和i每次执行循环后值的变化如下:s值i值第一次循环56第二次循环117第三次循环188程序在第四次执行循环时,因条件(18=11)为假而退出循环。

  • 第21题:

    以下能正确计算1×2×3×…×10的程序段是()。

    • A、do{i=1;s=1;
    • B、do{i=1;s=0;s=s*i;s=s*i;i++;i++;}while(i<=10);}while(i<=10);
    • C、i=1;s=1;
    • D、i=1;s=0;do{s=s*i;do{s=s*i;i++;i++;}while(i<=10);}while(i<=10);

    正确答案:C

  • 第22题:

    下列语句中与语句while(1){if(i>=100)break;s+=i;i++;}功能相同的是()。

    • A、for(;i<100;i++)s=s+i;
    • B、for(;i<100;i++;s=s+i);
    • C、for(;i<=100;i++)s+=i;
    • D、for(;i>=100;i++;s=s+i);

    正确答案:A

  • 第23题:

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

    6

    B

    10

    C

    11

    D

    15


    正确答案: A
    解析:
    当i=0时a[b[0]]=1;当i=1时a[b[1]]=3;当i=2时a[b[2]]=2;当i=3时a[b[3]]=4;当i=4时a[b[4]]=1。故s=1+3+2+4+1=11。答案选择C选项。

  • 第24题:

    单选题
    有如下程序段: S:=0; i:=1; while i<=5 do begin s:=s+i; i:=i+1; end; 执行该程序段后,变量i的值为()
    A

    1

    B

    3

    C

    5

    D

    6


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