计算机二级C语言题库(44套真题+刷题软件)第二套

发布时间:2025-12-10 11:25:43 浏览次数:17

刷题软件

gongzhonghao:露露IT

1、某带链栈的初始状态为top=bottom=NULL,经过一系列正常的入栈与退栈操作后,top=bottom=20。该栈中的元素个数为_( )。

A. 1

B. 0

C. 20

D. 不确定

本题的考查知识点是栈。栈顶指针top动态反映了栈中元素的变化情况,栈元素入栈时在栈顶插入一个新元素,top指向新结点的数据域,元素退栈时取出栈顶元素并赋给一个指定的变量top指向此时的第1个结点的数据域。经过一系列正常的操作后,如果top=bottom不等于NULL,则top=bottom同时指向唯一一个元素的数据域,此时栈中的元素个数为1;如果top=bottom=NULL,则栈中的元素个数为0。所以本题答案是A。

2、某系统结构图如下图所示(n≥5)

该系统结构图的最大扇出数是______。

A. 2

B. 3

C. n

D. n+1

本题考查知识点是扇入和扇出。扇入,是直接调用该模块的上级模块的个数,扇入的大小代表着该模块被调用的频繁度,扇入越大表明该模块使用度高,扇入越小表明该模块被调用的几率低。扇出,是指该模块直接调用下级模块的个数。根据本图可知,某系统模块可以直接调用的下级模块数为n。所以本题答案是C。

3、对象实现了数据和操作(方法)的结合,其实现的机制是( )。

A. 封装

B. 继承

C. 隐蔽

D. 抽象

本题考查知识点是对象的基本特点。面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。所以本题答案是A。

4、软件测试的实施步骤是( )。

A. 单元测试,集成测试,回归测试

B. 集成测试,确认测试,系统测试

C. 确认测试,集成测试,单元测试

D. 单元测试,集成测试,确认测试

软件测试过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测试)和系统测试。所以本题答案是D。

5、某系统结构图如下图所示

该系统结构图的宽度是______。

A. 5

B. 4

C. 2

D. 1

本题的考查知识点是软件结构。软件的宽度是指软件结构同一层次上模块的总个数的最大值。图中第二层宽度是3,第三层宽度是5,取其中的最大值作为系统结构图的宽度。所以本题答案是A。

6、某系统总体结构如下图所示

该系统结构图的深度是_____。

A. 4

B. 3

C. 2

D. 1

本题考查知识点是深度。结构图的深度表示控制的层数。同一层上所有结点的所有子结点都在下一层,该系统结构共四层,系统深度就为4所以本题答案是A。

7、某系统总体结构如下图所示

该系统结构图的宽度是_______。

A. 5

B. 4

C. 3

D. 2

本题的考查知识点是软件结构。软件的宽度是指软件结构同一层次上模块的总个数的最大值。图中第二层宽度是3,第三层宽度是5,第四层宽度是2,取其中的最大值作为系统结构图的宽度。所以本题答案是A。

8、某系统总体结构如下图所示

该系统结构图的最大扇出数是______。

A. 5

B. 3

C. 2

D. 1

本题考查知识点是扇入和扇出。扇入,是直接调用该模块的上级模块的个数,扇入的大小代表着该模块被调用的频繁度,扇入越大表明该模块使用度高,扇入越小表明该模块被调用的几率低。扇出,是指该模块直接调用下级模块的个数。该系统结构图中最大扇出数是3。所以本题答案是B。

9、某系统总体结构如下图所示

该系统结构图的最大扇入数是_____。

A. 2

B. 3

C. 4

D. 5

本题考查知识点是扇入和扇出。扇入,是直接调用该模块的上级模块的个数,扇入的大小代表着该模块被调用的频繁度,扇入越大表明该模块使用度高,扇入越小表明该模块被调用的几率低。扇出,是指该模块直接调用下级模块的个数。该系统结构图中最大扇入数是2。所以本题答案是A。

10、在软件设计阶段不使用___。

A. 程序流程图

B. PAD图

C. DFD图(数据流程图)

D. E-R图

软件设计工具包括:程序流程图、N-S、PAD、HIPO,判定表,PDL(伪码)。而DFD(数据流图)属于结构化方法的需求分析工具。所以本题答案是C。

