一.(25)
116、以下程序运行后的输出结果是__3____。
main()
{ int p=30;
printf("%d\n",(p/3>0 ? p/10 :p%3));
}
66、若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是__5.0,4,c=3____。
int b,c; float a;
scanf("%f,%d,c=%d",&a,&b,&c)
27、请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。
_double max或extern 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用于求两个整数a和b的最大公约数。
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);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论