2013年计算机二级考试C语言第七章课后题及参考答案
第七章、函数
一、选择题
7.1 以下说法中正确的是
A) C语言程序总是从第一个定义的函数开始执行
B) 在C语言程序中,要调用的函数必须在main函数中定义
C) C语言程序总是从main函数开始执行
D) C语言程序中的main函数必须放在程序的开始部分
答案:C
7.2 以下函数的类型是
A) 与参数x的类型相同
B) void类型
C) int类型
D) 无法确定
fff(float x)
{ printf("%d\\n",x*x); }
答案:C
7.3 以下函数调用语句中,含有的实参个数是
A) 1
B) 2
C) 4
D) 5
func( (exp1,exp2),(exp3,exp4,exp5));
答案:B
7.4 以下程序的输出结果是
A) 11
B) 20
C) 21
D) 31
fun(int a,int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\\n",r);
}
答案:C
7.5 以下程序的输出结果是
A) -1
B) 0
C) 1
D) 2
main()
{ int i=2,p;
p=f(i,i+1);
printf("%d",p);
}
int f(int a, int b)
{ int c;
c=a;
if(a>b) c=1;
else if(a==b) c=0;
else c=-1;
return(c);
}
答案:A
7.6 以下程序的输出结果是
A) 0
B) 1
C) 6
D) 无定值
fun(int a,int b,int c)
{ c=a*b; }
main()
{ int c;
fun(2,3,c);
printf("%d\\n",c);
}
答案:D
7.7 以下程序的输出结果是
A) 5.500000
B) 3.000000
C) 4.000000
D) 8.25
double f(int n)
{ int i; double s;
s=1.0;
for(i=1; i<=n; i++) s+=1.0/i;
return s;
}
main()
{ int i,m=3; float a=0.0;
for(i=0; i<m; i++) a+=f(i);
printf("%f\\n",a);
}
答案:A
计算机二级C语言章节练习在线测试 | ||
第7章 | 函数 |
二、 填空题
7.8 以下程序的输出结果是____。
unsigned fun6(unsigned num)
{ unsigned k=1;
do
{ k*=num%10; num/=10; }
while(num);
return k;
}
main()
{ unsigned n=26;
printf("%d\\n",fun6(n);
}
答案:12
7.9 以下程序的输出结果是____。
double sub(double x,double y,double z)
{ y-=1.0;
z=z+x;
return z;
}
main()
{ double a=2.5,b=9.0;
printf("%f\\n",sub(b-a,a,a));
}
答案:9.000000
7.10 以下程序的输出结果是____。
fun1(int a,int b)
{ int c;
a+=a; b+=b;
c=fun2(a,b);
return c*c;
}
fun2(int a,int b)
{ int c;
c=a*b%3;
return c;
}
main()
{ int x=11,y=19;
printf("%d\\n",fun1(x,y));
}
答案:4
7.11 下面pi函数的功能是,根据以下公式返回满足精度ε要求的π的值。请填空。
π/2 = 1 + 1/3 + (1/3)*(2/5) + (1/3)*(2/5)*(3/7) +
(1/3)*(2/5)*(3/7)*(4/9) + ...
double pi(double eps)
{ double s=0.0,t=1.0;
int n;
for(_____; t>eps; n++)
{ s+=t;
t=n*t/(2*n+1);
}
return (2.0*_____);
}
答案:n=1、s
7.12 以下函数用以求x的y次方。请填空。
double fun(double x, int y)
{ int i; double z;
for(i=1; i_____; i++)
z=_____;
return z;
}
答案:<=y、z*x
7.13 以下程序的功能是计算s=0!+1!+2!+3!+...+n!。请填空。
long f(int n)
{ int i; long s;
s=_____;
for(i=1; i<=n; i++) s=_____;
return s;
}
main()
{ long s; int k,n;
scanf("%d",&n);
s=_____;
for(k=0; k<=n; k++) s=s+_____;
printf("%ld\\n", s);
}
答案:1L、s*i、0、f(k)
计算机二级C语言章节练习在线测试 | ||
第7章 | 函数 |