二 、填空题
(1)在算法正确的前提下,评价一个算法的两个标准是 【1】 。
正确答案: 1.(时间复杂度和空间复杂度)
(2)将代数式 z=x2+y2a+b 转换成程序设计中的表达式为 【2】 。
正确答案: 1.(sqr(x^2+y^2)/(a+b))
(3)软件危机出现于60年代末,为了解决软件危机,人们提出了 【3】 的原理来设计软件,这就是软件工程诞生的基础。
正确答案: 1.(软件工程学)
(4) 【4】 是数据库设计的核心。
正确答案: 1.(数据模型)
(5)在关系模型中,把数据看成一个二维表,每一个二维表称为一个 【5】 。
正确答案: 1.(关系)
(6)以下程序段的输出结果是【6】 。
int x=17,y=26;
printf ("%d",y/=(x%=6));
正确答案: 1.(5)
(7)关系表达式x<y<z,用c语言的表达式为【7】 。
正确答案: 1.((x<y) && (y<z))
(8)若有如下定义,double a[100];则a数组元素的下标上限是【8】 。
正确答案: 1.(99)
(9)下面程序的输出结果【9】 。
main ()
{enum team {y1=4,y2,y3};
printf ("%d",y3);}
正确答案: 1.(6)
(10)把数学表达式 改写成c语言的表达式是【10】。
正确答案: 1.((cosx)*(cosx)*(m+n)/(m-n) )
(11)若有以下程序段:
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是【11】 。
正确答案: 1.(0)
(12) 若有以下定义:
char a;int b;
float c; double d;
则表达式a*b+d-c值的类型为【12】 。
正确答案: 1.(double或双精度型)
(13)设有代码"static int a[3][4]={{1}, {2}, {3}};",则a[1][1]和a[2][1]的值为【13】 。
正确答案: 1.(0 0)
(14)以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。
void fun(char *w, char x, int *n)
{ int i, p;
p=0;
w[*n]= x;
while(x > w[p])p++;
for(i=*n; i>p; i--)w[i]=【14】;
w[p]=x;
++*n;}
正确答案: 1.(w[i-1])
(15)设int a, b=10;执行a=b<<2+1;后a的值是【15】 。
正确答案: 1.(80)
(16)以下程序的输出结果是【16】。
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a<b)if(b!=15)if(!ok1)x=1;
else if(ok2)x=10;
else x=-1;
printf("%d\n", x);}
正确答案: 1.(-1)
(17)以下程序的输出结果是【17】。
main()
{ int y=9;
for(; y>0; y--)
if (y%3==0)
{printf("%d", --y); continue;}
}
正确答案: 1.(852)
(18)以下函数的功能是【18】。
float av(a, n)
float a[];
int n;
{ int i; float s;
for(i=0, s=0; i<n; i++)s=s+a[i];
return s/n;}
正确答案: 1.(求出数组元素平均值)
(19)以下程序的输出结果是【19】。
#define pr(ar)printf("%d,",ar)
main()
{ int j, a[]={1, 3, 5, 7, 9, 11, 15}, *p=a+5;
for(j=3; j; j--)
switch(j)
{ case 1:
case 2: pr(*p++); break;
case 3:pr(*(--p));
}
printf("\n");
}
正确答案: 1.(9,9,11,)
(20)以下程序的功能是:处理由学号和成绩组成的学生记录,n名学生的数据已在主函数中放入结构体数组s中,它的功能是:把分数最高的学生数据放在h所指的数组中,注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。请填空。
#include <stdio.h>
#define n 16
typedef struct
{char num[10];
int s ;
} strec;
int fun (strec *a, strec *b)
{int i,j=0,max=a[0].s;
for(i=0;i<n;i++)
if(max<a[i].s)max=a[i].s;
for(i=0;i<n;i++)ss
if(【20】)b[j++]=a[i];
return j;
}
main ()
{strec s[n]={{ "ga005",85},{"ga003",76},{"ga002",69},{"ga004",85},
{"ga001",91},{"ga007",72},{"ga008",64},{"ga006",87},
{"ga015",85},{"ga013",91},{"ga012",64},{"ga014",91},
{"ga011",66},{"ga017",64},{"ga018",64},{"ga016",72}
};
strec h[n];
int i, n;file *out;
n=fun(s,h);
printf("the %d highest score :\n",n);
for (i=0; i<n; i++)
printf("%s %4d\n ",h[i].num,h[i].s);
printf("\n");
out=fopen("out15.dat", "w");
fprintf(out, "%d\n",n);
for(i=0; i<n; i++);
fprintf(out, "%4d\n ",h[i].s);
fclose(out);
}
正确答案: 1.(max==a[i].s)
本文共4页: 第
[1] [2] [3] [4] 页