二级C语言高频题目总汇(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题((1)~(10)、(21)~(40)每题2分,(11)~(20)每题1分,70分)
(1)下列关于算法的描述中,正确的是(D )。
A)一个算法的空间复杂度大,则其时间复杂度也必定大
B)一个算法的空间复杂度大,则其时间复杂度必定小
C)一个算法的时间复杂度大,则其空间可复杂度必定小
D)上述三种说法都不对
(2)下列关于数据的存储结构的定义中,正确的是(D )。
A)存储在外存中的数据
B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式
D)数据的逻辑结构在计算机中的表示
(3)在链式存储结构中,下列对于线性链表的描述中正确的是(B )。
A)存储空间必须连续,且各元素的存储顺序是任意的
B)存储空间不一定是连续,且各元素的存储顺序是任意的
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间不一定连续,且前件元素一定存储在后件元素的前面
(4)按照“后进先出”原则组织数据的数据结构是( A )。
A)栈
B)队列
C)数组
D)单向链表
(5)在一棵满二叉树中,其深度为5,则叶子结点的个数为(A )。
A)16
B)15
C)8
D)7
(6)对如下二叉树进行后序遍历的结果为(D )。
A
B C
D F
E
G H
A)ABCDEFGH
B)ABDGEHCF
C)GDBEHACF
D)GDHEBFCA
(7)在长度为32的有序线性表中进行顺序查找,最坏情况下需要比较的次数为(B )。
A)31
B)32
C)16
D)15
(8)下列关于编程风格应注意的因素中,不正确的是(D )。
A)程序的可读性好
B)程序中要有必要的注释
C)输入数据前要有提示信息
D)程序的效率第一,清晰第二
(9)在软件开发中,下面任务不属于设计阶段的是( C )。
A)数据结构设计
B)给出系统模块结构
C)定义模块算法
D)定义需求并建立系统模型
(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( C )。
A)DB包含DBS和DBMS
B)DBMS包含DB和DBS
C)DBS包含DB和DBMS
D)它们没有任何关系
(11)以下叙述中错误的是(C )。
A)C语言是一种结构化程序设计语言
B)结构化程序有顺序、分支、循环3种基本结构组成
C)使用3种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
(12)对于一个正常运行的C程序,以下叙述中正确的是( A )。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(13)能正确表示逻辑关系“a>=5或a<=0”的C语言表达式是(D )。
A)a>=5 or a<=0
B)a>=0 || a<=5
C)a>=5 && a<=0
D)a>=5 || a<=0
(14)以下能正确表示x在-5到5范围(含-5和5)内,值为“真”的表达式是(A )。
A)(x>=-5)&&(x<=5)
B)!(x>=-5|| x<=5)
C)x<5&& x>-5
D)(x<-5)|| (x<5)
(15)设有int x=11;则表达式(x++*1/3)的值是( A )。
A)3
B)4
C)11
D)12
(16)若有以下定义和语句
int a=0x10,b=016,c=10;
printf("%d,%d,%d\n",a,b,c);
则输出结果是(D )。
A)14,10,10
B)16,10,10
C)16,8,10
D)16,14,10
(17)以下程序:
#include
main()
{char str[10];
scanf("%s",&str);
printf("%s\n",str);
}
运行上面的程序,输入字符串Fool yan hua,则程序的执行结果是(A )。
A)Fool
B)Fool yan hua
C)Fool yan
D)Foolyanhua
(18)若有"double a;",则正确的输入语句是(D )。
A)scanf("%lf",a);
B)scanf("%f",&a);
C)scanf("%lf",&a)
D)scanf("%lf",&a);
(19)以下合法的C语言赋值语句是( D )。
A)a=b=1
B)a=int a+b;
C)a=2,b=3
D)i++;
(20)有下列程序:
main( )
{ int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是( C )。
A)2,3,3
B)2,3,2
C)2,3,1
D)2,2,1
(21)设有定义:int a; float b;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0
A)876和543.000000
B)87和6543.000000
C)87和543.000000
D)76和543.000000
(22)两次运行下面的程序,如果从键盘上分别输入8和6,则输出结果是( A )。
#include
main()
{int x;
scanf("%d",&x);
if(x++>7)printf("%d",x);
else printf("%d\n",--x);