C语言试卷

第521题

有以下程序

#include <stdio.h>
int fun (int x,int y)
{
 if(x!=y) return ((x+y)/2);
 else return (x);
}
main()
{
 int a=4,b=5,c=6;
 printf("%d\n",fun(2*a,fun(b,c)));
}

程序运行后的输出结果是( )。 

第522题

有以下程序:

#include <stdio.h>
int f(int x); 
main(){
 int n=1,m; 
 m=f(f(f(n)));
 printf("%d\n",m); 
}
int f(int x) 
{
 return x*2;
}

程序运行后的输出结果是( )。 

第523题

有以下程序:

#include <stdio.h>
int f(int x,int y)
{
 return((y-x)*x);
}
main()
{
 int a=3,b=4,c=5,d;
 d=f(f(a,b),f(a,c));
 printf("%d\n",d);}

程序运行后的输出结果是( )。 

第524题

有以下程序

#include <stdio.h>
int fun(int a,int b)
{
 return a+b;
}
main()
{
 int x = 6,y=7,z = 8,r;
 r = fun(fun(x,y),z--);
 printf("%d\n",r);
}

程序运行后的输出结果是( )。 

第525题

有以下程序:

#include <stdio.h>
int f(int x); 
main()
{
 int n=1,m; 
 m=f(f(f(n)));
 printf("%d\n",m); 
}
int f(int x) 
{
 return x*2;
}

程序运行后的输出结果是( )。 

第526题

有以下程序

#include <stdio.h>
int fun1(double a)
{
 return (int)(a*= a);
}
int fun2(double x,double y)
{
 double a = 0,b = 0;
 a = fun1(x);
 b = fun1(y);
 return (int)(a+b);
}
main()
{
 double w;
 w = fun2(1.1,2.0);
 printf("%4.2f",w);
}

程序执行后输出结果是( )。 

第527题

若有以下函数首部

int fun(double x[10],int*n)

则下面针对此函数的函数声明语句中正确的是( )。

第528题

若各选项中所用变量已正确定义,函数fun中通过return语句返回一 个函数值,以下选项中错误的程序是( )。

第529题

有以下程序

:#include <stdio.h>
main()
{
 int findmax(int,int,int),m;
 …
 m=findmax(a,b,c);
 …
}
int findmax(int x,int y,int z)
{
 …
}

则以下叙述正确的是( )。

第530题

以下关于C语言函数参数传递方式的叙述正确的是( )。

第531题

有以下程序:

#include <stdio.h>
void fun(int p){ 
 int d=2; 
 p=d++;
 printf("%d",p); 
} 
main()
{
 int a=1; 
 fun(a);
 printf("%d\n",a); 
}

程序运行后的输出结果是( )。 

第532题

有以下程序:

#include <stdio.h>
void fun(int a,int b)
{
 int t;
 t=a;
 a=b;
 b=t;}
main()
{
 int c[10]={1,2,3,4,5,6,7,8,9,0},i;
 for(i=0;i<10;i+=2)fun(c[i],c[i+1]);
 for(i=0;i<10;i++)printf("%d,",c[i]);
 printf("\n");
}

程序运行的结果是( )。 

第533题

以下叙述中错误的是( )。

第534题

以下关于指针的叙述正确是( )。

第535题

关于地址和指针,以下说法正确的是( )。

第536题

以下关于指针的叙述,错误的是( )。

第537题

以下叙述中错误的是( )。

第538题

有以下程序:

 #include<stdio.h> 
 main() 
 { 
 char* p1 = 0; 
 int* p2 = 0;
  float* p3 = 0; 
  printf("%d,%d,%d\n",sizeof(p1),sizeof(p2),sizeof(p3));
   }

程序运行后的输出结果是( )。

第539题

若有定义语句:

 double a,*p=&a;

以下叙述中错误的是( )。 

第540题

设有定义:

 int a,b[10],*c=NULL,*p;

则以下语句错误的是( )。