2017年北京印刷学院信息工程学院信息与通信工程综合测试复试之C语言程序设计复试仿真模拟三套题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】main 函数先为
赋值,然后做运算
结果赋值给b , 此时b 为1,并将b 打印出
来。接着做运算结果为赋值给a , 将a 打印出来,所以最终的输出结果为
2. 设有如下程序段:
以下叙述正确的是( )。
A. 只有a ,b ,c 的定义是合法的 B.a , b ,c ,d 的定义都是合法的 C. 只有a , b 的定义是合法的 D. 只有c 的定义是合法的 【答案】C
【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,
c 定义不合法。定义字符d ,赋初值字符串“AB ”,这是不合法的定义,若要定义数组,必须要
有
下标运算符。可知,ab 定义合法,cd 定义不合法,C 项正确。
3. 以下叙述中正确的是( )。
A. 结构体数组名不能作为实参传给函数 B. 结构体变量的地址不能作为实参传给函数 C. 结构体中可以含有指向本结构体的指针成员 D. 即使是同类型的结构体变量,也不能进行整体赋值 【答案】C
【解析】C 项正确,结构体中的成员可以是各种类型的指针变量。当一个结构体中有一个或多个成员的基类型就是本结构体类型时,通常把这种结构体称为可以“引用自身的结构体”。AB 两项错误,结构体的数组名和结构体变量的地址作为实参时,都是传引用形式调用函数;D 项错误,同类型的结构体变量之间可以直接赋值, 实际操作是内存空间拷贝。
4. 有以下程序:
程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10
【答案】C
【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。
5. 有以下程序:
程序运行后的输出结果是( )。 A.0 B.10 C.30 D.64
【答案】D
【解析】静态局部变量只在定义它的函数内有效,程序仅分配一次内存,函数返回后,该变量不会消失,下 一次依据上一次的结果值。此题中第一次循环时,调用fim 函数后x 的值为2, s的值为2; 第二次循环时,调用 fun 函数后x 的值为4,s 的值为8; 第三次循环时,调用fun 函数后x 的值为8,s 的值为64。
6. 有以下程序:
程序运行的结果是( )。
【答案】D
【解析】在C 语言中,相同类型变量可以通过等号直接赋值,它会按照每个成员在结构体中的顺序一一对 应赋初值,可知,
7. 设
均为实型变量,代数式
在C 语言中的正确写法是( )。
相关内容
相关标签