填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1(独立一行)作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void WriteText(FILE*);
void ReadText(FILE*);
main()
{FILE*fp;
if((fp=fopen("myfile4.txt","w"))==NULL)
{printf("open fail!!/n");exit(0);}
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt","r"))==NULL)
{printf("open fail!!/n");exit(0);}
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE______)
{char str[81];
printf("/nEnter string with-1 to end:/n");
gets(str);
while(strcmp(str,"-1")!=0){
/**********found**********/
fputs(______,fw);fputs("/n",fw);
gets(str);
}
}
void ReadText(FILE*fr)
{char str[81];
printf("/nRead file and output to screen:/n");
fgets(str,81,fr);
while(!feof(fr)){
/**********found**********/
printf("%s",______);
fgets(str,81,fr);
}
}
填空题在C程序中,数据可用______和______两种代码形式存放。
填空题数据库系统在三级模式之间提供了两层映射,这两层映射是______和模式/内模式映射。
填空题在对文件进行操作的过程中,若要求文件的位置指针重新指向文件的开头,应当调用的函数是{{U}} {{U}} {{/U}} {{/U}}函数。
填空题给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:若k为2,程序执行结果为:请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>#defineN3#defineM4/*********found*********/voidfun(int(*a)[N],int________){inti,temp;/*********found*********/for(i=0;i<________;i++){temp=a[0][i];/*********found*********/a[0][i]=________;a[k][i]=temp;}}main(){intx[M][N]={{1,2,3},{4,5,6},{7,8,9),{10,11,12}},i,j;printf(“Thearraybeforemoving:/n/n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("/n/n");}fun(x,2);printf("Thearrayaftermoving:/n/n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("/n/n");}
填空题下列程序的运行结果是______。 main() int a=2,b=7,c=5; switch(a>0) case 1:switch(b<0) case 1:printf("@");break; case 2:printf("!");break; case 0:switch(c==5) case 0:printf("*");break; case 1:printf("#");break; case 2:printf("$");break; default:printf("&") printf("/n");
填空题以下和程序中,主函数调用了lineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值,请填空。 # define N 3 # define M 4 void lineMax(int x[N][M]) int i,j,p; for(i=0;i<N;i+ +) p=0; for(j=1;j<M;j+ +) if(x [i][p]<x[i][j] 【7】 ; printf("The max value in line is %d/n", 【8】 ); main( ) int x[N][M]=1,5,4,2,6,4,3,8,2,3,1; 【9】 ;
填空题目前实际存在和使用的广域网基本上都是采用 ______拓扑结构类型。
有以下程序:
# include <string.h>
struct STU
{ int num;
float TotalScore; };
void f(struct STU p)
{ struct STU s[2]={{20041,703},{20045,537}};
p.num=s[1].num;p.TotalScore=s[1].TotalScore;
}
main()
{ struct STU s[2]={{20041,703},{20042,580}};
f(s[0]);
printf("%d %3.0f/n",s[0].num,s[0],TotalScore);
}
程序运行后的输出结果是{{U}} 【5】 {{/U}}。
填空题请补充函数fun(),该函数的功能是建立一个带头结点的单向链表并输出到文件“out98.dat”和屏幕上,各结点的值为对应的下标,链表的结点数及输出的文件名作为参数传入。 注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容,仪在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio. h> #include<conio. h> #include<stdlib. h> typedef struct ss int data; struct ss *next; NODE; void fun(int n,char*filename) NODE *h,*p, *s; FILE *pf; int i; h=p= (NODE *) malloc (sizeof (NODE)); h->data=0; for (i=1; i s=(NODE *)malloc (sizeof (NODE)); s->data= 【1】 ; 【2】 ; p= 【3】 p->next=NULL; if ( (pf=fopen (filename, "w") ) ==NULL) printf "Can not open out9B.clat! "); exit (0); p=h; fprintf (pf, "/n***THE LIST***/n"); print f ("/n***THE LIST***/n") while (p) fprintf (pf, "%3d", p->data) printf ("%3d",p->data); if (p->next ! =NULL) fprintf (pf, "->"); printf ("->"); p=p->next; fprintf (pf, "/n"); printf ("/n"); fclose (pf); p=h; while (p) s=p; p=p->next; free (s); main() char * filename="out98. dat"; int n; clrscr (); printf (" /nInput n: "); scanf ("%d", fun (n, filename);
填空题以下程序运行后的输出结果是______。
#include<stdio.h>
int main()
{
int x=3, y=0, z=0;
if(x=y+z)printf("** **");
else printf("####");
return 0;
}
填空题在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。可行性研究阶段采用的是 【3】 。
填空题下列程序的运行结果是______。 main() int x=1,y=2,Z=3; printf("%d,"x<y?y:x); printf("%d,",z<y?x++:y++); printf("%d,%d",x,y);
填空题设函数findbig( )已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main( )
{ int findbig(int,int,int);
int (*f)( ),x,y,z,big;
f=【 】;
scanf("%d%d%d",
big=(*f)(x,y,z);
printf("big=%d/n",big);
}
填空题以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是{{U}} 【6】 {{/U}}。
#include<stdio.h>
main()
{int i=0,j=0,k=0;
scanf("%d%*d%d",
printf("%d%d%d/n",i,j,k);
}
填空题下列给定程序中,函数fun的功能是:有N×N矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算后结果为: 1 0 0 6 5 0 10 14 9 请在下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #define N 4 /*************found**********/ voidfun(int(*t)______) int i,j; for(i=1;i<N;i++) for(j=0;j<i;j++) /**********found***********/ ______=t[i][j]+t[j][i]; /***********found*********/ ______=0; main() int t[][N]=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i,j; printf("/nThe original array:/n"); for(i=0;i<N;i++) for(j=0;j<N;j++) printf("%2d",t[i][j]); printf("/n"); fun(t); printf("/nThe result is:/n"); for(i=0;i<N;i++) for(j=0;j<N;j++) printf("%2d",t[i][j]); printf("/n");
填空题若有以下程序
main()
{ int p,a=5;
if(p=a!=0)
printf("%d/n".p);
else
printf("%d/n",p+2);
}
执行后输出结果是______。
填空题请读程序片段:
int a=17;
printf("%d,%o/n",a,a);
以上程序片段的输出结果是{{U}} 【20】 {{/U}}。
填空题下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。 int word(char*s) int num=0,flag=0; while (*s) if( 【18】 =='')flag=0; else if( 【19】 )flag=1;num++ return 【20】 ;
填空题以下函数用来求出两整数之和,并通过形参将结果传回。请填空。
void func(int x,int y,{{U}} {{U}} {{/U}} {{/U}}z)
{* z=x+y;}
填空题以下程序的输出结果是{{U}} {{/U}}。 #include <stdio.h> void fun() static int a=0; a + =2; printf("%d",a); main() int cc; for(cc = 1;cc < 4; cc++) fun(); printf("//n");