| ;,
则数组
s
的长度是
__________________
。
26.
被调用函数执行结束时,此函数中定义的
__________________
类型的变量不被释放。
27.
表达式的运算对象可以是常量、函数调用和
__________________
。
28.
设
int x;,
则将
x
强制转换为双精度类型应写成
__________________
。
29.
语句
if(!k)a=3;
中
!k
与
__________________
等价。
30.
函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是
__________________
传递。
三、程序分析题(本大题共
5
小题,每小题
5
分,共
25
分)
阅读下列程序,将输出结果写到各题右侧的空白处。
31.main( )
{
int a[3][3]={{1},{2},{3}};
int
b[3][3]={1,2,3};
printf(
"
%5d
"
,a[1][0]+b[0][1]);
printf(
"
%5d\n
"
,a[0][1]+b[1][0]);
}
32.int a=10;
struct
data {int a, b;}
s;
main ( )
{ int c;
s.a=20
;
s.b=30;
c=f (s.a+s.b);
printf(
"
%d,%d,%d\n
"
, s.a, s.b, c);
}
f (int b)
{
printf (
"
%d,%d\n
"
,a, b);
return (a+b);
}
33.#include <stdio. h>
fun ( )
{ int y=1;
static int z=4;
z ++;
++ y;
return (y*z);
}
main ( )
{ int i;
for (i=1; i<3; i++)
printf (
"
%5d\n
"
,fun ( ));
}
34.main ( )
{ char *p,s[ ]=
"
6543210
"
;
for (p=s; *p!=
'
\0
'
;)
{ printf (
"
%s\n
"
,p);
p ++;
if (*p!=
'
\0
'
) p ++;
else break;
}
}
35.main( )
{
long f( );
printf(
"
%5ld\n
"
,f(5));
}
long f(int b)
{
if(b= =1| |b==2)return 1;
else return f(b-1)+f(b-2);
}
四、程序填充题(本大题共
3
小题,每小题
6
分,共
18
分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.
键入
10
个整数,统计其中正数
(neg)
、负数
(pos)
和零(
zero
)的个数并将三者输出。
int neg=0,pos=0,zero=0;
void sele(int num)
{
if(num>0)neg ++;
else if(num<0)pos ++;
else ______________ ;/ *
|