全国等级考试资料网

2013年计算机等级考试二级C语言练习20

分类: 计算机  时间: 2022-08-09 20:35:40  作者: 全国等级考试资料网 

1 设变量已正确定义,则以下能正确计算f=n!的程序是()。

A. f=0; for(i=1;i<=n;i++)f*=i;  

B. f=1;for(i=1;i

C. f=1;for(i=n;i>1;i++)f*=i;

D. f=1;for(i=n;i>=2;i--)f*=i; 

2 有以下程序: 

#include

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(" "); 

}

程序运行后的输出结果是()。

A. 12345   

B. 23445

C. 34756

D. 35745

3 有下列程序:    

fun(int X,int y){return(x+y);)

main()

{  int a=1,b=2,c=3,sum; 

sum=fun((a++,b++,a+b),c++); 

printf("%d\n",sum); 

}

执行后的输出结果是()。   

A. 6   

B. 7

C. 8   

D. 9

4 现有以下结构体说明和变量定义,如图所示,指针P、q、r分别指定一个链表中连续的3个结点。 

 

struct node

{har data; 

struct node*next;)*P,*q,*r; 

现要将q和r所指结点交换前后位置,同时要保持链表的结构,下列不能完成此操作的语句是()。

A. q-:>next=r->next;p--:>next=r;rm:>next=q;

B. q-:>next=r;q->next=r->next;r->next=q;

C. q-:>next=r->next;r->next=q;p->next=r;

D. q-:>next=q;p->next=r;q->next=r->next; 

5 有以下程序: 

#include

main()

{  char*s="[2]34";int k=0,a=0; 

 whil(s[k+1]!=’’)

{  k++; 

 if(k%2=o){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

相关文章

猜你喜欢

精选计算机