11、流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是( )。

A. 椭圆型

B. 长方形

C. 平行四边形

D. 菱形

本题的考查点是流程图。在流程图中,输入输出框的图形是平行四边形。故本题的答案为C。

12、设有以下代码

do

{

while (条件表达式1)

循环体A;

} while (条件表达式2);

while(条件表达式)

{

do {

循环体B;

} while (条件表达式2);

}

其中,循环体A与循环体B相同,以下叙述正确的是( )。

A. 循环体A与循环体B的执行次数不确定

B. 循环体A比循环体B的执行次数多一次

C. 循环体A比循环体B的执行次数少一次

D. 循环体A与循环体B的执行次数相同

本题的考查点是循环体。 do{循环体} while(表达式)功能:先执行循环体,再判断表达式,当表达式不满足时退出循环,while(表达式){循环体}功能:先判断表达式,满足条件执行循环体,否则不执行循环体。题意可知循环体A与循环体B相同,则循环体A与循环体B的执行次数相同。故本题的答案为D。

13、C语言的常量包括数值型常量和符号常量,以下叙述正确的是( )。

A. 数值型常量1.0和1所占内存的大小不同

B. 不能用sizeof求数值型常量所占内存的大小

C. 不能用sizeof求符号常量所占内存的大小

D. 可以用&A取得符号常量A所占内存的首地址

本题的考查点是常量。 sizeof返回对象或者类型所占的内存字节数,故B、C错误;符号常量没有首地址,故D错误。故本题的答案为A。

14、有以下程序

#include <stdio.h>

main()

{

int a;

a = (int)(-1.53*3);

printf("%d\n", a) ;

}

程序的运行结果是______。

A. -3

B. -4

C. -5

D. 结果不确定

本题的考查点是数据类型。 -1.53*3=-4.59,(int)(-1.53*3)强制类型转换为整型,故a=(int)(-1.53*3)=-4。故本题的答案为B。

16、若有定义: char c; int d;,程序运行时输入: 1,2〈回车〉,能把值1输入给变量c,值2输入给变量d的输入语句是( )。

A. scanf("%c, %d",&c,&d);

B. scanf("%c%d",&c, &d) ;

C. scanf("%d, %f",&c,&d) ;

D. scanf("%d%d",&c,&d);

本题的考查点是数据类型。数据1是字符型,数据2是整型,对应的格式控制形式为%c、%d。故本题的答案为A。

17、流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是( )。

A. 长方形

B. 菱形

C. 平行四边形

D. 椭圆型

本题的考查点是流程图。在流程图中,判断框的图形是菱形。故本题的答案为B。

18、以下叙述错误的是______。

A. 同一程序各模块可由一组人员同时进行编写调试,可提高编写程序的效率

B. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法

C. 模块化的程序设计是采用自顶向下、逐步细化的原则

D. 程序的每个模块都可通过三种基本结构实现

本题的考查点是模块化结构。在程序设计时,用一个个小小的模块来实现这些功能,每个程序设计人员分别完成一个或多个小模块,我们称这样的程序设计方法为"模块化"的方法;同一软件可由一组人员同时进行编写,分别进行调试,这就大大提高了程序编制的效率,程序设计方法就是由顶向下、逐步细化、模块化的方法;结构化程序设计语言提供了三种基本结构的语句

19、关于C语言的变量名,以下叙述正确的是( )。

A. 变量名必须以字母开头

B. 变量名不可以与预定义标识符同名

C. 变量名不可以与关键字同名

D. 变量名是没有长度限制的

本题的考查点是变量名。变量名可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线,变量名的长度是有规定的,即变量名的前若干个字符是有效的,超过的字符将不被识别,不同的C语言编译系统所规定的有效长度可能会不同;关键字在程序中代表着固定的含义,不能另作他用,故变量名不可以与关键字同名。故本题的答案为C。

20、有以下程序

#include <stdio.h>

main()

{

int a;

a = (int)1.99*3;

printf("%d \n", a);

}

程序的运行结果是( )。

A. 3

B. 5

C. 6

D. 结果不确定

本题的考查点是强制类型转换。 (int)1.99的功能是把浮点型强制转换成整型,其值为:1,1*3=3故本题的答案为A。

