一起答
主观

阅读下列程序序并写出运行结果。

int fun(int y);

void main(void)

{

int x[4]={3,5,7,0},s=0,i=0;

while(x[i]){

s+=fun(x[i]);

i++;

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

}

}

int fun(int y)

{

static int a=0;

a=a+y;

return a;

}

试题出自试卷《计算机基础与程序设计2011年4月真题试题与答案解析(02275)》
参考答案
查看试卷详情
相关试题
  1. 从键盘上输入20个字符存放到一个字符数组s中。对数组s中的元素按升序(由小到大)排序,再将排序后的结果写到c:\abc.dat文本文件中。

  2. 阅读下列程序并写出运行结果。

    void f1(char*t,char*s);

    void main(void)

    {

    char s1[20]="abcdl2345",t1[20]="xyz";

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

    f1(t1,s1);

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

    }

    void f1(char*t,char*s)

    {

    while((*t=*s)!=′\0′){

    t++;

    s++;

    }

    }

  3. 从键盘输入20个整数存放到数组a 中,计算数组a中下标为奇数的所有元素的和。

  4. 阅读下列程序序并写出运行结果。

    int fun(int y);

    void main(void)

    {

    int x[4]={3,5,7,0},s=0,i=0;

    while(x[i]){

    s+=fun(x[i]);

    i++;

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

    }

    }

    int fun(int y)

    {

    static int a=0;

    a=a+y;

    return a;

    }

  5. 阅读下列程序并写出运行结果。

    void main(void)

    {

    int x=3,y[7]={1,3,5,8,9,11,12};

    int t=O,b=7,f=O,m;

    m=(b+t)/2;

    while(b-t﹥=O)

    if(y[m]==x){f=1;

    printf("\ny[%d]=%d\n",m,y[m]);

    break;

    }

    else if(y[m]﹥x)

    {

    b=m-1;printf("%d\t",y[m]);

    m=(b+t)/2;}

    else{

    t=m+1;printf("%d\t",y[m]);

    m=(b+t)/2;}

    if(! f)

    printf("\n not find!\n");

  6. 阅读下列程序,当依次输入11,12,13,14,16这5个数时,请写出程序的运行结果。

    void main(void)

    {

    int x,i,s=0;

    for(i=0;i﹤5;i++){

    scanf("%d",&x);

    if(x%2)continue;

    printf("%d\t",x);

    s+=x;

    }

    printf("\n");

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

    }

  7. 阅读下列程序并写出运行结果。

    void main(void)

    {

     int x=1,y=2;

     char ch=′a′;

     x++;y-=2;++ch;

     printf("%c,%d,%d\n",ch,x,y);

    }

  8. 阅读下列程序并写出运行结果

    void main(void)

    {

    int x=11;

    switch(x-1){

    case 0:

    printf("x=%d\n",x++);

    break;

    case 10:

    printf("x=%d\n",x*2);

    case 20:

    printf("x=%d\n",x*4);

    default:

    printf("x=%d\n",x);

    }

    }

  9. 设有说明:

    struct node{

    int num;

    char name[12];

    char sex;

    float income;

    }a,*ptr=&a;

    写出对ptr所指成员num,name,sex,income分别赋值123,"zhang",′m′,654.25的赋值语句。

  10. 设有说明:unsigned x=10;试写出通过仅对x进行移位操作的表达式,使表达式的值为 16。