更多“4、执行下面的语句段后 ,变量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题:

    执行下面的程序段,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”。

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

    有以下程序#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.23445C.35745 D.12345


    正确答案:C
    在本题中,首先定义了一个fun函数,函数中的形参是一个数组,该函数中首先定义了一个静态整型变量j并赋了初值,注意,静态变量的作用域是整个程序,而非该函数。从该函数的程序段不难看出该函数的作用是通过一个循环求形参数组中相邻两个元素(具体根据j确定)的和,并保存。
    在主函数中,定义了一个数组并赋初值,然后用循环调用fun函数。
    当k=1时,调用fun函数,此时刚开始j的值为0,那么fun函数分别计算数组a中的第一个元素与第二个元素的和与第二个元素与第三个元素的和,并分别保存为数组的第一个元素和第二个元素,结果分别为3和5。
    当k=2时,调用fun函数,此时j的值为2,那么fun函数只计算数组a中的第三个元素与第四个元素的和,并保存为数组的第三个元素,结果为7。
    循环结束,经过该层循环后,数组a中各元素的值分别为3、5、7、4、5,最后用循环输出结果为35745。因此,答案选C。

  • 第6题:

    请阅读以下程序: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)。

  • 第7题:

    有以下程序

    #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数组元素的值。

  • 第8题:

    执行下面的程序段,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”。

  • 第9题:

    下列程序的输出结果是______。main(){ 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'; }while (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=2

    D.k=2 a=2 b=3


    正确答案:C

  • 第10题:

    执行下面的程序段后,变量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
    解析:如果定义数组时没有进行初始化,则其各个成员的值不确定。注意:使用数组时应先赋初值。

  • 第11题:

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

  • 第12题:

    单选题
    有以下程序:#includemain(){ char *s=12134; int k=0,a=0; while(s[k+1]!='\0') {  k++;  if(k%2==0)  {   a=a+s[k]-'0'+1;   continue;  }  a=a+(s[k]-'0'); } printf(k=%d a=%d,k,a);}程序运行后的输出结果是(  )。
    A

    k=6 a=11

    B

    k=3 a=14

    C

    k=4 a=12

    D

    k=5 a=15


    正确答案: A
    解析:
    第一次循环,k=1,s[1]=2,执行a=a+s[1]-'0'=2;第二次循环,k=2,s[2]=1,执行a=a+s[2]-'0'+1=2+2=4;第三次循环,k=3,s[3]=3,执行a=a+s[3]-'0'=4+3=7;第四次循环,k=4,s[4]=4,执行a=a+s[k]-'0'+1=7+5=12,可得到结果k=4,a=12。答案选择C选项。

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

    有以下程序: #include<stdio.h> void fun(int*s) { static int i=0; do{s[J]=s[J]+s[j+I];}while(++j<2); } main( ) { int k.a[l0]={1,2,3,4,5}; for(k=1;k<3;k++)fun(a); for(k=0;k<5;k++)pfintf("%d",a[k]); printf("\n"); } 程序运行后的输出结果是( )。

    A.12345

    B.23445

    C.34756

    D.35745


    正确答案:D
    本题考查静态变量,静态变量有储存已经操作过的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案选择D。

  • 第15题:

    将下面的语句段(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循环之间的转换。只要把握住循环的起始条件、结束条件和变量控制,就易解这种类型的题目。

  • 第16题:

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

  • 第17题:

    请读程序: 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

  • 第18题:

    有以下程序: #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

  • 第19题:

    下列程序运行后的输出结果是 ______。 include void main(){ int s=0,k for(k=7;k>=0

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

    include<iostream.h>

    void main()

    {

    int s=0,k

    for(k=7;k>=0;k--)

    {

    switch(k)

    {

    case 1:

    case 4:

    case 7:s+ +;break:

    case 2:

    case 3:

    case 6:break;

    case 0:

    case 5:s+=2;break;

    }


    正确答案:s=7
    s=7

  • 第20题:

    下面程序的输出结果是 ( ) 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

  • 第21题:

    执行以下程序段后,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。

  • 第22题:

    下列程序的输出结果是______。 main() { char*s="1221"; int k=0,a=0,b=0; do { if(k%2==0) {a=a+s[k]-'0'; continue; } b=b+s[k]-'0'; } while(s[++k]); printf("k=%d a=%d b=%d\n",k,a,b); }

    A.k=3 a=4 b=3

    B.k=3 a=3 b=3

    C.k=4 a=3 b=3

    D.k=4 a=2 b=3


    正确答案:C
    解析:将数字字符串中下标值能被2整除的元素值(字符)转换为数字累加到变量a中,将数字字符串中下标值不能被2整除的元素值(字符)转换为数字累加到变量b中,循环结束时,a、b的值均为3,k是字符结束符的下标值,为4。

  • 第23题:

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

    不定值

    B

    33

    C

    30

    D

    10


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

  • 第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选项。