2017年浙江工业大学教育科学与技术学院885数据结构(C语言版)之C程序设计考研题库
● 摘要
一、选择题
1. 设有定义intx=2;,以下表达式中,值不为6的是( )。
A.x*=x+l B.x++, 2*x C.x*=(1+x) D.2*x, x+=2
【答案】D
,此时为3, 然后做x*=3, 【解析】AC 两项,赋值运算优先级最低,所以先做x+1或(1+x)
即x=x*(x+l)=6;B 项,做x++运算后得到3, 然后做2*x运算得6, ;D 项,2*x虽然结果为4, 但此时x 的值仍为2, 所以最终为4。
2. 有以下程序:
程序的运行结果是( )。 A.4 B.5 C.6 D.7
【答案】C
【解析】fun 函数是递归函数,用来计算从0到n 的整数和。调用fun 函数,n=3,
返回
【程序有错,
3. 有以下程序:
第 2 页,共 32 页
应为】
程序运行后的输出结果是( )。 A.Hay
B.How are you C.we D.ay
【答案】D
for 语句循环体执行功能是,【解析】每次当
元素为
时,自动将
下一个元素赋值给
赋值完成后,j 值加1,因此的和分别赋值给输出结果为ay 。
4. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。
A.gets ( ) B.getc ( ) C.getchar ( ) D.scanf ( ) 【答案】A
,直到读入一个换行符为【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符)
止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用
格式符输入字符串时,空格和回车符都作为输
入数据的分隔符而不能被读入。
5. 以下选项中,能用作数据常量的是( )。
【答案】D
【解析】A 项错误,十六进制数用数学0和字符x (或大写字母X )开头;B 项错误,八进制整数常量以数字0开始,有效数字为0〜7; C项错误,C 语言中实型常量有两种表示:小数形式和指数形式。指数形式中,字母e (或E )之前必须要有数字,且后面的指数必须为整数。
6. 有以下程序:
程序运行后的输出结果是( )。 A.21 B.11 C.6
第 3 页,共 32 页
D.1
【答案】A
【解析】将十进制数转换为二进制数进行位运算,5转换为二进制数是101, 再做<<2运算,即为10100, 然后100001等于10101,转换为十进制数为21。
7. 以下不能将键盘输入的字符串: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 中正确存放人指定的字符串。
8. C 语言主要是借助以下( )功能来实现程序模块化的。
A. 定义函数
B. 定义常量和外部变量 C. 三种基本结构语句 D. 丰富的数据类型 【答案】A
【解析】C 程序的模块化主要通过函数来实现。C 语言允许对函数单独进行编译,从而可以实现模块化。
9. 有以下程序
第 4 页,共 32 页