2017年中国海洋大学面向对象的程序设计考研复试核心题库
● 摘要
一、选择题
1. 有以下程序段:
入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。
A. 字母A 、B 、C 之问可以用空格分隔 B. 字母A 、B 、C 之间不能有分隔符 C. 字母A 、B 、C 之间可以用回车符分隔 D. 字母A 、B 、C 之间可以用Tab 键分隔 【答案】B
【解析】在使用scanf 函数时要注意,在用
格式输入字符时,分隔符(空格符、制表符
(Tab 键)、回车符)和转义字符都将作为有效字符进行输入。题目中要求以字符形式输入三个数据,空格、回车符、Tab 键均会被视为有效字符赋给对应变量,所以字母A 、B 、C 之间不能有分隔符,故B 选项正确。
2. 以下叙述中正确的是( )。
A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为.C 的C 语言源程序都可以单独进行编译 C. 在C 语言程序中,只有main 函数才可以单独进行编译 D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 【答案】B
main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。后缀名为.C 的C 语言源程序都可以单独进行编译。
3. 若变量已正确定义为int 型,要通过语句
若要给
分别输
给a 赋值1,
给b 赋值2, 给C 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
A. B. C. D. 【答案】B
【解析】格式化输入函数scanf ,每个输入格式说明之间加一个逗号作为通配符,要求除格式控制符以外的字符都要原样输入,逗号为非格式符,需要原样输入,否则就不能正确读入数据。
4. 若有代数式(其中e 仅代表自然对数的底数,不是变量),则以下能够正确表示该
代数式的C 语言表达式是( )。
【答案】A
【解析】math.h 是数学运算库函数的头文件名:
5. 若有定义则不符合C 语言规定的赋值语句是( )。
【答案】C
【解析】C 项错误,在C 语言的算术运算符中,取余运算符必须是整数。
A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将
右边的逻辑表达式
的计算结果赋给变量D 项,首先对变量a 求逻辑非操作,然后将结果赋值给变量i
6. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。
A. B. C. D.
【答案】A
【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。
7. 有以下程序段
的左右两侧的两个运算分量
以下选项中表达式的值为11的是( )。
【答案】A
【解析】pt_>x值为10,_>优先级高于++,前置++表达式的值为加1之后的值,所以A 项结果为11。
8. 有如下程序:
程序运行后的输出结果是( )。
【答案】A
【解析】A 项正确,room 表示数组首地址,首地址+1,指向room 数组中第二个元素,并将该元素的name 信息进行输出,同理,对第一个元素中的age 信息输出。
二、设计题
9. 请根据以下各小题的要求设计C 应用程序(包括界面和代码)。请编写函数fun ( ), 它的功能是:将3行4列矩阵x 乘以4行3列矩阵y ,结果放在3行3列矩阵xy 中。矩阵相乘的基本方法是:矩阵xy 中行列下标分别为i ,j 的元素的值,是矩阵x 中第i 行上4个元素与矩阵y 第j 列上4个元素对应相乘的和。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。
试题程序如下: