1、国二题库二级C语言第一部分 公共基础知识单项选择题(10分)5)、结构化程序设计的基本原则不包括(A)自顶向下(B)多态性(C)逐步求精(D)模块化标准答案:B7)、对长度为n的线性表排序,在最坏情况下,比较次数不是n(n1)/2的排序方法是(A)堆排序(B)快速排序(C)冒泡排序(D)直接插入排序标准答案:A9)、(A)自然连接(B)笛卡尔积(C)交(D)并标准答案:C11)、在软件开发中,需求分析阶段可以使用的工具是(A)N-S图(B)PAD图(C)程序流程图(D)DFD图标准答案:D16)、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(A)(B)(C)O(n)(D)标
2、准答案:D17)、在面向对象方法中,不属于“对象”基本特点的是(A)多态性(B)一致性(C)标识唯一性(D)分类性标准答案:B18)、(A)并(B)自然连接(C)交(D)笛卡尔积标准答案:B23)、数据库应用系统中的核心问题是(A)数据库设计(B)数据库系统设计(C)数据库管理员培训(D)数据库维护标准答案:A24)、下列排序方法中,最坏情况下比较次数最少的是(A)冒泡排序(B)堆排序(C)直接插入排序(D)简单选择排序标准答案:B26)、下面叙述中错误的是(A)程序调试通常也称为Debug(B)软件测试应严格执行测试计划,排除测试的随意性(C)对被调试的程序进行“错误定位”是程序调试的必要步
3、骤(D)软件测试的目的是发现错误并改正错误标准答案:D27)、耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是(A)降低耦合性提高内聚性有利于提高模块的独立性(B)耦合性是指一个模块内部各个元素间彼此结合的紧密程度(C)内聚性是指模块间互相连接的紧密程度(D)提高耦合性降低内聚性有利于提高模块的独立性标准答案:A28)、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(A)8(B)4(C)10(D)6标准答案:D29)、将E-R图转换为关系模式时,实体和联系都可以表示为(A)属性(B)关系(C)域(D)键标准答案:B32)、对于循环队列,下列叙述中正确的是(A)队头指针一定
4、大于队尾指针(B)队头指针是固定不变的(C)队头指针可以大于队尾指针,也可以小于队尾指针(D)队头指针一定小于队尾指针标准答案:C33)、(A)连接(B)选择(C)投影(D)插入标准答案:C35)、在E-R图中,用来表示实体联系的图形是(A)椭圆形(B)三角形(C)菱形(D)矩形标准答案:C36)、(A)交(B)并(C)选择(D)投影标准答案:B39)、下列选项中不属于结构化程序设计原则的是(A)模块化(B)逐步求精(C)自顶向下(D)可封装标准答案:D40)、(A)PAD图(B)程序流程图(C)E-R图(D)N-S图标准答案:B41)、软件生命周期是指(A)软件的开发过程(B)软件产品从提出
5、、实现、使用维护到停止使用退役的过程(C)软件的运行维护过程(D)软件从需求分析、设计、实现到测试完成的过程标准答案:B43)、面向对象方法中,继承是指(A)类之间共享属性和操作的机制(B)各对象之间的共同性质 (C)一个对象具有另一个对象的性质(D)一组对象所具有的相似性质 标准答案:A44)、数据库设计中反映用户对数据要求的模式是(A)外模式(B)内模式(C)设计模式(D)概念模式标准答案:A45)、层次型、网状型和关系型数据库划分原则是(A)联系的复杂程度(B)记录长度(C)数据之间的联系方式(D)文件的大小标准答案:C47)、(A)自然连接(B)并(C)交(D)差标准答案:D50)、软
6、件测试的目的是(A)改正程序中的错误(B)发现并改正程序中的错误(C)评估软件可靠性(D)发现程序中的错误标准答案:D51)、下面描述中错误的是(A)系统总体结构图支持软件系统的详细设计(B)软件设计是将软件需求转换为软件表示的过程(C)数据结构与数据库设计是软件设计的任务之一(D)PAD图是软件详细设计的表示工具标准答案:A53)、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(A)3(B)4(C)7(D)6标准答案:C54)、下列关于栈叙述正确的是(A)栈顶元素最先能被删除(B)栈顶元素最后才能被删除(C)栈底元素永远不能被删除标准答案:A55)、结构
7、化程序所要求的基本结构不包括(A)重复(循环)结构(B)GOTO跳转(C)顺序结构(D)选择(分支)结构标准答案:B56)、下列叙述中正确的是(A)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化(B)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化(C)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化标准答案:B57)、负责数据库中查询操作的数据库语言是(A)数据控制语言(B)数据管理语言(C)数据操纵语言(D)数据定义语言标准答案:C58)、下列叙述中正确的是(A)只有一个根结点的数据结构不一定是线性结构(B)有一个以上根结点的数据结构不一定是非线性结构(C)双向链表是
8、非线性结构(D)循环链表是非线性结构标准答案:A59)、定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(A)整数集合1,2,3,4,5(B)0.369(C)369(D)-369标准答案:C60)、63)、(A)7(B)2(C)6(D)3标准答案:D64)、软件生命周期中的活动不包括(A)软件测试(B)软件维护(C)需求分析(D)市场调研标准答案:D65)、数据库系统的三级模式不包括(A)内模式(B)数据模式(C)外模式(D)概念模式标准答案:B67)、程序调试的任务是(A)诊断和改正程序中的错误(B)验证程序的正确性(C)发现程序中的错误(D)设计测试用例标准答案:A68)、下
9、列关于数据库设计的叙述中,正确的是(A)在概念设计阶段建立数据字典(B)在需求分析阶段建立数据字典(C)在物理设计阶段建立数据字典(D)在逻辑设计阶段建立数据字典标准答案:B69)、下列关于线性链表的叙述中,正确的是(A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致(B)进行插入与删除时,不需要移动表中的元素(C)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续标准答案:B70)、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)外模式(B)概念模式(C)逻辑模式(D)内模式标准答案:D71)、(A)交(B)投影(C)自然连接(D)并标准答
10、案:C72)、下列选项中属于面向对象设计方法主要特征的是(A)自顶向下(B)逐步求精(C)模块化(D)继承标准答案:D74)、下列叙述中正确的是(A)循环队列是队列的一种链式存储结构(B)循环队列是非线性结构(C)循环队列是一种逻辑结构(D)循环队列是队列的一种顺序存储结构标准答案:D75)、在黑盒测试方法中,设计测试用例的主要根据是(A)程序内部逻辑(B)程序数据结构(C)程序流程图(D)程序外部功能标准答案:D76)、(A)自然连接(B)并(C)除(D)交标准答案:C77)、下面描述中,不属于软件危机表现的是(A)软件质量难以控制(B)软件开发生产率低(C)软件成本不断提高(D)软件过程不
11、规范标准答案:D78)、在软件设计中不使用的工具是(A)程序流程图(B)数据流图(DFD图)(C)系统结构图(D)PAD图标准答案:B79)、在满足实体完整性约束的条件下(A)一个关系中只能有一个候选关键字(B)一个关系中可以没有候选关键字(C)一个关系中应该有一个或多个候选关键字(D)一个关系中必须有多个候选关键字标准答案:C80)、下面不属于需求分析阶段任务的是(A)需求规格说明书评审(B)确定软件系统的功能需求(C)制定软件集成测试计划(D)确定软件系统的性能需求标准答案:C第二部分 二级C语言单项选择题(30分)1)、以下选项中,能用作数据常量的是(A)o115(B)0118(C)11
12、5L(D)1.5e1.5标准答案:C3)、(A)sqrt(fabs(pow(x,n)+exp(x)(B)sqrt(abs(nx+ex)(C)sqrt(fabs(pow(n,x)+pow(x,e)(D)sqrt(fabs(pow(n,x)+exp(x)标准答案:D4)、设变量已正确定义并赋值,以下正确的表达式是(A)int(15.8%5)(B)x=y+z+5, +y(C)x=25%5.0(D)x=y*5=x+z标准答案:B6)、有以下程序 #include main() int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(%d,%
13、dn,s,t); 在VC6平台上编译运行,程序运行后的输出结果是(A)4,8(B)10,6(C)2,4(D)4,4标准答案:A标准答案:D8)、以下选项中,合法的一组C语言数值常量是(A) 0x8A 10,000 3.e5(B) .177 4e1.5 0abc (C) 028 .5e-3 -0xf (D) 12. 0Xa23 4.5e0标准答案:D10)、若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是(A)i=(a+k)=(i+k);(B)a=a+,i+;(C)i=a%11;(D)i=!a;标准答案:C11)、设有定义:int x=2;,以下表达式
14、中,值不为6的是(A)x*=(1+x)(B)x*=x+1(C)x+,2*x(D)2*x, x+=2标准答案:D12)、有以下程序 #include main() int x, y, z; x=y=1; z=x+,y+,+y; printf(%d,%d,%dn,x,y,z); 程序运行后的输出结果是(A)2,3,3(B)2,2,1(C)2,3,2(D)2,3,1标准答案:D13)、以下叙述中错误的是(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法标准答案:A14)、以下选
15、项中,能用作用户标识符的是(A)8_8(B)unsigned(C)_0_(D)void标准答案:C16)、以下四个程序中,完全正确的是(A) #include main(); /*/ programming /*/ printf(programming!n); (B) #include main() /* programming */ printf(programming!n); (C) #include main() /*/* programming */*/ printf(programming!n); (D) include main() /* programming */ printf
16、(programming!n); 标准答案:B17)、有以下程序 #include main() int a=1,b=0; printf(%d,b=a+b); printf(%dn,a=2*b); 程序运行后的输出结果是(A)1,0(B)0,0(C)1,2(D)3,2标准答案:C20)、有以下程序 #include main() int x=1, y=0, a=0, b=0; switch ( x ) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; pr
17、intf(a=%d, b=%dn, a, b); 程序的运行结果是(A)a=2,b=2(B)a=1,b=1(C)a=1,b=0(D)a=2,b=1标准答案:D22)、有以下程序 #include main() int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(%d,%d,%d,%dn,a,b,c,d); 程序输出(A)1,1,2,0(B)0,0,0,3(C)0,1,2,0(D)编译有错标准答案:D23)、以下程序段中的变量已正确定义 for( i=0; i4; i+,i+ ) for( k=1; k3; k+ ); printf(*
18、);程序段的输出结果是(A)*(B)*(C)*(D)*标准答案:D25)、有以下程序段 #include int i, n; for( i=0; i8; i+ ) n = rand( ) % 5; switch (n) case 1: case 3: printf(%d n, n); break; case 2: case 4: printf(%d n, n); continue; case 0: exit(0); printf(%d n,n); 以下关于程序段执行情况的叙述,正确的是(A)当产生的随机数n为0时结束程序运行(B)当产生的随机数n为4时结束循环操作(C)for循环语句固定执行8
19、次(D)当产生的随机数n为1和2时不做任何操作标准答案:A28)、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是(A) switch(a+b) case 1: printf(*n); case c: printf(*n); (B) switch(a+b) case 1: printf(*n); case 2+1: printf(*n); (C) switch(x) case 1.0: printf(*n); case 2.0: printf(*n); (D) switch(int)x); case 1: printf(*n); case 2:
20、printf(*n); 标准答案:B31)、有以下程序 #include main() int i,j,m=1; for(i=1;i0;j- ) if(i*j3) break; m*=i*j; printf(m=%dn,m); 程序运行后的输出结果是(A)m=4(B)m=6(C)m=5(D)m=2标准答案:B34)、有以下程序段 #include int a, b, c; a=10; b=50; c=30; if (ab) a=b, b=c; c=a; printf(a=%d b=%d c=%dn, a, b, c);程序的输出结果是(A)a=10 b=30 c=10(B)a=50 b=30
21、c=50(C)a=10 b=50 c=30(D)a=10 b=50 c=10标准答案:D35)、有以下程序 #include main() int c=0,k; for (k=1;k3;k+) switch (k) default: c+=k; case 2: c+;break; case 4: c+=2;break; printf(%dn,c); 程序运行后的输出结果是(A)5(B)9(C)7(D)3标准答案:D36)、设已有定义:float x;,则以下对指针变量p进行定义且赋初值的语句中正确的是(A)float *p=1024;(B)float p=&x;(C)int *p=(float
22、)x;(D)float *p=&x;标准答案:D37)、有以下程序 #include int f(int x); main() int n=1,m; m=f(f(f(n); printf(%dn,m); int f(int x) return x*2; 程序运行后的输出结果是(A)8(B)2(C)1(D)4标准答案:A38)、以下数组定义中错误的是(A)int x3=0;(B)int x23=1,2,3,4,5,6;(C)int x3=1,2,3,4,5,6;(D)int x23=1,2,3,4,5,6;标准答案:D39)、以下不构成无限循环的语句或语句组是(A)n=0;while (1) n
23、+;(B)for(n=0,i=1; ; i+) n+=i;(C)n=0;do +n; while (n=0);(D)n=10; while (n); n-;标准答案:C40)、以下叙述中错误的是(A)函数可以返回地址值(B)可以给指针变量赋一个整数作为地址值(C)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL(D)改变函数形参的值,不会改变对应实参的值标准答案:B42)、有以下程序 #include #define N 4 void fun(int aN, int b) int i; for (i=0; iN; i+) bi = aii - aiN-1-i; main( )
24、 int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12, 13,14,15,16, yN, i; fun (x, y); for (i=0; iN; i+) printf(%d, yi); printf(n); 程序运行后的输出结果是(A)-3,-1,1,3,(B)-3,-3,-3,-3,(C)-12,-3,0,0,(D)0,1,2,3,标准答案:A43)、有以下程序 #include void fun( int a, int n) int i, t; for(i=0; in/2; i+) t=ai; ai=an-1-i; an-1-i=t; main() in
25、t k10= 1,2,3,4,5,6,7,8,9,10,i; fun(k,5); for(i=2; i8; i+) printf(%d,ki); printf(n); 程序的运行结果是(A)876543(B)321678(C)345678(D)1098765标准答案:B44)、有以下程序 #include int fun (int x, int y ) if (x!=y) return ( (x+y) /2 ); else return ( x ); main( ) int a=4, b=5, c=6; printf( %dn , fun(2*a, fun( b, c ) ) ); 程序运行后
26、的输出结果是(A)6(B)8(C)3(D)12标准答案:A45)、有以下程序 #include main() int n,*p=NULL; *p=&n; printf(Input n:); scanf(%d,&p); printf(output n:); printf(%dn,p); 该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是(A)printf(%dn,p);(B)scanf(%d,&p)(C)*p=&n;(D)int n,*p=NULL;标准答案:D46)、有以下程序 #include 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=f(a,b);(C)k=add(a,b);(D)k= *f(a,b);标准答案:D47)、有以下程序 #include main() int a
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1