填空题C语言中用______表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。
填空题给定程序中函数fun的功能是:交换主函数中两个变量的值。例如:若变量a中的值原为8,b中的值为3。程序运行后a中的值为3,b中的值为8。
请改正程序中的错误,使它能计算出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
/**********found**********/
void fun(int x, int y)
{
int t;
/**********found**********/
t=x; x=y; y=t;
}
main()
{
int a, b;
a=8; b=3;
fun(
printf("%d, %d/n", a, b);
}
填空题下列给定程序中函数fun()的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为“abcdabfab”,t1所指子串中的内容为“ab”,t2所指子串中的内容为“99”时,在w所指的数组中的内容应为“99cd99f99”。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdlib.h> #include <conio.h> #include
<stdio.h> #include <string.h> void fun(char *
s, char * t1, char * t2, char * w) { char *p, *r, *a;
strcpy (w, s); while(*w) { p=w;
r=t1; /* * * * *found* * * * * /
while(r) if(*r==*p) {r++; p++;} else
break; if(*r=='/0') { a=w; r=t2;
while(*r) /* * * * *found* * * * * / {
*a=*r; a++; r++} w+=strlen(t2); }
else w++; } } void
main() { char s[100], t1[100], t2[100], w[100];
printf("/nPlease enter string S:"); scanf("% s",
s); printf("/nPlease enter substring t1:");
scanf("% s", t1); printf("/nPlease enter substring t2:");
scanf("% s", t2);
if(strlen(t1)==strlen(t2)) { fun(s, t1, t2, w);
printf("/nThe result is:% s/n", w); }
else printf("Error:strlen(t2)/n"); }
填空题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。
例如,有10个正数:47、30、32、40、6、17、45、15、48、26,其平均值为30.500000。
移动后的输出为:30、6、17、15、26、47、32、40、45、48。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double *x)
{int i, j; double av, y[N];
av=0;
/**********found**********/
for(i=0; i<N; i++)av+=______;
for(i=j=0; j<N; i++)
if(x[i]<av){
/**********found**********/
y[j]=x[i]; x[i]=-1; ______;}
i=0;
while(i<N)
{if(x[i]!=-1)y[j++]=x[i];
/**********found**********/
______;
}
for(i=0; i<N; i++)x[i]=y[i];
return av;
}
main()
{int i; double x[N];
for(i=0; i<N; i++)
{x[i]=rand()%50;
printf("%4.0f", x[i]);}
printf("/n");
printf("/nThe average is:%f/n", fun(x));
printf("/nThe result:/n", fun(x));
for(i=0; i<N; i++)
printf("%5.0f", x[i]);
printf("/n");
}
填空题以下程序给指针p分配三个double型动态内存单元,请填空。 #include <stdio.h> #include <stdlib.h> main() double *p; p=(double *)malloc({{U}} {{/U}}); p[0]=1.5;p[1]=2.5;P[2]=3.5; printf("%f%f%f//n",p[0],p[1],p[2]);
填空题下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!='/n') if(______) n++;
填空题Windows的空口分为两类,一类是应用程序窗口,另一类是 【2】 窗口。
填空题若有定义:char ch;
填空题以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。
struct st
{ char name[20];double score;};
main()
{ struct st ex;
printf("ex size:%d/n",sizeof({{U}} 【18】 {{/U}}));}
填空题以下程序运行后的输出结果是【 】。
main()
{char c1,c2;
for(c1=''O'',c2=''9'';c1<c2;c1++,c2-) printf("%c%c",c1,c2);
printf("\n");
}
填空题请补充函数fun(),它的功能是:计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入32后,输出为:s=1.226323。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> double fun(int n) int i; double sum=0.0; if (n>0 【1】 ;i++) if( 【2】 ) sum+= 【3】 ; return sum; main() int n; double s; printf("/nInput n:"); scanf("%d", s=fun(n); printf("/n/ns=%f/n",s);
填空题在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法,这称为对象的______。
填空题以下程序的输出结果是{{U}} {{U}} {{/U}} {{/U}}。
main()
{ int x=0;
sub(&x,8,1);
printf(“%d/n”,x);
}
sub(int *a,int n,int k)
{ if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
填空题以下fun函数的功能是:累加数组元素中的值。n为数组中元素的个数。累加的和放入x所指的存储单元中。 fun(int b[],int n,int *x) int k,r=0; for(k=0;k<n;k++) r= 【15】 ; 【16】 =r;
填空题有以下程序: void f(int a[],int i,int j) int t; if(i<j) t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); main() int i,aa[5]=1,2,3,4,5; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]);printf("/n"); 执行后的输出结果是 【4】 。
填空题以下程序的输出结果是______。 #include<stdio.h> fun() static int a=0; a+=3;printf("%d",a); main() int cc; for(cc=1;cc<5;cc++)fun(); printf("/n");
填空题对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。
填空题在内存中,存储字符'x'要占用1个字节,存储字符串"x"要占用{{U}} 【11】 {{/U}}个字节。
填空题没有char a,b;,若要通过a&b运算屏蔽掉a中的其他位,只保留第2位和笫8位(右起为第1位),则b的二进制是{{U}} 【8】 {{/U}}。
填空题下列给定程序中函数fun()的功能是计算1/n!的值。
例如:给n输入5,则输出0.0083330
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <conio.h>
/******+****found*************/
int fun(int n)
{ double result=1.0;
if(n==0)
return 1.0;
while(n>1 && n<170)
/**********found************/
result *=n++;
result=1/result;
return result;
}
main()
{
int n;
printf("Input N:");
scanf("%d",&n);
printf("/n1/%d!=%If/n",n,fun(n));
}
