参考答案和解析
正确答案:D
更多“( 18 )下列程序段执行时在屏幕上显示的结果 是D IME a(6)a (1)=1a (2)=1F OR i=3 TO 6a (i)=a(i- ”相关问题
  • 第1题:

    以下程序的输出结果是【 】。include main() {int i,j,sum; for(i=3;i>=-1;i-) (sum=0; fo

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

    include<stdio.h>

    main()

    {int i,j,sum;

    for(i=3;i>=-1;i-)

    (sum=0;

    for(j=1;j<=i;j++) sum+=i*j;

    }

    printf("%d\n,sum);

    }


    正确答案:√
    1 解析:本题考查的是for循环嵌套。外循环i变量从3递减到1,内循环变量j在每轮外循环的作用下从1递增到i,并在每轮外循环结束时,通过内循环求得sum的值,但由于外循环体的第一条语句是将变量sum初始化为0,所以每轮外循环结束时求得的sum值均被下一轮外循环执行时重新初始化为0,只有在最后一轮,当i=1时,内循环求得stan=1,跳出内循环,i的值减1变为0,不满足i>=1这个条件,结束外循环,此时输出sum的值为1。

  • 第2题:

    以下程序执行的结果是什么?()int[]myArray=newint[3];try{for(inti=0;i<=myArray.length;i++){myArray[i]=i*3;System.out.println("myArray数组的第"+i+"个元素的值是:"+myArray[i]);}}catch(ArrayIndexOurOfBoubsExceptione){System.out.println("数组下标越界");}

    A.程序执行,屏幕上显示“数组下标越界”

    B.程序出现异常,屏幕上提示出现数组下标越界异常

    C.程序正常执行结束,屏幕上显示数组中每个元素的值

    D.程序编译出错


    参考答案:A

  • 第3题:

    下列程序段的运行结果是:Private Sub Command1_Click() Dim n AS Integer I =21: n = 3 do while I>n I=I- n Loop Print IEnd Sub在窗体上打印的结果是______。

    A.3

    B.5

    C.6

    D.8


    正确答案:A
    解析:while型循环的条件为假时离开循环,即i=3时就离开,最后打印的i值为3。

  • 第4题:

    下列程序的运行结果是______。main(){int a[6],i; for(i=2;i<6;i++){a[i]=4*(i-2*(i>3))%5; print

    下列程序的运行结果是______。 main() { int a[6],i; for(i=2;i<6;i++) {a[i]=4*(i-2*(i>3))%5; printf("%2d",a[i]); } }

    A.2 3 2 3

    B.1 2 1 2

    C.3 2 3 2

    D.2 2 2 2


    正确答案:C
    解析:本题程序的功能是对数组元素赋值,难点是对表达式4*(i-2*(i>3))%5的分析。

  • 第5题:

    有以下程序include main(){ int i,j; for(i=3;i>=-1;i-) { for(i=1;j<=2;

    有以下程序#include <stdio.h>main(){ int i,j; for(i=3;i>=-1;i-) { for(i=1;j<=2;j++) printf("%d",i+j); printf("\n"); }} 程序的运行结果是______。

    A.234 345

    B.432 543

    C.23 34 45

    D.45 34 23


    正确答案:D
    解析:本题考查的是for循环的嵌套。外层循环变量i从3递减到1,内层循环变量j从1递增到2,具体运行过程如下: i-3:j=1,满足条件j=2,输出i+j=3+1=4;j=2,满足条件j=2,输出i+j=3+2=5;j=3,不满足条件j=2,退出内层循环,执行“printf("\n");”语句,换行。执行i--,此时i=2,满足条件i>=1;
    i=2:j=1,满足条件j=2,输出i+j-2+1=3:j=2,满足条件j=2,输出i+j=2+2=4;j=3,不满足条件j=2,退出内层循环,执行“ptintf("\n");”语句,换行。执行i-,此则i=1,满足条件i>=1;
    i=1:j=1,满足条件j=2,输出i+j=1+1=2;j=2,满足条件j=2,输出i+j=1+2=3;j=3,不满足条件j=2,退出内层循环,执行“printf("\n");”语句,换行。执行i--,此时i=0,不满足条件i>=1,结束外层循环。

  • 第6题:

    下列程序段执行时在屏幕上显示的结果是( )。 DIME a(6) a(1)=1 a(2)=1 FOR i=3 TO 6 a(i)=a(i-l)+a(i-2) NEXT ?a(6)

    A.5

    B.6

    C.7

    D.8


    正确答案:D
    D。【解析】这是一个求斐波那契数列(因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”),通过FOR循环结构达到递归运算的结果。a(6)应为8。

  • 第7题:

    下列程序的执行结果是( )。 a=75 If a>90 Then i=4 If a>80 Then i=3 If a>70 Then i=2 1f a>60 Then i=1 Print "i=";i

    A.i=1

    B.i=2

    C.i=3

    D.i=4


    正确答案:A
    解析:本题为4个单行If语句,当a=75时,前2个条件为假,不执行then语句,而后2个条件为真,两个then语句先后执行,最后执行结果为i=1。考生应该注意避免认为执行Ifa>70 Then i=2后就不再判断If a>60 Then i=1了。本题难度不大,但考生应该仔细分析清楚题目结构。答案为A。

  • 第8题:

    下列程序段执行时在屏幕上显示的结果是

    A)5

    B)6

    C)7

    D)8


    正确答案:D

  • 第9题:

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

  • 第10题:

    下列程序的执行结果是(, )。 a=75 1f a>90 Then i=4 1f a>80 Then i=3 1f a>70 Then i=2 1f a>60 Then i=1 Print”i=”;i

    A.i=1

    B.i=2

    C.i=3

    D.i=4


    正确答案:A
    解析:本题为4个单行If语句,当a=75时,前2个条件为假,不执行then语句,而后2个条件为真,两个then语句先后执行,最后执行结果为i=1。考生应该注意避免认为执行Ifa>70 Theni=2后就不再判断Ifa>60Theni=1了。本题难度不大,但考生应该仔细分析清楚题目结构。答案为A。

  • 第11题:

    在图示的电路中,IS1=3A,IS2=6A。当电流源IS1单独作用时,流过R0=1Ω电阻的电流I=1A,则流过电阻R的实际电流I值为:

    A. -1A B. +1A C. -2

    A D.+2A

    答案:A
    解析:

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

    下列程序的输出结果是()。includemain(){int a=0,i; for(i=1;i<5;i++) { switch(i) { c

    下列程序的输出结果是( )。 #include<stdio.h> main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=1; case 1: case 2:a+=2; default:a+=3; } printf("%d",A) ; }

    A.19

    B.18

    C.6

    D.8


    正确答案:A
    解析:本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。

  • 第14题:

    下列程序段执行时在屏幕上显示的结果是

    DIME a(6)

    a(I)=1

    a(2)=l

    FOR i=3 TO 6

    a(i)=a(i-1)+a(i-2)

    NEXT

    ?a(6)

    A.5

    B.6

    C.7

    D.8


    正确答案:D
    解析:该程序最后求得的结果是a(6),其中:a(6)=a(4)+a(5),a(5)=a(3)+a(4),a(4)=a(2)+a(3),a(3)=a(1)+a(2)=2,最后可分别求得a(4)=3,a(5)=5,a(6)=8。

  • 第15题:

    下列程序段的执行结果是______。 int i; int x[][3]=}1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d",x[i][2-i]);

    A.1 59

    B.1 4 7

    C.3 5 7

    D.3 6 9


    正确答案:C
    解析:数组x在初始化时赋9个值,列值为3,则行值为3。i为0时,x[i][2-1]指的是元素x[0][2](值为3):i为1时,x[i][2-i]指的是元素x[1][1](值为5):i为2时,x[i][2-1]指的是元素x[2][0](值为7);输出结果是3 5 7。

  • 第16题:

    下列程序的输出结果是______。include main(){ int i=1,j=3; printf("%d,",i++); {int

    下列程序的输出结果是______。#include <stdio.h>main (){ int i=1,j=3; printf("%d,",i++); { int i=0; i+=j*2; printf("%d,%d,",i,j); } printf("%d,%d\n",i,j);}

    A.1,6,3,1,3

    B.1,6,3,2,3

    C.1,6,3,6,3

    D.1,7,3,2,3


    正确答案:B

  • 第17题:

    有以下程序: #define N 20 fun(int a[],int,n,int m) { int,i,j; for(i=m;i>=n;i-)a[i+1]=a[i] } main() { int i, a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++)printf("%d",a[i]); } 程序运行后的输出结果是 ______。

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用“fun(a,2,9);”可知,函数fun用于将a[2]到a[9]的各元素依次向后移一位,移完后,a数组中各元素的值分别为1,2,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。

  • 第18题:

    下面程序的输出结果是______。 inc1ude main() {char*p[]={"BOOL","OPK","H","SP"};int

    下面程序的输出结果是______。 #inc1ude<stdio.h> main() { char*p[]={"BOOL","OPK","H","SP"}; int i; for(i=3;i>=0;i-,i-) prinf("%c",*p[i]); print("\n") }

    A.SO

    B.SP

    C.SPOPK

    D.SHOB


    正确答案:A
    解析:p[0]存放的是“BOOL\0”的首地址;p[1]存放的是“OPk\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串中的第一个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

  • 第19题:

    执行下列语句段后,输出字符“*”的个数是( )。 for(int i=50;i>1;i-=2)Cout<<*: A.24S

    执行下列语句段后,输出字符“*”的个数是( )。 for(int i=50;i>1;i-=2)Cout<<*:

    A.24

    B.25

    C.26

    D.50


    正确答案:B
    本题考查for循环语句,题目中每执行完循环体后,i都会减2.那么只有50到2之间的偶数才能输出“*”,所以总共输出25次。

  • 第20题:

    下列程序段执行时在屏幕上显示的结果是( )。

    A)3

    B)4

    C)5

    D)6


    正确答案:B

  • 第21题:

    下列程序段执行时在屏幕上显示的结果是( )。

    DIMEA(3,2)

    FORI=1TO3

    FORJ=1TO2

    A(1,J)=I+J

    NEXT

    NEXT

    ?A(5)


    正确答案:B
    本程序的执行过程大致如下:首先定义一个三行两列的二维数组,数组名称为A,然后通过两个FOR循环给数组中每个元素赋值,赋值的结果为:A(1)=A(1,1)=2,A(2)=A(1,2)=3,A(3)=A(2,1)=3,A(4)=A(2,2)=4,A(5)=A(3,1)=4,A(6)=A(3,2)=5。

  • 第22题:

    下列程序段的执行结果是______。 int i=0; while(i++<=2) printf("%d\t",i);

    A.1 2 3

    B.1 2

    C.1

    D.无结果


    正确答案:A
    解析:i++是先取值后判断,再自加,循环体输出自加后的值,循环体执行3次,控制符\t是移动水平制表位。

  • 第23题:

    以下程序执行的结果是什么?()  int[] myArray = new int[3];  try{  for(int i=0; i<=myArray.length;i++){  myArray[i]=i*3;   System.out.println("myArray数组的第"+i+"个元素的值是:"+myArray[i]);       }  }catch(ArrayIndexOurOfBoubsException e){  System.out.println("数组下标越界");} 

    • A、程序执行,屏幕上显示“数组下标越界”
    • B、程序出现异常,屏幕上提示出现数组下标越界异常
    • C、程序正常执行结束,屏幕上显示数组中每个元素的值
    • D、程序编译出错

    正确答案:A