2013年计算机二级考试C语言第十二章课后题及参考答案
第十二章
一、选择题
12.1 以下程序的输出结果是
A) 1,6,3,1,3
B) 1,6,3,2,3
C) 1,6,3,6,3
D) 1,7,3,2,3
main()
{ int i=1,j=3;
printf("%d,",i++);
{ int i=0;
i+=j*2;
printf("%d,%d,",i,j);
}
printf("%d,%d\\n",i,j);
}
答案:B
12.2 以下程序的输出结果是
A) 1 2 3 4
B) 4 3 2 1
C) 0 0 0 0
D) 4 4 4 4
main()
{ int a[]={1,2,3,4},i,x=0;
for(i=0; i<4; i++) { sub(a,&x); printf("%d ",x); }
printf("\\n");
}
sub(int *s,int *y)
{ static int t=3;
*y=s[t]; t--;
}
答案:B
12.3 以下程序的输出结果是
A) 8,17
B) 8,16
C) 8,20
D) 8,8
main()
{ int k=4,m=1,p;
p=func(k,m);
printf("%d,",p);
p=func(k,m);
printf("%d\\n",p);
}
func(int a,int b)
{ static int m,i=2;
i+=m+1;
m=i+a+b;
return (m);
}
答案:a
12.4 以下程序的输出结果是
A) 34756
B) 23445
C) 35745
D) 12345
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]);
}
答案:C
计算机二级C语言章节练习在线测试 | ||
第12章 | C语言中用户标识符的作文域和存储类 |
12.5 以下程序的输出结果是
A) 3
B) 6
C) 5
D) 4
f(int a)
{ int b=0;
static int c=3;
a=c++,b++;
return (a);
}
main()
{ int a=2,i,k;
for(i=0; i<2; i++) k=f(a++);
printf("%d\\n",k);
}
答案:D
12.6 以下程序的输出结果是
A) 1
B) 2
C) 7
D) 10
int m=13;
int fun2(int x,int y)
{ int m=3;
return (x*y-m);
}
main()
{ int a=7,b=5;
printf("%d\\n",fun2(a,b)/m);
}
答案:B
12.7 C语言中,形参的缺省的存储类说明是
A) auto(自动)
B) static(静态)
C) register(寄存器)
D) extern(外部)
答案:A
12.8 以下叙述中不正确的是
A) 一个变量的作用域完全取决于变量定义语句的位置。
B) 全局变量可以在函数以外的任何部位进行定义。
C) 局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用。
D) 一个变量说明为static存储类是为了限制其它编译单位的引用。
答案:C
计算机二级C语言章节练习在线测试 | ||
第12章 | C语言中用户标识符的作文域和存储类 |
二、填空题
12.9 以下程序的输出结果是______。
main()
{ int a=3,b=2,c=1;
c-=++b;
b*=a+c;
{ int b=5,c=12;
c/=b*2;
a-=c;
printf("%d,%d,%d",a,b,c);
a+=--c;
}
printf("%d,%d,%d\\n",a,b,c);
}
答案:2,5,1,2,3,-2
12.10 以下程序的输出结果是_____。
void fun()
{ static int a;
a+=2; printf("%d",a);
}
main()
{ int cc;
for(cc=1; cc<=4; cc++) fun();
printf("\\n");
}
答案:2468
计算机二级C语言章节练习在线测试 | ||
第12章 | C语言中用户标识符的作文域和存储类 |