二级C语言高频题目总汇(含答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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和b的值分别是(B )。

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);

相关文档
最新文档