当前位置:问答库>考研试题

2016年福州大学福建省空间信息工程研究中心数据结构与程序设计之C语言程序设计复试笔试最后押题五套卷

  摘要

一、选择题

1. 有如下程序:

程序运行时,从键盘输入:3〈回车〉后,程序输出结果为( )。

A.3, 4,

B.1, 2, 3, 4,

C.0, 1, 2, 3, 4, 5,

D.0, 1, 2,

答:A

【解析】continue 语句只能用在循环结构中,其作用是结束本次循环,即不再执行循环体中continue 语句之后的语句,而是立即转入对循环条件的判断与执行。本题执行过程为:输入3, 则data=3; 执行for 循环,i=0,if 条件成立,结束本次循环,不输出i 值,执行下一次循环;直到条件不成立,依次输出i 值3, 4, 直到i=5退出for 循环。故A 选项正确。

2. 有以下程序:

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

A.y=0

B.y=-l

C.y=l

D.while 构成无限循环

if

【解析】当y=0时,不符合while 循环条件,经过y--值变为-1。

3. 设有两行定义语句:

intscanf ;

floatcase ;

则以下叙述正确的是( )。

A. 两行定义语句都不合法

B. 两行定义语句都合法

C. 第1行语句不合法

D. 第2行语句不合法

答:D

【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。

4. 有如下程序:

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

A.8, 0

B.4, 0

C.4, 1

D.8, 1

答:A 【解析】右移运算符,按位右移运算规则是将一个操作数先转换成二进制数,然后将二进制数各位右移若干位,移出的低位舍弃,并在高位补位。若为无符号数,右移时左边高位移入0。a=8=01000, 执行后,a=000l0=2, b=2%2=0, 输出a ,b 为8,0,故A 项正确。

5. 以下能够实现计算5! 的程序段是( )。

【解析】,执行过程为:首先执行循环语句一般形式为:do{循环体}while(表达式)

不成立退出循环,

才因循环条件不成立退出循环,实现循环体,之后判断表达式,成立(非0. 则再一次执行循环体,不成立(0. 则退出循环。A 选项

:判断k<5,条件成立进行下一次循环,直到项:k=2

, 循环条件成立,直到k=6,实现计算5! ,A 选项正确。B 选项:fae 从0开始,做乘法一直都是0, 无法实现5! ,错误。C 选

6! , 错误。D 选项:k=0

, 之后做乘法一直为0, 无法实现错误。故选择A 选项。

6. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。

A. (n-n/10×10)×10+n/10

B.n-n/l0×l0+n/10

C.n/10+(n-n/10)

D. (n-n/10)×10+(n/10)

答:A

A 项n/10得到十位数字,n-n/10得到个位数字,,n-n/10【解析】将个位数乘以10加上十位数字(

×10)×l0+n/10实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项n-n/10×10得到个位数字,n/10为十位数字,n-n/10×l0+n/10实现两位整数个位数与十位数之和,B 项错误。C 项n/10+(n-n/10)=n, 不能实现题目中要求,C 项错误。D 项n/10是十位数字,n-n/10为原两位整数减去十位数字,不是个位数字,D 项错误。

7. 以下选项中,能用作用户标识符的( )。

答:C

【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。语法规则为:①标识符由字母、数字或下画线组成;②第一个字符必须是字母或下画线;③标识符最多由274个字符组成;④在标识符中严格区分大小写字母;⑤关键字不能作为自定义的标识符在程序中使用。

8. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。

A. 循环体的执行次数总是比条件表达式的执行次数多一次

B. 条件表达式的执行次数总是比循环体的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

答:D

【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条