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 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条