填空题以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。
main() { int x[10],a[9],i; for
(i=0;i<10;i++)scanf("%d",&x[i]); for{{U}} {{U}}
12 {{/U}} {{/U}}<10;i++) a[i-1=x[i]+{{U}} {{U}}
13 {{/U}} {{/U}}: for
(i=0;1<9;i++)printf("%d",a[i]); printf("/n");
}
填空题N个有序整数数列已放在一维数组中,给定的下列程序中,函数fun()的功能是:利用折半查找法查找整数m在数组中的位置。若找到,则返回其下标值;反之,则返回“Not
be found!”。
折半查找法的基本算法是:每次查找前先确定数组中待确定的范围:low和high(low<high),然后把m与中间位置(mid)中元素的值进行比较。如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中,直到low>high,查找结束。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序] #include <stdio.h>
#define N 10 int fun(int a[],int m)
{ int low=0, high=N-1, mid;
while(low<=high) { mid={{U}} {{U}}
{{/U}} {{/U}}; if(m<a[mid])
high={{U}} {{U}} {{/U}} {{/U}}; eise
if(m>a[mid]) low=mid+1; else
return(mid); } {{U}} {{U}}
{{/U}} {{/U}}(-1); } main()
{ int i, a[N]=(-3, 4, 7, 9, 13, 24, 67, 89, 100, 180),
k, m; printf("a数组中的数据如下: "); for(i=0; i<N;
i++); printf("%d", a[i]); printf("Enter m:
"); scanf("%d", &m); k=fun(a, m);
if(k>=0) printf("m=%d, index=%d/n", m, k));
else printf("Not be found/n"); }
填空题下列给定程序中,函数fun()的功能是进行数字字符转换。若形参ch中是数字字符‘0’~‘9’,则将‘0’转换成‘9’,‘1’转换成‘8’,‘2’转换成‘7’,…,‘9’转换成‘0’;若是其他字符则保持不变。并将转换后的结果作为函数值返回。
请在标号处填入正确的内容,使程序得出正确的结果。 注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构。
试题程序 #include
<stdio.h> ______ fun(char ch) {
if(ch>='0'
return ch; } main() {
char c1, c2; printf("/nThe result:/n");
c1='2'; c2=fun(c1); printf("c1=% cc2 =% c/n" c1, c2);
c1='8'; c2=fun(c1); 17 printf("c1=% cc2=% c/n", c1, c2);
c1='a'; c2=fun(c1); printf("c1=% cc2=% c/n", c1, c2);
}
填空题执行以下“for(i=1;i++<=4;i++);”语句后,变量i的值是______。
填空题以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。
struct link
{ char data;
struct link*next;};
…
struct link*p,*first;
int c=0;
p=first;
while({{U}} 【19】 {{/U}})
{ c++;
p={{U}} 【20】 {{/U}};}
填空题以下程序运行后的输出结果是 【13】 。
#include
main()
{ int i,n[5]={0};
for(i=1;i<=4;i++)
{ n[i]=n[i-1]*2+1;printf("%d",n[i]); }
printf("\n");
}
填空题有以下程序: #include<stdio.h> main() char ch1,ch2;int n1,n2; ch1=getchar();ch2=getchar(); n1=ch1-'0';n2=n1*10+(ch2-'0'); printf("%d/n",n2); 程序运行时输入:12<回车>,执行后输出结果是______。
填空题在数据库理论中,数据物理结构的改变,如存储设备的更换、物理存储的更换、存取方式等都不影响数据库的逻辑结构,从而不引起应用程序的变化,称为 【4】 。
填空题在printf格式字符中,以带符号的十进制形式输出整数的格式字符是 【1】 ;以八进制无符号形式输出整数的格式字符是 【2】 ;以十六进制无符号形式输出整数的格式字符是 【3】 ;以十进制无符号形式输出整数的格式字符是 【4】 。
填空题下列程序段的输出结果是{{U}} 【8】 {{/U}}。
int n='c';
switch(n++)
{ default:printf("error");break;
case 'a':case 'A':case 'b':case 'B':printf("good");break;
case 'c':case 'C':printf("pass");
case 'd':case 'D':printf("warn");
}
填空题以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出:请填空。 4 3 7 2 6 9 1 5 8 10 #include<stdio.h> main( ) int x[4][4],n=0,i,j; for(j=0;j<4;j++) for(i=3;i>=j; (12) )n++;x[i][j]= (13) ; for(i=0;i<4;i++) for(j=0;j<=i;j++) printf("%3d",x[i][j]); printf("/n");
填空题程序测试分为静态分析和动态测试。其中{{U}} 【4】 {{/U}}是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
填空题给定程序中,函数fun的功能是计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000。
主函数中输出:46 32 40 45 48。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序如下。
#include<stdlib.h>
#include<stdio.h>
#define N 10
double fun(double x[],double*y)
{ int i,j;double av;
/************found*********/
av=______;
/************found**********/
for(i=0;i<N;i++)av=av+______;
for(i=j=0;i<N;i++)
/***********found********/
if(x[i]>av)y[______]=x[i];
y[j]=-1;
return av;
}
main()
{ int i;double x[N]=
{46,30,32,40,6,17,45,15,48,26};
double y[N];
for(i=0;i<N;i++)printf("%4.0f",x[i]);
printf("/n");
printf("/nThe average is:%f/n",fun(x,y));
for(i=0;y[i]>=0;i++)printf("%5.0f",y[i]);
printf("/n");
}
填空题能正确表示代数式2ab/cd的C语言表达式是______。
填空题函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 其构成规律是: ①第0列元素和主对角线元素均为1。 ②其余元素为其左上方和正上方元素之和。 ③数据的个数每行递增1。 请将程序补充完整。 #define N 6 void yanghui(int x[N][N]) int i,j; x[O][0]=1; for(i=1;i<N;i++) x[i][0]= 【13】 =1; for(j=1;j<i;j++) x[i][j]= 【14】 ; )
填空题层次模型的典型代表是IBM公司的 【6】 数据库管理系统。
填空题以下程序运行后的输出结果是{{U}} {{U}} {{/U}} {{/U}}。
void fun(int x,int y)
{ x=x+y;Y=x-y;x=x-y;
printf(“%d,%d”,x,y);}
main()
{ int x=2,y=3;
fun(x,y);
printf(“%d,%d/n”,x,y);
}
填空题对于长度为n的顺序存储的线性表,当随机插入和删除—个元素时,需平均移动元素的个数为{{U}} 【1】 {{/U}}。
填空题下列软件系统结构图的宽度为______。
填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next;
}SLIST;
void fun(SLIST*h)
{SLIST*P,*q;
p=h->next;
if(p!=NULL)
{q=p->next;
while(q!=NULL)
{if(p->data==q->data)
{p->next=q->next;
/**********found**********/
free(______);
/**********found**********/
q=p->______;
}
else
{p=q;
/**********found**********/
q=q->______;
}
}
}
}
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("/nThe list is NULL!/n");
else
{printf("/nHead");
do {printf("->%d",P->data);p=p->next;}while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST*head;int a[N]={1,2,2,3,4,4,4,5};
head=creatlist(a);
printf("/nThe list before deleting:/n");outlist(head);
fun(head);
printf("/nThe list after deleting:/n");outlist(head);
}
