一、选择题
1. 有以下程序
执行后的输出结果是( )。
A.5, 11
B.5, 5
C.11, 11
D.11, 5
【答案】A
【解析】fun 函数中m 和i 是静态变量,退出函数以后,下次再进入该函数时,m 和i 仍然保持上一次的数 值。第一次调用
返回11。
2. 有以下程序:
程序运行后的输出结果是( )。
A.10
B.11
C.20
D.21
【答案】D
【解析】题中定义了一个包含两个元素的结构体数组,其中data[0].a=10,data[0].b=100,data[l].a=20,data[l].b=200。指针p 指向结构体数组的第2个元素,那么p.a 的值为20, p.b 的值为
第 2 页,共 41 页 时,返回5; 第二次调用时
,
200, 所以输出结果为21。
3. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。
【答案】A
【解析】abc 均大于1,所以表达式
B 项错误。C 项表示表达 式小于1,需要用浮点类型表示。若要计算表达式值,结果需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,错误。D 项,算数运算法结合性自左向右,先计算
为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。
4. 有以下函数:
程序运行后的输出结果是( )。
A.12345
B.23445
C.34756
D.35745
【答案】D
【解析】静态局部变量属于静态存储方式,它具有以下特点:①静态局部变量在函数内定义,它的生存期为 整个源程序;②静态局部变量只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在, 但不能使用它;③允许对构造类静态局部变量赋初值。若未赋以初值,则由系统自动赋以0值;④根据静态局部变量的特点,可以看出它是一种生存期为整个源文件的变量。虽然离开定义它的函数后不能使用,但如再次调用 定义它的函数时,它又可继续使用,而且保存了前次被调用后留下的值。函数第一次调用时,会将数组a 变为 35345, 当第二次调用时,函数内的j 值为2, 所以会将数组a 的第三个元素更改为7, 所以最终结果为35745。
5. 有以下程序
第 3 页,共 41 页
则以下函数调用语句错误的是( )。 A. B. C. D.
【答案】A 【解析】
返回值是int ; 声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int ,是把函数add 的地址赋给指针f ; 函数指针的调用有两种方式,和项错误,已经表示调用函数add , 返回15, 出现编译错误。
6. 关于程序设计基本概念,以下叙述错误的是( ).
A. 计算机可以直接执行由任意高级语言编写的程序
B. 高级语言都有与之对应的编译程序或解释程序
C. 用任何一种计算机高级语言都可以把算法转换为程序
D. 结构化算法可以解决任何复杂的问题
【答案】A
【解析】A 项计算机只能识别机器语言,不能直接识别由高级语言编写的程序。
7. 以下叙述中错误的是( )。
A. 使用三种基本结构构成的程序只能解决简单问题
B. 结构化程序由顺序、分支、循环三种基本结构组成
C.C 语言是一种结构化程序设计语言
D. 结构化程序设计提倡模块化的设计方法
【答案】A
【解析】结构化程序由顺序、分支和循环三种基本结构组成,由三种基本结构组成的算法可以解决任何复杂 的问题。由三种基本结构所构成的算法称为结构化算法;由三种基本结构所构成的程序称为结构化程序。
8. 有如下程序:
第 4 页,共 41 页