一.(25)
116、以下程序运行后的输出结果是__3____
main()
{ int p=30;
  printf("%d\n",(p/3>0 ? p/10 :p%3));
}
66、若想通过以下输入语句使a=5.0b=4c=3,则输入数据的形式应该是__5.04c=3____
    int  b,c;  float a;
    scanf("%f,%d,c=%d",&a,&b,&c)
27、请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。
_double maxextern double max_____( double,double);
main()
{  double  x,y;
  scanf("%1f%1f",&x,&y);
  printf(%1f\n",max(x,y));
}
double max(double  a,double  b)
{  return(a>b ? a:b);}
57、以下程序的输出结果是__246____
void fun()
{
    static int a = 0;
    a += 2;
    printf("%d",a);
}
main()
{
    int  cc;
    for(cc = 1;cc < 4; cc++)  fun();
    printf("\n");
}
43、以下程序运行后的输出结果是_81_____
#define S(x) 4*x*x+1
main()
{ int i=6,j=8;
  printf("%d\n",S(i+j));
}
73、以下函数inverse的功能是使一个字符串按逆序存放。
inverse(str)
char str[];
  {
    char m;
    int i,j;
    for(i=0,j=strlen(str);i<strlen(str)/2;_i++_____,j--)
    {
        m=str[i];
        str[i]=_str[j-1]_____;
      _str[j-1]=m_____;
      }
  }
144、以下程序的输出结果_efgh_____
#include <stdio.h>
#include <string.h>
char  *fun(char  *t)
{  char  *p=t;
  return(p+strlen(t)/2);
}
main()
{  char  *str="abcdefgh";
  str=fun(str);
  puts(str);
}
67、下列程序的输出结果是__5 6____c语言二维数组转置
int t(int x,int y,int cp,int dp)
{  cp=x * x+y*y;
    dp=x*x-y*y;
}
main(  )
{    int  a=4,b=3,c=5,d=6;
    t(a,b,c,d);
    printf("%d %d\n",c,d);
}
19、若有如下结构体说明:
struct STRU
{ int a,b;char c: double d;
  struct STRU *p1,*p2;
};
请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。
__struct STRU____t[20]
100、以下程序用来统计文件字符的个数,请填空。
#include  "stdio.h"
main()
{  FILE *fp; long num=O;
  if((fp=fopen("fname.dat","r"))==NULL)
  {  PRINTF("Open error\n");exit(0);}
  while(__fgetc(fp)!=EOF!feof(fp)____)
  {num++; }
    printf("num=%ld\n",num);
  fclose(fp);
}
93、以下程序段用于构成一个简单的单向链表,填空。
struct STRU
{ int x,y;
  float rate;
  __struct STRU * ____ p;
}a,b;
a.x=0;a.y=0;a.rate=0;a.p=&b;
b.x=0;b.y=0;b.rate=0;b.p=NULL;
42、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。
main()
{ int i,a[20],sum,count;
  sum=count=0;
  for(i=0;i<20;i++)  scanf("%d",_&a[i]_____ );
  fro(i=0;i<20;i++)
  { if(a[i]>0)
    { count++;
      sum+= _a[i]_____ ;
    }
  }
  printf("sum=%d,count=%d\n",sum,count);
}
74、以下函数fun用于求两个整数ab的最大公约数。
fun(a,b)
int a,b;
{int i,j,m,n;
  if(a>b)
      {m=a;a=b;__b=m____;}
  i=a;j=b;
    while((n=_j%i_____)!=0)
        {j=i;i=_n_____;}
    return(i);
  }
41、以下程序中, for循环体执行的次数是____4__
#define        N    2
#define        M    N+1
#define        K    M+1*M/2
main()
{ int i;
  for(i=1;i<K;i++)
  { ... }
  ...
}
49、以下程序运行后的输出结果是_13431_____
struct NODE
{ int k;
  struct NODE *link;
};
main()
{  struct NODE m[5],*p=m,*q=m+4;
  int i=0;
  while(p!=q){
  p->k=++i; p++;
  q->k=i++; q--;
  }
  q->k=i;
  for(i=0;i<5;i++) printf("%d",m[i].k);
 
二.(12)
95、以下程序的输出结果是_261_____
main()
{ int  a=177;
  printf("%o\n",a);
}
83、以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。
void fun(int*x,int*y)
  {  ……  }
main()
{  int  a=10,b=20;
    __void (*p)() void(*p)(int*, int*)____
    p=fun;  p(&a,&b);
      ……
}
17、下列程序的输出结果是__0____
void  fun(int  *n)
  {  while((*n)--);
      printf("%d",++(*n));
  }
  main()
  {  int  a=100;
      fun(&a);
  }
29、以下程序运行后的输出结果是__30 25____
int a=5;
fun(int b)
{  static int a=10;
  a+=b++;
  printf("%d ",a);
}
main()
{ int c=20;
  fun(c);
  a+=c++;
  printf("%d\n",a);
}
117、以下程序的功能是输出如下形式的方阵:
        13  14  15  16
        9  10  11  12
        5  6  7  8
        1  2  3  4
请填空。
main()
{ int  i,j,x;
  for(j=4;j_>0_____;j--)
  {  for(i=1;i<=4;i++)
      { x=(j-1)*4+__i__;
        printf("%4d",x);