更多“执行下面的程序段后,变量k中的值为 int k=3, s[2]; s[0]=k; k=s[1]*10;”相关问题
  • 第1题:

    执行下面的程序段后,s的值为【 】。

    s = 0:k = 10

    While k

    s=s+10

    k=k-2

    Wend


    正确答案:50
    50 解析:While循环中的表达式>是一个数值表达式k,若k不等于0,则执行循环体;若k等于0,则结束循环。本题中循环体共被执行5次,每执行一次循环体,变量e将累加一次10,结果为50。

  • 第2题:

    以下程序运行后的输出结果是【】。includemain(){int k=1,s=0; do{ if((k%2)!=0)continue;

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

    include<stdio.h>

    main()

    { int k=1,s=0;

    do{

    if((k%2)!=0) continue;

    s+=k; k++;

    }while(k>10);

    printf("s+%d\n",s);

    }


    正确答案:s=0
    s=0 解析:do-while循环结构的形式如下:
    do
    循环体
    while(表达式);
    循环的执行过程如下:
    ①执行do后面循环体中的语句。
    ②计算while后—对圆括号中表达式的值。当值为非0时,转去执行步骤1;当值为0时,执行步骤3。
    ③退出do-while循环。
    在本题中先判断k是否为偶数,如果不是则结束本次循环,进行下—次的循环条件判定,由于没有改变k的值,k>10的不成立,退出do-while循环,执行后面的printf("s=%d\n",s);语句,因为s=0,所以输出结果为s=0。

  • 第3题:

    将下面的语句段(A) 补充完整,使其和语句段(B) 在功能上完全等价。

    (a) double s=0.0;

    【 】;

    int k=0;

    do{

    s+=d;

    k++;

    d=1.0/(k*k+1);

    }while(【 】);

    (b) double s=1.0;

    for(int k=1;k<=10;k++) s+=1.0/(k*(k+1));


    正确答案:d=1.0 k=10
    d=1.0 k=10 解析:本题考核while循环与for循环之间的转换。只要把握住循环的起始条件、结束条件和变量控制,就易解这种类型的题目。

  • 第4题:

    有以下程序: main() { char nn[4][3]={"12","34","56","78"),*pn[4]; int k,s=0; for(k=0;k<4;k++)pn[k)=nn[k]; for(k=1;k<4;k+=2) s=s*10+pn[k][1]-'0'; printf("%d\n",s); } 程序的输出结果是( )

    A.48

    B.26

    C.3478

    D.576


    正确答案:A

  • 第5题:

    有以下程序段: int k=0,a=1,b=2,c=3; k=ac?c:k; 执行该程序段后,k的值是

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是 ______。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:三目运算符的一般形式为(表达式1)?(表达式2):(表达式3),当(表达式1)值为真时,(表达式2)的值为整个表达式的值;当(表达式1)值为假时,(表达式3)的值为整个表达式的值。题中执行表达式“k=ab?b:a”后,k=2,将此值代入后一个表达式“k=k>c?c:k,由于“k>c”值为假,故k的值还等于原来k的值,即2。

  • 第6题:

    请读程序: include void fun(int * s) { static int j=0; do s[j]+=s[j+1]

    请读程序: # include<stdio.h> void fun(int * s) { static int j=0; do s[j]+=s[j+1] while( + + j<2); } main( ) { int k,a[10]={l,2,3,4,5}; for(k=l;k<3;k+ +)fun(a); for(k=0;k<5;k++)prinf("%d",a[k]); } 上面程序的输出结果是 ( )

    A.34756

    B.23445

    C.35745

    D.12345


    正确答案:C

  • 第7题:

    有以下程序: #include<stdio.h> main( ) { char*s="[2]34";int k=0,a=0; whil(s[k+1]!=\0) { k++; if(k%2=o){a=a+(s[k]-0+1);continue; } a=a+(s[k]-0); printf("k=%d a=%d\n",k,a); } 程序运行后的输出结果是( )。

    A.k=6 a=11

    B.k=3 a=14

    C.k=4 a=12

    D.k=5 a=15


    正确答案:C
    输出结果:k=1a=2k=2a=4k=3a=7k=4a=12

  • 第8题:

    下列程序是用来计算1+2+3+…+10的程序段,请补充完整该程序。

    Dimi,s,k As Integer

    s=0:k=0

    For______To-1

    k=k+1

    s=s+k

    Nexti

    Print S


    正确答案:i=-10
    i=-10

  • 第9题:

    执行下面的程序段,s的值为【 】。

    s=O:k=l0

    While k

    s=s+l0

    k=k-2

    Wend


    正确答案:50
    50 解析:本题考查While循环。While循环中的<表达式>,是一个数值表达式k,若k不等于0,则执行循环体;若k等于0,则结束循环。本题中循环体共被执行5次,每执行一次循环体,变量s将累加一次10,结果为“50”。

  • 第10题:

    有以下程序段:int k=0,a=1,b=2,c=3;k=ac ? c:k;执行该程序段后,k的值是()。A.3B.2C

    有以下程序段: int k=0,a=1,b=2,c=3; k=a<b ? b:a; k=k>c ? c:k; 执行该程序段后,k的值是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:本题中因为ab为“真”,所以第1个条件表达式的值为b的值2,所以k=2。然后又因为k>c为“假”,所以第2个表达式的值为k的值2。所以本题应该选择B。

  • 第11题:

    执行下面的程序段后,变量k中的值为 include void main( ) { int k=3,s[2]; s[

    执行下面的程序段后,变量k中的值为 #include<iostream.h> void main( ) { int k=3, s[2]; s[0]=k; k=s[1] *10; cout < < k;}

    A.不定值

    B.33

    C.30

    D.10


    正确答案:A
    解析:如果定义数组时没有进行初始化,则其各个成员的值不确定。注意:使用数组时应先赋初值。

  • 第12题:

    单选题
    执行下面的程序段后,变量k中的值为() int k=3,s[2]; s[0]=k; k=s[1]*10;
    A

    不定值

    B

    33

    C

    30

    D

    10


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

  • 第13题:

    执行下面的程序段,s的值为 【 】 。

    s=0:k=10

    While k

    s=s+10

    k=k-2

    Wend


    正确答案:50
    50 解析:While循环中的表达式>是—个数值表达式k,若k不等于0,则执行循环体;若k等于0,则结束循环。本题中循环体共被执行5次,每执行一次循环体,变量s将累加一次10,结果为“50”。

  • 第14题:

    执行下面的程序段,s的值为【 】。

    s=O:k=10

    While k

    s=s+10

    k=k-2

    Wend


    正确答案:50
    50 解析:本题考查While循环。While循环中的表达式>是一个数值表达式k:若k不等于0,则执行循环体;若k等于0,则结束循环。本题中循环体共被执行5次,每执行一次循环体,变量s将累加一次10,结果为“50”。

  • 第15题:

    有下列程序段:int k=0,a=1,b=2,c=3;k=ac?c:k;执行该程序段后,k的值是()。A.3B.2C.1D.

    有下列程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a; k=k>c?c:k; 执行该程序段后,k的值是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:因为ab成立,所以条件表达式ab?b:a的值等于b的值等于2,因此变量k的值等于2。又因为k=2>c=3不成立,所以条件表达式k>c?e:k的值等于k的值等于2。把条件表达式k>c?e:k的值赋给变量k,因而变量k的值等于2。因此,选项B)为正确答案。

  • 第16题:

    有以下程序段:int k=0, a=1, b=2, c=3;k=ac? c:k;执行该程序后,k的值是______。A.3B

    有以下程序段: int k=0, a=1, b=2, c=3; k=a<b? b:a; k=k>c? c:k; 执行该程序后,k的值是______。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析:第一个表达式得到k=2,对于第二个表达式,因为k=23,k仍然赋值为k。因此最后k值为2。

  • 第17题:

    下列程序是用来计算1+2+3……+10的程序段,请补充该程序。

    Dim i, s, k As Integer

    s =0: k = 0

    For【 】To 1

    k=k+1

    s=s+ k

    Next i

    Print s


    正确答案:j=-10
    j=-10

  • 第18题:

    请阅读以下程序:includevoid fun(int s[]){static int j=0; dos[j]+=s[j+1]; while(++

    请阅读以下程序: #include<stdio.h> void fun(int s[]) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);} 上面程序的输出是

    A.34756

    B.23445

    C.35745

    D.12345


    正确答案:C
    解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5},所以正确答案为C)。

  • 第19题:

    有以下程序

    #include<stdio.h>

    void fun(int *s)

    { static int j=0;

    do { s[j]=s[j]+s[j+1]; )while(++j<2);

    }

    main( )

    { int k,a[10]={1,2,3,4,5);

    for(k=1;k<3;k++)fun(a);

    for(k=0;k<5;k++)printf(”%d”,a[k]);

    printf("\n");

    }

    程序运行后的输出结果是

    A) 12345

    B)23445

    C)34756

    D) 35745


    正确答案:D
    【答案】D
    【知识点】static变量的使用
    【解析】静态局部变量在函数内定义,它的生存期为整个源程序。第一次k=1调用结束后,s[0]的值为3,s[1]的值为5,j的值为2。当k=2时,继续调用函数fun,此时j的值为2,但是因为do while语句先执行后判断,所以执行了s[2]=s[2]+s[3],所以s[2]的值变成了7。循环结束回到主函数,k的值为3,不满足条件结束循环。最后打印输出a数组元素的值。

  • 第20题:

    有下列程序段:int k=0,a=1,b=2,c=3;k=ac?C:k;执行该程序段后,k的值是()。A.3B.2C.1D.0

    有下列程序段: int k=0,a=1,b=2,c=3; k=a<b?b:a;k=k>c?C:k; 执行该程序段后,k的值是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:B
    解析: 因为ab成立,所以条件表达式ab?b:a的值等于b的值等于2,因此变量k的值等于2。又因为k=2>c=3不成立,所以条件表达式k>c?c:k的值等于k的值等于2。把条件表达式k>c?c:k的值赋给变量k,因而变量k的值等于2。因此,选项B)为正确答案。

  • 第21题:

    下面程序的输出结果是 ( ) maint( ) {char * s="121"; int k=0,a=0,b=0; do {k + +; if (k%2==0) {a=a + s[k]-'0';continue;} b=b + s[k]-'0';a=a + s[k]-'0' } wnile(s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); }

    A.k=3 a=2 b=3

    B.k=3 a=3 b=2

    C.k=2 a=3 b=3

    D.k=2 a=2 b=3


    正确答案:C

  • 第22题:

    执行以下程序段后,s的值为( )。 int a[ ]={1,2,3,4,5,6,7,8,9},s=0,k; for(k=0;k<8;k+=2)s+=*(a+k);

    A.13

    B.16

    C.17

    D.45


    答案:B
    解析:数组a中的元素为:a[0]=1,a[1]=2,…,a[8]=9。k=0时,s=s+*(a+0)=0+1=1;k=2时,s=1+*(a+2)=1+3=4;k=4时,s=4+5=9;k=6时,s=9+7=16。

  • 第23题:

    以下程序的输出结果是 void fun(int*s) { static int j=0; do s[j]+=s[j+1]; while(++j<2);} main() { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)printf("%d",a[k]);}

    A.34756

    B.23345

    C.35745

    D.12345


    正确答案:C
    解析:本题考查了通过数组首地址引用数组元素的方法。第一次执行fun(a)后,a[0]=3,a[1]=5。第二次执行fun(a)时,因为static变量j保存着上次执行时的值为2,所以a[2]=7,最后数组a={3,5,7,4,5}。故正确答案为选项C)。

  • 第24题:

    单选题
    执行以下程序段后,s的值为(  )。int a[]={1,2,3,4,5,6,7,8,9}, s=0,k;for(k=0;k<8;k+=2) s+=*(a+k);
    A

    13

    B

    16

    C

    17

    D

    45


    正确答案: C
    解析:
    获取数组A中第i个元素时,有两种形式:一是A[i],二是*(A+i)。数组a中的元素为:a[0]=1,a[1]=2,…,a[8]=9。k=0时,s = s+*(a+0) = 0+1 = 1;k=2时,s = 1+*(a+2) = 1+3 = 4;k=4时,s = 4+5 = 9;k=6时,s = 9+7 = 16。答案选择B选项。