21、有以下程序

#include <stdio.h>

main()

{

int k=-17;

printf("%d,%o, %x\n", k,1-k,1-k);

}

程序的运行结果是( )。

A. -17,12,22

B. -17,22,12

C. -17,-22,-12

D. 17,22,12

本题的考查点是进制类型。%d,%o , %ox分别表示十进制、八进制、十六进制。(1-k)的值为18,对应的八进制和十六进制分别为:22、12故本题的答案为B。

22、若有定义: int a; float b; double c;,程序运行时输入: a=1,b=2,c=3<回车>,能把值I输入给变量A、值2输入给变量B、值3输入给变量c的输入语句是_____。

A. scanf("%d%f%lf", &a,&b, &c) ;

B. scanf (" a=%d, b=%f,c=%lf", &a,&b, &c);

C. scanf("a=%d, b=%lf, c=%lf",&a,&b,&c);

D. scanf("a=%d, b=%f,c=%f", &a, &b,&c);

本题考查的是数据类型。 a、b、c分别是int型、float型、double型,对应的输入数据格式分别是%d、%f、%lf。故本题答案为B。

23、以下选项中可用作C语言中合法用户标识符的是_______。

A. -abc

B. Void

C. _123

D. 2a

本题考查的是标识符。标识符是有数字、字母、下划线组成,并且第一个字符必须是字母或下划线。标识符名称不能与关键字相同。故本题答案为C。

24、以下程序段中的变量已定义为int类型

sum = pad = 5; pAd = sum++, pAd++,++pAd

printf( "%d\n", pad );

程序段的输出结果是( )。

A. 4

B. 5

C. 6

D. 7

本题考查的是变量。根据赋值语句sum=pad=5,输出5。故本题答案为B。

25、C语言程序的模块化是通过以下哪个选项实现的( )。

A. 变量

B. 语句

C. 函数

D. 程序行

本题考查的是程序模块化。 C语言允许对函数单独进行编译,从而可以实现模块化。故本题答案为C。

26、若在程序中变量均已定义成int类型,且已赋大于1的值,则下列选项中能正确表示代数式1/(abc)的表达式是( )。

A. 1.0/a/b/c

B. 1/(a*b*c)

C. 1.0/a*b*c

D. 1/a/b/(double)c

本题考查的是算术运算符。因为在编程语言中,整数除以任何数结果都会是整数,小数给舍去了,所以真正要表达这个公式就是1.0/a/b/ c或1. 0/(a*b*c),而在编程语言中没有分数的表达形式,因此1.0/(a*b*c)会计算成( 1/a)*b*c。故本题答案为A。

27、有以下程序

#include <stdio.h>

main()

{

int x=010, y=10;

printf("%d,%d \n", ++x,y--);

}

程序运行后的输出结果是( )。

A. 11,10

B. 9,10

C. 010,9

D. 10,9

本题考查的是自加、自减运算符。 x=010=8,++x是先自加1,其值为:9; y--是自减,但是是在输出之后其值才为:9,故输出的值为: 10。故本题答案为B。

28、以下选项中叙述正确的是( )。

A. C语言的标识符可分为关键字、预定义标识符和用户标识符三类

B. C语言的标识符可分为语句、变量和关键字三类

C. C语言的标识符可分为函数名、变量和预定义标识符三类

D. C语言的标识符可分为运算符、用户标识符和关键字三类

本题考查的是标识符。 C语言的标识符有关键字、预定义标识符、用户标识符三类。故本题答案为A。

29、以下选项中叙述正确的是( )。

A. C程序必须由main语句开始

