27.以下程序的正确运行结果是( )。
#include
void num( )
{extern int x,y;int a=15,b=10; x=a–b; y=a+b; }
int x,y; main()
{int a=7,b=5; x=a+b; y=a–b; num();
printf(\,%d\\n\,x,y); }
34
.下述程序输出的结果是( #include
void fun(int a,int b,int c) {
a=456; b=567; c=678; }
main()
{
int x=10,y=20,z=30; fun(x,y,z);
printf(\}
36
.下述程序输出的结果是( #include
int i=2,p; p=f(i,i+1)
printf(\}
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; }
)。 )。 37.下述程序输出的结果是( )。
#include
{
int a=8,b=1,p; p=func(a,b);
printf(\ p=func(a,b);
printf(\}
func(int x,int y) {
static int m=2,k=2; k+=m+1; m=k+x+y; return(m); }
39
.下述程序输出的结果是( #include
int x=1;
fun(fun(x)); }
fun(int n)
{
static int s[3]={1,2,3}; int i;
for(i=0;i<3;i++) s[i]+=s[i]-n; for(i=0;i<3;i++) printf(\ printf(\ return(s[n]); }
40
.下述程序输出的结果是( #include
int x=0; x++;
printf(\}
void fun2() {
static int x; x++;
printf(\}
)。 )。 main() {
int i;
for(i=0;i<3;i++) {
fun1(); fun2(); } }
7.3.2 填空题
3.以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请填空。
#include
float f(float,float); main( )
{ float x,y,z,sum;
scanf(\; sum=f(【1】) +f(【2】); printf(\,sum); }
float f(float a,float b) { float value; value=a/b; return(value); }
5.以下程序的功能是用二分法求方程2x3–4x2+3x–6=0的根,并要求绝对误差不超过0.001。请填空。
#include
{return(2*x*x*x–4*x*x+3*x–6);}
main( )
{float m=–100,n=90,r; r=(m+n)/2;
while(f(r)*f(n)!=0)
{ if(【1】) m=r; else n=r; if(【2】) break; r=(m+n)/2;
}
printf(\,r); }
6.若输入一个整数10,以下程序的运行结果是【 】 。
main()
{int a,e[10],c,i=0; scanf(\,&a); while(a!=0)
{c=sub(a); a=a/2; e[i]=c; i++;
}
for(;i>0;i--)printf(\,e[i–1]); }
sub(int a) {int c; }
c=a%2;
return c;
7.已有函数pow,现要求取消变量i后pow函数的功能不变。请填空。 修改前的pow函数:
pow(int x,int y)
{int i,j=1;
for(i=1;i<=y;++i) j=j*x; return(j); }
修改后的pow函数:
pow(int x,int y) {int j; for(【1】;【2】;【3】)j=j*x; return(j); }
8.以下程序的功能是求三个数的最小公倍数,请填空。
#include
max(int x,int y,int z) {if(x>y && x>z) return(x); else if(【1】)return(y); else return(z); }
main()
{int x1,x2,x3,i=1,j,x0; printf(\:\; scanf(\,&x1,&x2,&x3); x0=max(x1,x2,x3); while(1) {j=x0*i; if(【2】)break; i=i+1; }
printf(\,j); }
9.函数fun的作用是求整数n1和n2的最大公约数,并返回该值。请填空。
fun(int n1,int n2) {int temp; if(n1【1】n2)
{temp=n1;n1=n2;n2=temp;}
temp=n1%n2; while(【2】)
{ n1=n2;n2=temp;temp=n1%n2;} return(n2);
10.函数f中的形参a为一个3×3的二维数组,以下程序段的运行结果为【 】 。
f(int a[3][3]) {int i,j,k,n=3;
j=n/2+1;a[1][j]=1;i=1; for(k=2;k<=n*n;k++) }
{i=i–1;j=j+1;
if(i<1 && j>n) {i=i+2;j=j–1;} else {if(i<1)i=n; if(j>n)j=1;}
if(a[i][j]= =0) a[i][j]=k;
else {i=i+2;j=j–1;a[i][j]=k;} }
}
11.以下程序段的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。请填空。
递归公式如下: 10 (n=1) age(n)= age(n-1)+2 (n>1)
#include
if(n= =1)c=10; else c=【1】 ; return(c); }
main()
{int n=5;
printf(\: %d\\n\,【2】); }
12.下面程序的运行结果是【 】 。
main( )
{int i=5;
printf(\,sub(i)); }
sub(int n) {int a;
if(n= =1)return 1; a=n+sub(n–1); return(a); }
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计学习与实践指导(源代码)(5)在线全文阅读。
相关推荐: