2017年扬州大学0601教育技术学理论与实践之C语言程序设计考研复试核心题库
● 摘要
目录
2017年扬州大学0601教育技术学理论与实践之C 语言程序设计考研复试核心题库(一) .... 2
2017年扬州大学0601教育技术学理论与实践之C 语言程序设计考研复试核心题库(二) .... 7
2017年扬州大学0601教育技术学理论与实践之C 语言程序设计考研复试核心题库(三) .. 12
2017年扬州大学0601教育技术学理论与实践之C 语言程序设计考研复试核心题库(四) .. 17
2017年扬州大学0601教育技术学理论与实践之C 语言程序设计考研复试核心题库(五) .. 22
一、选择题
1. 有以下程序段
若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。
A.int
B. (int*)
C.int*
D. (*int)
【答案】B
C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )
size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。
2. 以下叙述中错误的是( )。
A. 函数的返回值类型不能是结构体类型,只能是简单类型
B. 函数可以返回指向结构体变量的指针
C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员
D. 只要类型相同,结构体变量之间可以整体赋值
【答案】A
【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。
3. 有以下程序段:
该程序段的功能是( )。
A. 输出a 、b 、c 中值相等的数值
B. 输出a 、b 、c 中的最大值
C. 输出a 、b 、c 中的最小值
D. 输出a 的原始值
【答案】D
【解析】程序段执行过程为:从键盘读入3个整型数据分别赋值给a , b ,c ,如果a
4. 有以下程序
程序运行后的输出结果是( )。
【答案】A
【解析】将结构体变量的地址作为实参传递,函数调用可以修改实参结构体中成员的值。函数f 的作用是,把p 指向的struct 中的数组a 的元素按照从小到大的方式排序。
5. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
【答案】B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
6. 以下选项中关于C 语言常量的叙述错误的是( )。
A. 所谓常量,是指在程序运行过程中,其值不能被改变的量
B. 常量分为整型常量、实型常量、字符常量和字符串常量
C. 常量可分为数值型和非数值型常量
D. 经常被使用的变量可以定义为常量
【答案】D
【解析】常量是指在程序运行过程中其值不能被改变的量。在C 语言中,有整型常量、实型常量、字符常量和字符串常量等类型。整型常量和实型常量又称数值型常量,它们有正值和负值的区分。所谓变量是指在程序 运行过程中其值可以改变的量。C 语言规定,程序中所有变量都必须先定义后使用。变量和常量有明显的区分。
7. 关于程序设计基本概念,以下叙述错误的是( ).
A. 计算机可以直接执行由任意高级语言编写的程序
B. 高级语言都有与之对应的编译程序或解释程序
C. 用任何一种计算机高级语言都可以把算法转换为程序
D. 结构化算法可以解决任何复杂的问题
【答案】A
【解析】A 项计算机只能识别机器语言,不能直接识别由高级语言编写的程序。
8. 以下叙述错误的是( )。
A. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法
B. 同一程序各模块可由不同人员同时进行编写调试,可提高编写程序的效率
C. 模块化的程序设计是采用自顶向下、逐步细化的原则
D. 程序的每个模块都可通过三种基本结构实现
【答案】A
【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成 各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A 选项叙述错误,C 选 项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B 选项叙述正确。结构化程序 主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D 选项叙述正确。故选择A 选项。
二、设计题