第1页共9页报名号____________姓名______________科目________________________…………………………………………线………………………封………………………密………………………………………………………………………姓黄冈师范学院2010年“专升本”考试试题科目:计算机科学与技术专业《专业综合》注意:答案一律书写在答题纸上,在试卷上答题一律无效。第一部分C语言一、选择题(2分×20=40分)1、下列关于C语言程序说法正确的是()。A)是由一个主程序和若干子程序组成B)是由函数组成C)是由若干过程组成D)是由若干子程序组成2、关于C语言程序执行过程,下列说法正确的是()。A)从main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到main函数结束D)从main函数开始,到本程序文件的最后一个函数结束3、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一字符4、用C语言编写的代码程序()。A)可立即执行B)经过编译解释才能执行C)经过编译即可执行D)以上说法都不对5、以下定义语句中正确的是()。A)chara=\'A\'b=\'B\';B)floata=b=10.0;C)inta=10,*b=&a;D)float*a,b=&a;6、以下变量赋初值不正确的是()。A)inta=3;B)inta,b=2,c=3;C)inta=1,b=2,c=3;D)inta=b=c=3;7、已知intx=1,y=2,z=3;以下语句执行后,x,y,z的值是()。if(xy);z=x;x=y;y=z;A)1,2,3B)2,1,1第2页共9页C)2,3,1D)2,3,28、有以下程序voidmain(){intm=3,n=4,x;x=-m;x=x+8/n;printf(%d\n,x);}程序运行后的输出结果是()。A)3B)5C)-1D)-29、以下不正确的叙述是()。A)在C程序中,main函数不一定要写在程序的最上面B)在C程序中,SUM和sum是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D)从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值10、若有说明int*p,a[5];p=a;则以下表达式中不能表示a[3]的是()。A)p[3]B)*(a+3)C)*(p+3)D)*(p+6)11、以下能正确定义二维数组的是()。A)inta[][3];B)inta[][3]=2{2*3};C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4}};12、s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是()。A)if(s1s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)0)S;D)if(strcmp(s1,s2)0)S;13、有以下程序voidmain(){inti,s=0;for(i=1;i10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()。A)自然数1~10的累加和B)自然数1~9的累加和C)自然数1~10中的偶数之和D)自然数1~9中的奇数之和14、有以下说明和定义语句structstudent{intage;charnum[8];};structstudentstu[3]={{20,200701},{21,200702},{19,200703}};structstudent*p=stu;第3页共9页以下选项中引用结构体变量成员的表达式错误的是()。A)(p++)-numB)p-numC)(*p).numD)stu[3].age15、有以下程序voidf(char*p){p+=3;}voidmain(){charb[4]={'a','b','c','d'},*p=b;f(p);printf(%c\n,*p);}程序运行后的输出结果是()。A)aB)bC)cD)d16、执行下面程序段后,输出是()。intj=1,s=0;while(j=10){j++;if(j%2)continue;s=s+j;}printf(“%d”,s);A)22B)25C)30D)5517、有以下程序#defineN20fun(inta[],intn,intm){inti,j;for(i=m;i=n;i--)a[i+1]=a[i];}voidmain(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i5;i++)printf(%d,a[i]);}程序运行后的输出结果是()。A)10234B)12344C)12334D)1223418、有以下程序voidmain(){inta=1,b;for(b=1;b=10;b++){if(a=8)break;第4页共9页if(a%2==1){a+=5;continue;}a-=3;}printf(%d\n,b);}程序运行后的输出结果是()。A)3B)4C)5D)619、有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是()。A)5B)6C)9D)120、C语言规定,简单变量做实参时,它和形参之间的数据传递方式是()。A)地址传递B)单项值传递C)由实参传给形参,再由形参传给实参D)由用户指定传递方式二、填空题(1-6题每空2分,7-8题每题5分,共30分)1、C语言源程序的基本单位是。2、在内存中每个存储单元的编号称为。3、根据对变量的访问方式,可分为直接访问和访问。4、下面程序的功能是输出以下形式的金字塔图案:****************voidmain(){inti,j;for(i=1;(1);i++){for(j=1;j=(2);j++)printf(“*”);printf(“\n”);}}5、以下程序的功能是从键盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束,请填空。voidmain(){floatx,amax,amin;scanf(%f,(1));amax=x;amin=x;while((2)){if(xamax)amax=x;第5页共9页elseif((3))amin=x;scanf(%f,&x);}printf(\namax=%f\namin=%f\n,amax,amin);}6、下列程序的功能是判断一个正整数是否为素数。voidmain(){intn,i,f;scanf(“%d”,&n);f=1;for(i=2;i=sqrt(n);(1))if(n%i==0){(2);break;}}7、下列程序的运行结果是。voidmain(){inti,s=1;for(i=0;i=5;i++)s=s*i;printf(“%d”,s);}8、当运行以下程序时,输入abcd,程序的输出结果是。voidinsert(charstr[]){inti;i=strlen(str);while(i0){str[2*i]=str[i];str[2*i-1]=′*′;i--;}printf(%s\n,str);}voidmain(){charstr[40];scanf(%s,str);第6页共9页insert(str);}三、程序理解题(每题10分,共30分)1、已知函数f的功能是求1-n的和。intf(intn){inti,sum;for(i=1;i=n;i++);returnsum;}问题(1)将函数f补充完整;(5分)问题(2)写出主函数,求1-100的和。(5分)2、编程求下列分段函数的值(x,y均为整型变量)2x-10x0y=x+5x=02x+10x03、编程对10个正整数排序(可采用起泡法或选择法任意一种完成)。第二部分数据结构一、选择题(2分×25=50分)1、数据的最小单位是()。A)数据项B)数据类型C)数据元素D)数据变量2、字符串的长度是指()。A)串中不同字符的个数B)串中不同字母的个数C)串中所含字符的个数D)串中不同数字的个数3、以下数据结构中()是非线性结构?A)队列B)栈C)线性表D)二叉树4、建立一个长度为n的有序单链表的时间复杂度为()。A)O(n)B)O(1)C)O(n2)D)O(log2n)5、两个字符串相等的充要条件是()。A)两个字符串的长度相等B)两个字符串中对应位置上的字符相等C)同时具备(A)和(B)两个条件D)以上答案都不对6、算法的时间复杂度是指()。A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数7、队列是一种()的线性表。A)先进先出B)先进后出C)只能插入D)只能删除8、长度为N的线性表进行顺序查找,在查找不成功时,与关键字的比较次数为()。A)NB)1C)N-1D)09、若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为()。第7页共9页A)1,2,3B)9,5,2,3C)9,4,3D)9,4,2,310、设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。A)n-1(B)n(C)n+1(D)2n-111、线性链表不具有的特点是()。A)随机访问B)不必事先估计所需存储空间大小C)插入与删除时不必移动元素D)所需空间与线性表长度成正比12、设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图。A)5B)6C)7D)813、设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为()。A)BADCB)BCDAC)CDABD)CBDA14、在有n个叶子结点的正则二叉树(无度为1的结点)中,其结点总数为()。A)2nB)2n-1C)2n+1D)2n-115、设一组初始记录关键字序列为(50,40,95,20,15,70,60,45),则以增量d=4的一趟希尔排序结束后前4条记录关键字为()。A)40,50,20,95B)15,40,60,20C)15,20,40,45D)45,40,15,2016、函数substr(“DATASTRUCTURE”,5,9)的返回值为()。A)“STRUCTURE”B)“DATA”C)“ASTRUCTUR”D)“DATASTRUCTURE”17、设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为()。A)O(log2n)B)O(1)C)O(n2)D)O(n)18、以下不是堆的是()。A)(100,98,88,82,80,77,66,60,40,28,18)B)(18,28,40,60,66,77,80,82,85,98,100)C)(100,88,98,77,80,60,82,40,28,18,66)D)(100,85,40,77,80,60,66,98,82,18,28)19、顺序存储设计时存储单元的地址()。A)一定连续B)一定不连续C)不一定连续D)部分连续,部分不连续20、设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为()。A)129B)219C)189D)22921、设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是()。A)F,H,C,D,P,A,M,Q,R,S,Y,XB)P,A,C,S,Q,D,F,X,R,H,M,YC)A,D,C,R,F,Q,M,S,Y,P,H,XD)H,C,Q,P,A,M