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

2016年山西师范大学数学与计算机科学学院高级语言程序设计(加试)之C程序设计教程复试笔试最后押题五套卷

  摘要

一、选择题

1. 一下四个程序中,完全正确的是( )

答:B

【解析】A 项中,“main ( ) ”函数后面不能加分号;C 语言中注释语句的注释方法是:

或注释一行,且前缺少“#”号。

2. 以下叙述中错误的是( )。

A. 函数的返回值类型不能是结构体类型,只能是简单类型 B. 函数可以返回指向结构体变量的指针

C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员 D. 只要类型相同,结构体变量之间可以整体赋值 答:A

【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。

3. 有以下程序:

程序的运行结果是( )。 A.7, 4, 2

不能嵌套使用,C 项错误; D

选项中预编译命令

B.8, 7, 5, 2 C.9, 7, 6,4 D.8,5, 4,2 答:D

【解析】题目中的for 循环等价于:

第一次循环,x=8, for 循环条件为真,8%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值8, 然后将x 的值减1, 此时x=7。然后执行continue 语句结束本次循环,执行x--表达式,得x=6

第二次循环,x=6, for 循环条件为真,6%3=0, 则if 条件表达式为假,执行第二个输出语句,先将x 的值减1得x=5, 然后输出x 的值5, 执行x —表达式,得x=4。

第三次循环,x=4, for 循环条件为真,4%3=1,不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值4,然后将x 的值减1,此时x=3,然后执行continue 语句结束本次循环,执行x —表达式,得x=2。

第四次循环,x=2, for 循环条件为真,2%3=2, 不等于0, 则if 条件表达式为真,执行第一个输出语句,先输出x 的值2, 然后将x 的值减1,此时x=l, 执行X-表达式,得x=0, for 循环条件为假,循环结束。

4. 有以下程序:

程序的运行结果是( )。 A.a=l, b=0 B.a=2, b=2 C.a=l, b=l D.a=2, b=l

答:D

【解析】x=l,因此外层switch 语句是首先执行case1:后面的语句,进入内层的switch 语句;y=0,执行case0:后面的语句,得a=l,遇到break 语句后退出嵌入的switch 语句。由于外层switch 语句的easel :后面没有break 语句,因此继续执行case2:后面的语句,得a=2,b=l,遇到break 语句后退出第一个switch 语句。结果为a=2,b=l。

5. 有以下程序:

程序运行的结果是( )。 A.331 B.41 C.2 D.1 答:D

【解析】C 语言规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。本题中的else 语句与第二个if 语句配对。程序首先判断x>y不成立,直接退出if 语句,

执行

注意,x++是先输出,后做++运算,故首先输出x 的值1,然后将X 的值

加1。

6. 设有定义:doublex=2.12; ,以下不能完整输出变量x 值的语句是( )。

答:A

【解析】printf 函数控制字符财输出float 类型,%If 输出double 类型。格式控制%m.nf ,表示数据输出总的宽度为m 位,其中小数部分占n 位。当数据的小数位多于指定宽度n 时,截去右边多余的小数,并对截去的第一位小数做四舍五入处理;而当数据的小数位少于指定宽度n 时,在小数的右边补零;当m 小于有效位数时,整数部分输出所有有效数字并且自动对齐,小数部分按照n 指定位数输出。A 项按照float 格式输出数据,宽度为5位,保留小数0位,输出为2,不能完整输出X ,选择A 项。B 项按照float 格式输出数据,输出为2.120000。C 项按照double 格式 输出数据,输出为2.120000〇D 项按照float 格式输出数据,保留小数位数为5,输出为2.12000。