文档介绍:计算机笔试复习题
如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体"工人"与实体"设备"之间存在______联系。
标准答案为:一对多或 1对多或一对n 或 1:N 或 1:n 或 1:n 或 1:N 或一对m 或 1:M 或 1:m 或 1:m 或 1:N
2. 算法的复杂度主要包括______复杂度和空间复杂度。
标准答案为:时间
3. 数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。
标准答案为:模式或逻辑模式或概念模式
4. 若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
标准答案为:黑盒
5. 关系数据库管理系统能实现的专门关系运算包括选择、连接和______。
标准答案为:投影
专门的关系运算主要包括对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。
6. 若有以下定义和语句,则使指针p指向值为36的数组元素的表达式是______。
int a[10]={19,23,44,17,37,28,49,36},*p;
p=a;
标准答案为:p=p+7 或 p+=7 或 p=7+p
本题的考查点是通过指针引用数组元素。
值为36的数组元素在数组a[10]中是第8个元素,即a[7];在程序中,p=a语句将数组a的首地址赋给了指针变量p;根据C语言的规定:若有一个指针变量p指向一个数组,则可以用*(p+i)来表示数组元素,*(p+i)和a[i]是等价的,所以a[7]可以表示为*(p+7),要使指针p指向a[7]只能用p=p+7移动指针,p=p+7也可以使用逆波兰式表示为p+=7,所以可以填写"p=p+7"或"p+=7"。
故本题答案为:p=p+7或p+=7。
7. 函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。请填空。
mycmp( char *s,char *t)
{ while (*s==*t)
{ if (*s=='\0')return 0;
++s;++t;
}
return(______);
}
标准答案为:*s-*t 或-*t+*s
本题的考查点是比较字符串的大小。
函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化改变两个串的第一个字符,要返回s和t的第一个不同字符的ASCII码的差值,必须使用"*s-*t"得出。
故本题答案为:*s-*t。
8. 若要使指针p指向一个double类型的动态存储单元,请填空。
p = ______malloc(sizeof(double));
标准答案为:(double *)
本题的考查点是强制类型转换。
函数malloc返回的是void*, 所以若要使指针指向一个double类型,则必须进行类型转换,类型转换格式为:(数据类型*)。
故本题答案是:(double *)。
9. 以下函数inverse的功能是使一个字符串按逆序存放。
inverse(str)
char str[];
{
char m;
int i,j;
for(i=0,j=strlen(str);i<strlen(str)/2;______,j--)
{
m=str[i];
str[i]=______;
______;
}
}
标准答案为:i++ 或++i 或 i=i+1 或 i+=1 与 str[j-1] 与 str[j-1]=m
本题的考查点是对字符串的操作。
将字符串逆序存放的算法是:将字符串中的第i个字符和第strlen(str)-i个字符交换达到逆序排列的目的。strlen函数的返回值是形参中说明的字符串的长度。当字符串中的第i个字符和第strlen(str)-i个字符交换完后,应当交换字符串中第i+1个字符和第(strlen(str)-i)--个字符,故应该对循环变量i的值进行改变,步长为1,所以第一空应填i++;在循环中,题意为通过中间变量m交换字符串中的第i个字符和第strlen(str)-i个字符,所以题中第二、三个空中应当分别填写"str[j-1]"、"str[i]"。
故本题答案为:i++和str[j-1]和str[j-1]=m。
10. 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是______。
# include<>
main( )
{ char str1[ ]="How do you do", *