B. 函数体必须由{开始

C. C程序中的注释可以嵌套

D. C程序中的注释必须在一行完成

本题考查的是函数。在C语言中,函数体是由"{"开始的。故本题答案为B。

30、以下选项中叙述正确的是( )。

A. 计算机能够直接运行C语言源程序,不必进行任何转换

B. C语言源程序不编译也能直接运行

C. 使用N一S流程图不能描述复杂算法

D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构

本题考查的是结构化程序设计。在C语言中,结构化程序的三种基本结构是循环结构、选择结构、顺序结构;C语言要经过编译和连接生成可执行文件才能直接运行;N-S流程图可以完整的描述算法;对于计算机本身来说,它并不能直接识别由高级语言编写的程序,只能接受和处理由0和1的代码构成的二进制指令或数据。故本题答案为D。

31、以下选项中叙述正确的是( )。

A. 只要程序包含了三种基本结构中的任意一种,就是结构化程序

B. 使用三种基本结构就可以实现任何复杂算法

C. 程序语法错误要在运行时才能发现

D. C语言程序不需要包含main()函数

本题考查的是结构化程序设计。在C语言中,结构化程序的三种基本结构是循环结构、选择结构、顺序结构;C语言程序中有且只能有一个main()函数故本题答案为B。

32、以下选项中,合法的C语言常量是_____。

A. 1.234

B. 'C++'

C. "\2.0

D. 2Kb

本题考查的是常量。所谓常量是指在程序运行过程中,其值不能被改变的量。常量可以分为数值型常量和符号常量,数值型常量又可分为整型常量和实型常量,整型常量是由数字组成,实型常量是由小数点和数字组成,符号常量的命名要复合标识符的命名规则。故本题答案为A。

33、以下选项中,合法的C语言实数是( )。

A. 3.1e0.4

B. .2e0

C. E13

D. 7.12E

本题考查的是实型常量。实型常量有小数形式和指数形式: 小数形式:是由数字和小数点组成的一种实数表示形式; 指数形式:类似于数学中的指数形式,C语言的语法规定,字母e或E之前必须要有数字,且e或E后面的指数必须为整数。故本题答案为B。

34、设a, b,c是整型变量且均已赋值,则以下选项中错误的赋值语句是______

A. a=(b=3)=1;

B. a=(b=2)+c;

C. a=b=c+10;

D. a=1+(b=c=2);

本题考查的是赋值语句。 A选项中(b=3)是一个常量,(b=3)=1是把一个常量赋值给一个常量,故A错误。故本题答案为A。

35、有如下程序

#include <stdio.h>

main()

{

int x = 072;

printf("%d\n",x+1);

}

程序运行后的输出结果是( )。

A. 73

B. 59

C. 115

D. 72

本题考查的是八进制。x=072=58,x+1=59。故本题答案为B。

36、以下选项中叙述正确的是( )。

A. 简单算法的操作步骤不能超过20步

B. 算法需要包含所有三种基本结构

C. 有些算法不能用三种基本结构来表达

D. C程序中的语句要经过编译才能转换成二进制机器指令

本题考查的是算法。在C语言中C语言要通过编译,转换成二进制语言;算法可以用各种描述方法来进行描述,最常用的是伪代码和流程图。故本题答案为D。

37、以下选项中叙述正确的是( )。

A. 复杂任务可以分解成简单子任务

B. C语言程序中的所有函数必须保存在同一个源文件中

C. 全部三种基本结构都包含的才是结构化程序

D. C语言程序可以定义多个不同内容的main函数

本题考查的是程序设计基本概念。程序化结构是由三种基本结构组成,故C错误;C语言源程序可以存放在不同的文件中,所以同一个源程序中的函数也可分放在不同的文件中,故B错;C语言程序中有且只能有一个main函数,故D错。故本题答案为A。

38、以下选项中,合法的数值型常量是______。

A. 3.1415

B. "A"

C. 092

D. 0xDH

本题考查的是数值型常量。B选项不是数值;C选项8进制的数字要小于8,这里有9不对;D选项16进制由0-9和A-F(a-f)组成,这里有H不对。本题选A。

39、以下选项中,合法的实数是( )。

A. E1.3

B. 4.5E2

C. 7.11E

D. 1.2E1.2

本题考查的是实数。实型常量有小数形式和指数形式。小数形式:是由数字和小数点组成的一种实数表示形式。指数形式:类似于数学中的指数形式,C语言的语法规定,字母e或E之前必须要有数字,且e或B后面的指数必须为整数。故本题答案为B。

40、若有定义 int a,b, c;以下选项中的赋值语句正确的是( )。

A. a=(b=c)+1;

B. (a=b)=c=l;

C. a=(b==c)=1;

D. a+b=c;

本题考查的是赋值语句。赋值语句的左侧只能是变量,故B、D错;"="是赋值号,"=="不是赋值号,故C错误。故本题答案为A。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477