填空题下列给定程序中,函数fun()的功能是:统计字符串substr在字符串srt中出现的次数。例如,若字符串为aaas 1 kaaas,子字符串为as,则应输出2。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include <stdio.h> fun (char *str, char *substr) int i, j, k, num=0; /*************found**************/ for (i=0, str [i], i++) for (j=i, k=O; substr [k]==str [ j ]; k++, j ++ ) if (substr [k+l]==' /0') num++; break; return num; main ( ) char str[80],substr[80]; printf("Input a string: "); gets (str); printf("Input a sbustring: "); gets (substr); printf ("%d/n ", fun (str, substr) );
填空题若变量a,b已定义为int类型并分别赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句______。
填空题以下程序的输出结果是______。#includevoid fun(int x) if(x/2>0) fun(x/2);printf("%d ",x);main() fun(3); printf("/n");
填空题下面程序用来输出结构体变量a所占存储单元的字节数,请填空。
main()
{ struct stu
{char x[20];float y; }a;
printf("a size:%d/n",sizeof({{U}} 【14】 {{/U}}));
}
填空题以下程序的功能是利用指针指向3个整型变量,并通过指针运算找出3个数中的最大值,输出到屏幕上,请填空。 main() int x,y,z,max,*px,*py,*pz,*pmax; scanf("%d%d%d", px= py= pz=pmax= ______; if(*pmax<*py) *pmax=*py; if(*pmax<*pz) *pmax=*pz; printf("max=%d/n",max);
填空题下列程序运行后的输出的结果是______。
#include<stdio.h>
main()
{ char s[20];
scanf("%s",s);
printf("%s",s);
}
运行程序,输入HOW ARE YOU。
填空题以下程序的运行结果是{{U}} 【12】 {{/U}}。
# include<string.h>
typedef struct student{
char name[10];
long sno);
float score
} STU;
main()
{ STU a={"zhangsan",2001,95},b={"Shangxian",2002,90}
c={"Anhua",2003,95},d,*p=
d=a;
if(strcmp(a.name,b.name)>0)d=b;
if(strcmp(c.name,d.name)>0)d=c;
printf("%1d%s/n",d.sno,p->name);
}
填空题派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的 【3】 。
填空题以下程序的功能是计算: s=1+12+123+1234+12345。请填空。 main() int t=0,s=0,i; for(i=1;i<=5;i++) t=i+______; s=s+t; printf("s=%d/n",s);
填空题下面的程序实现的是从指针p所指向的地址的n个数中,找出最大的和最小的数据,请填空。
fun(int *p,int n)
{ int *q;
int max,min;
max=min=*p;
for(q=p;______;q++)
if(*q>max)max=*q;
else if(*q<min)min=*q;}
填空题请补充main()函数,该函数的功能是:把一个整数插入一个已经按从小到大排序的数组中。插入后,数组仍然有序。
例如,在数组bb[M]={10 20 30 40 50 60 70 80 85 95}中插入75,结果为
bb[M]={10 20 30 40 50 60 70 75 80 85 95}
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 10
void main()
{
int i,j;
int n;
int bb[M+1]={10,20,30,40,50,60,70,80,85,95};
system("CLS");
printf("/nlnput n/n");
scanf("%d",
printf("/nn=%d",n);
printf("/n***original list***/n");
for(i=0;i<M;i++)
printf("%4d",bb[i]);
for(i=0;i<M;i++)
{
if(n<=bb[i])
{
for(j=M;______;j--)
______;
bb[j]=n;
______;
}
}
if(i==M)
bb[i]=n;
printf("/n****new list****/n");
for(i=0;i<M+1;i++)
printf("%4d",bb[i]);
}
填空题给定程序MODIl.C中函数fun的功能是:将一个八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 文件MODIl.C内容如下: #include<stdio.h> #include<string.h> #include<stdlib.h> int fun(char *p) int n; /**********found**********/ n=*P-'0': p++: while(*p!=0) /**********fonnd**********/ n=n*7+*P-'o': p++: return n; void main( ) char s[6]; int i,n; printf("Enter a string(Oeatal digits):");gets(s); if(strlen(s)>5) printf("Error:String too longer!/n/n"); exit(0); for(i=0;s[i];i++) if(s[i]<'0'|| s[i]>'7') printf("Error:%c not is ocatal digits!/n/n",s[i]);exit(0); printf("The original string:"); puts(s); n=fun(s); printf("/n%s is eonvered to integer number:%d/n/n",s,n);
填空题给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。
例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int fun(char*s)
{int sum=0;
while(*s){
/**********found**********/
if(isdigit(*s))sum+=*s-______;
/**********found**********/
______;
}
/**********found**********/
return______;
}
main()
{char s[81];int n;
printf("/nEnter a string:/n/n");gets(s);
n=fun(s);
printf("/nThe result is: %d/n/n",n);
}
填空题以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
void sstrcpy(char *s,char *t)
{ while(*s++= {{U}} 【15】 {{/U}} );}
main( )
{ char str1[100],str2[ ]=”abcdefgh”;
sstrcpy(str1,str2);
printf(“%s/n”,str1);}
填空题已知字符'A'的ASCII码为65,以下程序运行后的输出结果是{{U}} {{/U}}。#include <stdio.h> main( ) char a,b; a='A'+'5'-'3'; b=a+'6'-'2'; printf( "% d% c//n", a, b);
填空题以下程序的功能是将文件filel.c的内容输出到屏幕上并复制到文件file2.c中。请在横线处填入适当的内容。
#include<stdio.h>
void main()
{ FILE______;
fp1=fopen("file1.c","r");
fp2=fopen("file2.c","w");
while(!feof(fp1))
putchar(fgetc(fp1));
______
while(!feof(fp1))fputc(______);
fclose(fp1);
fclose(fp2);
}
填空题函数体由符号______开始,到符号______结束。函数体内的前面是______部分,后面是______部分。
填空题以下程序段的输出结果是{{U}} 【6】 {{/U}} 。
int i=9;
printf("%o/n",i);
填空题下列程序的运行结果是______。 #define POWER(x)((x)*(x)) main() {int i=1; primtf("%d,%d",POWER(i++),i); }
填空题请补充fun()函数,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组S中。
例如,当n=123时,s="321"。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdio.h>
#include<conio.h>
#define M 80
char s[M];
void fun(long int n)
{
int j=0;
while(______)
{
s[j]=______;
n/=10;
j++;
}
______;
}
void main()
{
long int n=1234567;
printf("The origial data/n");
printf("n=%1d", n);
fun(n);
printf("/n%s", s);
}
