|
二、填空题
(1)算法的工作量大小和实现算法所需的存储单元多少分别称为算法的 【1】 。 【命题目的】本题考查了考生对算法的理解程度。 【解题要点】算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法的计算量是算法的时间复杂性,算法所需存储空间大小是算法的空间复杂性。 【考点链接】算法的各种属性及其相互作用。
(2)数据结构包括数据的逻辑结构、数据的 【2】 以及对数据的操作运算。 【命题目的】本题考查了数据结构所包括的几个方面。 【解题要点】数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。 【考点链接】数据结构包含的3个方面及各方面之间的关系。
(3)可以把具有相同属性的一些不同对象归类,称为 【3】 。 【命题目的】本题考查了对象的一些基本特征。 【解题要点】类描述的是具有相似性质的一组对象;把具有相同属性的一些不同对象归为类,我们称之为对象类。
(4)软件工程包括3个要素,分别为方法、工具和 【4】 。 【命题目的】本题考查软件工程的3要素。 【解题要点】软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的基础上的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。 【考点链接】软件工程的3个要素及各要素的作用。
(5)由关系数据库系统支持的完整性约束是指 【5】 和参照完整性。 【命题目的】掌握关系的完整性约束。 【解题要点】关系的完整性约束指关系的某种约束条件,包括实体完整性、参照完整性和用户定义的完整性。其中,前两种完整性约束由关系数据库系统自动支持。 【考点链接】关系的各种性质。
(6)表达式3*7/2+7/2%5的值为 【6】 。 解析: 算术运算符的优先级别依次为(由高到低):*,/,%,+,-。
(7)阅读下面的程序,当程序在执行时,如果输入的是′A′,则输出结果为 【7】 。 #include "stdio.h" main() {char a; a=getchar(); switch(a) {case 65: printf("%c",′A′); case 66: printf("%c",′B′); default :printf("%s\n","other");}} 解析: switch语句中的某一个标号被选中,将依次执行这个语句到default语句之间的所有语句。如遇到break语句之后就跳出了switch语句。
(8)以下程序的输出结果是 【8】 。 main() {char a []="abcdefg"; char b[10]="abcdefg"; printf("%d,%d\n",sizeof(a),sizeof(b));} 解析: 当维数组省略维数时,系统会按数组实际元数分配内存空间,如规定了一维的大小,则按维数分配内存空间的大小。
(9) 阅读下面程序段,则执行后的输出结果为 【9】 。 #include "stdio.h" main() {int a=1; for(;a<=15;) if(++a%5!=2)continue; else printf("%d",a); printf("\n");} 解析: continue是结束本次循环,即从continue开始到最后的执行,直接执行循环判定条件。
(10)以下程序的输出结果是 【10】 。 main() {int m=2,n=6; for(;n>=0;n--)m*=n; printf("%d\n",m);} 解析: for语句执行最后时n的值为0,所以m的值也为0。
(11)阅读下列程序,则执行后的结果为 【11】 。 #include "stdio.h" fun(int x,int y) { int z; z=x;x=y;y=z;} main() {int a,b; a=100;b=640; fun(a,b); printf("%d,%d\n",a,b);} 解析: 当传递数据值的时候,在被调用函数内部不能改变调用函数的变量的值。
(12)阅读以下程序,使程序输出结果为30,4.000 000,请填空。 #include "stdio.h" main() {int a=30,b=40,c; double 【12】 ,s; s=fun(&a,&b,&c); printf("%d,%lf\n",c,s);} double fun(int *a,int *b, 【13】 ) { *c=*a%*b; return(4.0); } 解析: 函数说明的一般形式为:类型名 函数名(参数类型1,参数类型2,……)。
(13)下面程序段的功能是:从键盘上输入两个字符串,对两个字符串分别排序;然后将它们合并,合并后的字符串按ASCII码值从小到大排序,并删去相同的字符。请填空。 #include "stdio.h" fun(char *x,char *y,char *z) {char t,*p; p=z; while(*x!=′\0′&&*y!=′\0′) { t=*x<*y?*x++:*y<*x?*y++: 【14】 ; if(*p==′\0′)*p=t; else if(t!=*p)*++p=t;} if(*x!=′\0′) while(*x!=′\0′) if(*x!=*p)*++p=*x++; else x++; if(*y!=′\0′)while(*y!=′\0′) if(*y!=*p)*++p=*y++; else y++; *++p= 【15】 ;} sort(char *s) { int i,j,k; char t,*p; p=s; for(k=0;*p!=′\0′;k++)p++; for(i=0;ifor(j=i+1;jif(s[i]>s[j]) { 【16】 }} main() { char s1[100],s2[100],s3[200]; scanf("%s",s1); scanf("%s",s2); sort(s1); sort(s2); s3[0]=′\0′; fun(s1,s2,s3); printf("%s\n",s3);} 解析: 根据题目的要求认真阅读程序,找到各个部分的功能所在,这样就很容易做出答案。
(14)下面函数是一个求阶乘的递归调用函数。请填空。 int fun(int k) {if(k==1) 【17】 ; else return( 【18】 );} 解析: 解这个题目应该首先写递归公式,之后很容易得出答案。
(15)以下函数set用来建立一个带头结点的单向链表,新产生的结点总是插入在链表的末尾。单向链表的头指针作为函数值返回,请填空。 struct node{char data; struct node *next; }; struct node *set() {struct node *t1,*t2,*t3; char ch; t1=(struct node*)malloc(sizeof(struct node)); t3=t2=t1; ch=getchar(); while(ch!=′\n′) { t2= 【19】 malloc(sizeof(struct node)); t2->data=ch; t3->next=t2; t3=t2; ch=getchar();} t3->next=′\0′ ; 【20】 } 解析: 动态申请的返回值是void *类型,所以在使用动态申请函数的时候都要在前面加上适当的强制类型转换,使它的返回值有意义。
共5页: 上一页 [1] [2] [3] 4 [5] 下一页
|