填空题以下程序运行后的输出结果是{{U}} 【17】 {{/U}}。
#include <stdio.h>
main()
{ int p=30;
printf("%d/n",(p/3>0 ? p/10:p%3));
}
填空题请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2倒置后接在字符串str1后面。
例如,str1=“How do you”,str2=“?od”,结果输出:“How do you do?”
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define M 40
void proc(char*str1, char*str2)
{
int i=0, j=0, k=0, n;
char ch;
char *p1=str1;
char *p2=str2;
while(*(pl+i))
i++;
while(*(p2+j))
j++;
n=______;
for(; k<=j/2; k++, j--)
{
ch=*(p2+k);
*(p2+k)=*(p2+j);
*(p2+j)=ch;
}
______;
for(; ______; i++)
*(p1+i)=*p2++;
*(p1+i)="/0";
}
void main()
{
char str1[M], str2[M];
system("CLS");
printf("***Input the string str1
prind("/nstr1:");
gets(str1);
printf("/nstr2:");
gets(str2);
printf("***The string str1
puts(str1);
puts(str2);
proc(str1, str2);
printf("***The new string***/n");
puts(str1);
}
填空题阅读程序: main( ) { char strl[]="how do you
do",str2[10]; char * p1=strl,*
p2=str2; scanf("%s”,p2); printf("%s”,p2); printf("%s/n",p1); } 运行上面的程序,输入字符串HOW
DO YOU DO 则程序的输出结果是{{U}} {{U}} {{/U}}{{/U}}。
填空题下面程序的运行结果是______。
#include<stdio.h>
int f(inta[],int n)
{if(n>1)
return a[0]+f(a+1,n-1);
else
return a[0];
}
main()
{int aa[10]={1,2,3,4,5,6,7,8,9,10},s;
s=f(aa+2,4); printf("%d/n",s);
}
填空题下列给定程序中,函数proc()的功能是逐个比较str1,str2两个字符串对应位置中的字符,把比ASCII值大或相等的字符依次存放到str数组中,形成一个新的字符串。
例如,str1中的字符串为fshADfg,str2中的字符串为sdAEdi,则str中的字符串应为sshEdig。
请修改程序中的错误,使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdio.h>
#include<string.h>
void proc(char*p,char*q,char*c)
{ int k=0;
while(*p||*q)
//****found****
{if(*p>=*q)
c[k]=*q;
else c[k]=*p;
if(*p)p++;
if(*q)q++;
//****found****
k++
}
}
void main()
{char str1[10]="fshADfg",str2[10]="sdAEdi",
str[80]={"/0"};
proc(str1,str2,str);
printf("The string str1:");puts(str1);
printf("The string str2:");puts(str2);
printf("The result:");puts(str);
}
填空题请补充函数fun(),该函数的功能是把数组aa中的奇数元素按原来的先后顺序放在原数组后面。
例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“42,58,76,16,56,33,67,25,25,41。
注意:部分源程序给出如下。
请勿改动主函数main和具他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 10
void fun(int aa[])
{
int i, j=0,k 0;
int bb IN];
for (i 0; i<N; i++)
{
if ({{U}} 【1】 {{/U}})
bb[k++] aa[i];
else
aa [j++] =aa Ii];
for(i=0; i<k;{{U}} 【2】 {{/U}})
aa[j] bb[i];
}
main ( )
{
int i;
int aa[N]={33, 67, 42,58,25, 76, 85, 16,
41,56};
clrscr ();
printf("/n*** original list ***/n");
for (i=0; i<N; i++)
printf("%4d", aa[i]);
fun (aa);
printf("/n*** new list ***/n");
for (i=0; i<N; i++)
printf("%4d", aa[i]);
}
填空题给定程序中,函数fun的功能是:将形参S所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。
例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include<stdio.h>
int fun(char *s,char *t)
{int n=0;
while(*s)
{if(*s<97){
/**********found**********/
*(t+n)=______;n++;}
/**********found**********/
______;
}
*(t+n)=0;
/**********found**********/
return______;
}
main()
{char s[81],t[81];int n;
printf("/nEnter a string:/n");gets(s);
n=fun(s,t);
printf("/nThere are %d letter which ASCII code is less than 97:%s/n",n,t);
}
填空题程序通过定义学生结构体变量,存储学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是:从文件中找出指定学号的学生数据,读入此学生数据,对该学生的分数进行修改,使每门课的分数加3分,修改后重写文件中学生的数据,即用该学生的新数据覆盖原数据,其他学生数据指定不变;若找不到,则不做任何操作。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意
:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#define N 5
typedef struct student{
long sno;
char name[10];
float score[3];
}STU;
void fun(char *filename,long sno)
{FILE *fp;
STU n;
int i;
fp=fopen(filename,"rb+");
/********found********/
while(!feof(______))
{fread(
/********found********/
if(n.sno ______ sno)break;
}
if(!feof(fp))
{for(i=0;i<3;i++)
n.score[i]+=3;
/********found********/
fseek(______,-(long)sizeof(STU),SEEK_CUR);
fwrite(
}
fclose(fp);
}
main()
{STU t[N]={{10001,"MaChao",91,92,77},{10002,"CaoKai",75,60,88},{10003,"LiSi",85,70,78},{10004,"FangFang",90,82,87},{10005,"ZhangSan",95,80,88}}, ss[N];
int i,j;
FILE *fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),N,fp);
fclose(fp);
printf("/nThe original data:/n");
fp=fopen("student.dat","rb");
fread(ss,sizeof(STU),N,fp);
fclose(fp);
for(j=0;j<N;j++)
{printf("/nNo:%1d Name:%-8s Scores:",ss[j].sno,ss[j].name);
for (i=0; i<3; i++)
printf("%6.2f",ss[j].score[i]);
printf("/n");
}
fun("student.dat",10003);
fp=fopen("student.dat","rb");
fread(ss, sizeof(STU),N,fp);
fclose(fp);
printf("/nThe data after modifing:/n");
for(j=0;j<N;j++)
{printf("/nNo:%1d Name:%-8s Scores:",ss[j].sno,ss[j].name);
for(i=0;i<3;i++)
print f("%6.2f",ss[j].score[i];
printf("/n");
}
}
填空题以下程序运行后的输出结果是{{U}} 【13】 {{/U}}。
main()
{
int i,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{
n[i]=n[i-1]*2+1;
printfi["%d",n[i]);
}
}
填空题下列给定程序中,函数fun()的功能是;将s所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为 a),其他字符不变。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void fun(char *s)
/*************found**************/
{ while(*s!='@')
{ if(*s>='A'
clrscr();
printf("/n Enter a string with length <80:/n/n");gets(s);
printf("/n The string:/n/n");puts(s);
fun(s);
printf("/n/n The Cords:/n/n");puts(s);
}
填空题以下程序的运行结果是{{U}} 【9】 {{/U}}。
#include <stdio.h>
main()
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1:
switch(y)
{ case 0:a++; break;
case 1: b++; break;
}
case 2:a++; b++;break;
case 3:a++;b++;
}
printf("a=%d,b=%d/n",a,b);
}
填空题数据的逻辑结构在计算机存储空间中的存放形式称为数据的 【5】 。
填空题常用的黑箱测试有等价分类法、【 】、因果图法和错误推测法4种。
填空题以下程序运行后的输出结果是 【8】 。 #include <stdio.h> main() int a=1,b=3,c=5; if (c=a+b) printf("yes/n"); else printf("no/n");
填空题以下程序的输出结果是______。 #include main() char *ch[4]=("red ","green","blue"); int i=0; while(ch[i]) putchar(ch[i][0]);i++;
填空题下面程序中函数fun的功能是:找出一维数组元素中的最大值和它所在的下标,并将最大值和其下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。请填空。
#include <stdlib.h>
#include <sldio.h>
void fun(int a[],int n, int * max,int *d)
{ int i;
*max=a[0]; *d=0;
for(i=0;{{U}} 【15】 {{/U}};i++)
if(*max<{{U}} 【16】 {{/U}})
{*max=a[i];*d=i;}
}
main()
{ int i, x[20], max, index, n=10;
randomize();
for(i=0;i<n;i++)
{ x[i]=rand()%50;printf("%4d",x[i]);}
printf("/n");
fun(x,n,&max.&index);
printf("Max=%5d,Index=%4d/n",max,index);
}
填空题实现程序可将磁盘中的一个文件复制到另一个文件中,两个文件的文件名在可执行命令的命令行中(相当于copy命令),假定文件在当前目录下。请补全程序。
#include<stdio.h>
void main(int argc,char*argv[])
{ FILE *f1,*f2;
if(argc<{{U}} 【18】 {{/U}})
{ printf("parameter error!/n");exit(0);}
f1=fopen(argv[1],"r");
f2=fopen(argv[2],"w");
while({{U}} 【19】 {{/U}})fputc(fgetc(f1),f2);
fclose(f1);
fclose(f2);
}
填空题以下程序运行后的输出结果是 【7】 。 #define S(x) 4*x*x+1 main() int i=6,j=8; printf("%d/n",s(i+j));
填空题以下程序的运行结果是 【8】 。int k=0;void fun (int m)m+=k; k+=m; printf("m=%d k=%d",m,k++)main()int i=4; fun(i++); printf("i=%d k=%d/n",i,k);
填空题下列软件系统结构图的宽度为________。
