填空题下列给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用。规定在第二个横线处使f指向函数f1,在第三个横线处使f指向函数f2。当调用正确时,程序输出:
x1=5.000000, x2=3000000, x1*x1+x1*x2=40.000000
请在程序中的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
double f1(double, x)
{return x*x;}
double f2(double x,double y)
{return x*y;}
double fun(double a,double b)
{
/********found********/
______(*f)();
double r1,r2;
/********found********/
f=______;/*point fountion f1*/
r1=f(a);
/********found********/
f=______;/*point fountion f2*/
r2=(*f)(a,b);
return r1+r2;
}
main()
{double x1=5,x2=3,r;
r=fun(x1,x2);
printf("/nx1=%f,x2=%f,x1*x1+x1*x2=%f/n",x1,x2,r);
}
填空题以下程序的输出结果是 【18】 。 #include <stdio.h> #define MAX(x,y)(x),(y)?(x):(y) main() int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf("%d/n",t);
填空题请补充main函数,该函数的功能是:从键盘输入若干字符放到一个字符数组中,当桉回车键时结束输入,最后输出这个字符数组中的所有字符。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<ctype.h> main() int i=0; char a [81]; char *p=s; clrscr (); printf" Input a string /n"); for (i=0; i<80; i++) s [i] =getchar ( ); if (s [i]=='/n') 【1】; s[i]= 【2】 printf(" display the string /n"); while (*p) putchar (【3】 );
填空题以下程序运行后的输出结果是 【10】 。 main() char Cl,c2; for(c1='0''c2='9';c1<c2;c1++,c2--) printf("%c%c",c1,c2); printf("/n");
填空题若有语句double x=17;int y;,当执行y=(int)(x/5) %2;之后y的值为______。
填空题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在行线上填入所编写的若干表达式或语句。 [试题源程序] #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 (1) ) char str[81]; printf("/nEnter string with -1 to end:/n"); gets(str); while(strcmp(str,"-1")!=0) /**********found**********/ fputs( (2) ,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", (3) ); fgets(str,81,fr);
填空题以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。 例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。 #include <stdio.h> #include <ctype.h> main() char s[80],d[80]; int i,j; gets(s); for(i=j=0;s[i]! ='/0';i++) if( 【9】 ) d[j]=s[i]; j++; d[j]='/0'; puts(d);
填空题下列程序的功能是将字符串s中所有的字符C删除。请填空。 #include<stdio.h> main() char s[80]; int i, j; gets(s); for(i=j=0; s[i]!="/0"; i++) if ([i]!='C'______; s[j]='/0'; puts(s);
填空题设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,则二进制数B应是{{U}} 【12】 {{/U}}。
填空题下面的程序用来统计文件中字符的个数。请填空。 # include<stdio.h> main( ) FILE *fP; long num=0; if( (fp=fopen("fname.dat","r"))==NULL) printf("Can't open file! /n");sxit(0); while ______ fgetc(fp);num++; printr("num=%d/n",num); fclose (fp);
填空题若有以下定义和语句,sizeof(a)的值是______,sizeof(a.share)的值是______。struct date int day; int month; int year; union int share1; float share2; share; a;
填空题计算机病毒除有破坏性、潜伏性和激发性外,还有一个最明显的特性是{{U}} 【5】{{/U}}
填空题以下程序的输出结果是 【18】 。 #include <stdio.h> unsigned fun6(unslgned num) unsigned k=1; dok * =mum%10;num/=10; while (num); return k; main() unsigned n=26; printf("%d/n",fan6(n));
填空题以下函数返回a所指数组中最小值所在的下标值。请完善下列程序。
fun(int*a,int n)
{int i,j=0,p;
p=j;
for(i=j;i<n;i++)if(a[i]<a[p]______;
return(p);
}
填空题下面程序段的运行结果是______。
main()
{ char a=2,b=3,c=5,d,e;
d=a-b|c;
e=a-b||c;
printf("%d,%d",d,e);
}
填空题下列给定程序中,函数fun的功能是:统计带头结点的单向链表中结点的个数,并存放在形参n所指的存储单元中。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include<stdio.h> #include<stdlib.h> #defineN 8 typedef street list int data; struct list*next; SLIST; SLIST*creatlist(int*a); void outlist(SLIST*); void fun(SLIST*h,int*n) SLIST*p; /***************found***********/ ______=0; p=h->next; while(p) (*n)++; /*************found***********/ p=p->______; main() SLIST*head; int a[N]=12,87,45,32,91,16,20,48,num; head=creatlist(a); outlist(head); /*************found*********/ fun(______,&num); printf("/number=%d/n",num); SLIST*creatlist(int a[]) SLIST*h,*p,*q; int i; h=p=(SLIST*)malloc(sizeof(SLIST)); for(i=0;i<N;i++) q=(SLIST*)malloc(sizeof(SLIST)); q->data=a[i];p->next=q; p=q; p->next=0; return h; void outlist(SLIST*h) SLIST*p; p=h->next; if(p==NULL) printf("The list is NULLP,n"); else printf("/nHead"); do printf("->%d",p->data); p=p->next; while(p!=NULL); printf("->End/n");
填空题数据结构分为逻辑结构与存储结构,线性链表属于{{U}} 【3】 {{/U}}。
填空题下面程序的运行结果是{{U}} 【18】 {{/U}}。
void swap(int *a,int *b)
{
int *tp;
t=a;a=b;b=t;
}
main()
{
int x=3,y=5,*p=
swap(p,q);
printf("%d%d/n",*p,*q);
}
填空题函数strcmp( )的功能是对两个字符串进行比较,当s所指字符串和t所指字符串相等时,返回值为0; 当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp( ) ),请填空。
#include <stdio.h>
int strcmp ( chat * s, char * t)
{ while( * s && * t && * s=【 】
{ s++;t++; }
return【 】;
)
填空题下列给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指字符串的地址,并通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abcdabfabcdx”,t中内容为“ab”时,输出结果应是“abcdx”。
当字符串中的内容为“abcdabfabcdx”,t中内容为“abd”时,则程序输出未找到信息“Notfound!”。
请改正程序中的错误,使它能得出正确的结果。
注意
:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
char *fun(char *s,char *t)
{
char *p,*r,*a;
/********found********/
a=Null;
while(*s)
{
p=s;r=t;
while(*r)
/********found********/
if(r==p)(r++;p++;}
else break;
if(*r=="/0")a=s;
s++;
}
return a;
}
void main()
{
char s[100],t[100],*p;
system("CLS");
printf("/nPlease enter string S:");
scanf("%s",s);
printf("/nPlease enter substring t:");
scanf("%s",t);
p=fun(s,t);
if(p)
printf("/nThe result is:%s/n",p);
else
printf("/nNot found!/n");
}
