二级C语言程序设计理论摸底测验试题
1 / 8
————————————————————————————————作者:————————————————————————————————日期:
2 / 8
二级C语言程序设计理论摸底考试试题
一、选择题((11)~(20)每题1分,其余每题2分,共70分)
(1)算法的空间复杂度是指
A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)算法执行过程中所需要的存储空间
(2)栈和队列的共同特点是
A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点
(3)设有下列二叉树:
A
T X
c十十程序设计语言B C P
Z Y
对此二叉树前序遍历的结果为
A)ZBTYCPXA B)ATBZXCYP C)ZBTACYXP D)ATBZXCPY
(4)结构化程序设计主要强调的是
A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性
(5)下列叙述中正确的是
A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对
(6)下列不属于软件工程的3个要素的是
A)工具B)过程C)方法D)环境
(7)软件开发离不开系统环境资源的支持,其中必要的测试数据属于
A)硬件资源B)通信资源C)支持软件D)辅助资源
(8)下述关于数据库系统的叙述中正确的是
A)数据库系统减少了数据冗余B)数据库系统避免了一切冗余C)数据库系统中数据的一致性是指数据类型一致D)数据系统比文件系统能管理更多的数据
(9)下列数据模型中,具有坚实理论基础的是
A)层次模型B)网状模型C)关系模型D)以上3个都是
(10)相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致和
A)可重用性差B)安全性差C)非持久性D)冗余性
(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。这属于算法的A)正当性B)可行性C)确定性D)有穷性
(12)下列关于标识符的说法中错误的是
A)合法的标识符是由字母、数字和下划线组成B)C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C)C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D)用户标识符与关键字不同时,程序在执行时将给出出错信息(13)判断char型变量c1是否为大写字母的正确表达式是
A)‘A’<=c1<=’z’B)(c1>=A)&&(c1<=Z) C)(‘A’>=c1)||(‘Z’<=c1) D)(c1<=’A’)&&(c1<=’Z’
(14)有以下程序
int add(int a,int b){return (a+b);}
Main(){ int k,(*f)( ),a=5,b=10;f=add;…}
则以下函数调用语句错误的是
A)k=(*f)(a,b);B)k=add(a,b) C)k=*f(a,b); D)k=f(a,b);
(15)若变量已正确定义并赋值,以下合法的C语言赋值语句是
A)x=y= =5;B)x=n%2.5;C)x+n=i;D)x=5=4+1
(16)下列程序的输出结果是
Main(){ double d=3.2;int x,y;x=1.2 ;y=(x+3.8)/5.0 ;printf(" %d\n",d*y) ;}
A)3 B)3.2 C)0 D)3.07
(17)设有以下程序段
int x=0,s=0 ;while( !x !=0)s+=++x ;printf("%d",s) ;则
A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次
(18)以下程序执行后x的值是
main(){ int x,y=252,i=386,*m=&y,*z=&i;x=(z= =y);printf(“%d”,x) ;}
A)252 B)1 C)0 D)运行时出错,x无定值
(19)有如下程序
main(){ float x=2.0,y ;if(x<0.0)y=0.0 ;else if(x>10.0)y=1.0/x ;else y=1.0 ;printf("%f\n ",y) ;}该程序的输出结果是
A)0.000000 B)0.250000 C)0.500000 D)1.000000
(20)以下程序的输出结果是
#include<stdio.h>
main(){ int a=15,b=21,m=0 ;switch(a%3){ case 0:m++;break;case 1:m++;switch(b%2) { default:m++;case 0:m++;break;}}printf("%d\n",m);}
A)1 B)2 C)3 D)4
(21)如下程序的输出结果是
#include<stdio.h>
main( ){ char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i]; for(i=0;i<2;i++)for(j=0;p[i]
[j]> ‘\0’;j+=2)s=10*s+p[i][j]-‘\0’;printf(“%d\n”,s);}
A)69825 B)63825 C)6385 D)693825
(22)下面程序的运行结果是
#include<stdio.h>
main( ){int a=28,b;char s[10],*p;p=s;do{b=a%16;if(b<10)*p=b+48;else *p=b+55;p++; a=a/5;}while(a>0);*p=’\0’;puts(s);}
A)10 B)C2 C)C51 D)\0
(23)下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[ ]=”hello,friend!”;
void func1(int i)
{ printf(“%c”,st[i]);if(i<3){i+=2;func2(i);}}
void func2(int i)
{ printf(“%c”,st[i]);if(i<3){i+=2;func1(i);}}
main( ){ int i=0;func1(i);printf(“\n”);}
A)hello B)hel C)hle D)hlm
(24)以下程序的输出结果是
#include<stdio.h>
void prt(int *x,int *y,int *z){printf(“%d,%d,%d\n”,++*x,++*y,*(z++));}
main( ){ int a=10,b=40,c=20 ;prt(&a,&b,&c) ;prt(&a,&b,&c) ;}
A)11,42,31 B)11,41,20 C)11,21,40 D)11,41,21
12.22,41 12,42,20 11,21,21 12,42,22
(25)下列二维数组初始化语句中,正确且与语句float a[ ][3]={0,3,8,0,9};等价的是
A)float a[2][ ]={{0,3,8},{0,9}};B)float a[ ][3]={0,3,8,0,9,0};C)float a[ ][3]={{0,3}, {8,0},{9,0}};D)float a[2][ ]={{0,3,8},{0,9,0}};
(26)以下程序输出的结果是
#include<stdio.h>
#include<string.h>
main( ){ char w[ ][10]={“ABCD”,”EFGH”,”IJKL”,”MNOP”},k;
for(k=1;k<3;k++)printf(“%s\n”,&w[k][k]);}
A)ABCD B)ABC C)EFG D)FGH
FGH EFG JK KL
KL IJ 0
M
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论