>>点击进入2013年9月全国计算机二级C语言程序设计预测卷4 在线考场
一、选择题(每小题1分,共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("\n"); } 程序运行后的输出结果是( )。 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]!=’\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 一、选择题(每小题1分,共40分)…… 二、基本操作题(共18分)…… 三、程序改错题(共24分)…… 四、程序设计题(共18分)……
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |