2016年安徽大学计算机科学与技术学院F53计算机专业综合(C程序设计、数据库原理)复试笔试最后押题五套卷
● 摘要
一、选择题
1. 设有定义:
则以下赋值语句中错误的是( )。 A.data2=datal; B.data2=(2,6); C.data2.real=datal.real; D.data2.real=datal.unreal; 答:B
【解析】B 项错误,对结构体进行初始化时,应该用花括号括起来的一组值,而不是用小括号。
2. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2, 4, B.1, 3, 4, C.1, 1, 3, D.1, 3, 4, 答:C
【解析】for 语句中把array 数组首地址值赋给ptr ,然后再循环体中进行输出,再把ptr 对应的地址值加1,重复三次,输出数组前三个数1,1,
3 有如.
程序运行后的输出结果是( )。
A.2.0
第 2 页,共 33 页
下程序
:
D.1 答:D
【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执,行过程为:调用函数sub (3.8,2.1. , 3.8—2.1=1.7(double 类型)(int )强制转换将1.7转换成int 类型1, 然后返回1并输出,故D 选项正确。
4. 设有定义:以下选项中,表达式值与其他三个不同的是( )。
答:A
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式值给b ,
再将b 赋给a ,
D 项,逻辑表达式
5. 设有定义:
成立,则
不成立,则
表达式值为0; B项,将C 赋成立,则
表达式值为1;
表达式值为1; C项,逻辑表达式
表达式值为1。A 项与其他项不同。
紧接着的赋值语句正确的是( )。
A. B. C. D. 答:A
【解析】指针赋值的正确写法:指针。
6. 有以下程序:
程序的运行结果是( )。 A.5
第 3 页,共 33 页
表示p 指向x 的存储单元;表示p 是空
D.3 答:A
【解析】malloc (size )函数的返回值是新分配的存储区的首地址,将该地址赋值给p 指针,然后取p 指针 的地址,调用fun 函数。fun 函数中对指向指针的指针s 指向的内存单元赋值,其中
表示二维数组x 的第二行的行地址,与
等价,A 项正确。
表示二维数组X 的第二行第二列的地址,所以
赋值给
为p ,所以
代表
fun 函数的功能是将二维数组X 的第二行第二列的值,即
7. 以下叙述错误的是( )。
A. 未经赋值的全局变量值不确定 B. 未经赋值的auto 变量值不确定 C. 未经赋值的register 变量值不确定 D. 未经赋值的静态局部变量值为0 答:A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
8. 有以下程序(其中k 的初值为八进制数):
程序运行后的输出结果是( )。 A.12 B.11 C.10 D.9 答:D
【解析】k 的初值是八进制数011,转换为十进制数就是9,在输出时自增运算符“++”是作为后缀出现的,因此是先输出9,然后k 的值再自增1。
9. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8; B. (a=b)=c=9; C.a=(b==c)=‘A ’; D.a+b=c+l; 答:A
第 4 页,共 33 页