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

2016年西安电子科技大学计算机学院C语言复试笔试最后押题五套卷

  摘要

一、选择题

1. 设有宏定义

:用:IsDIV

A. 判断m 是否能被5或7整除 B. 判断m 是否能被5和7整除 C. 判断m 被5或7整除后是否余1 D. 判断m 被5和7整除后是否都余1 答:D 【解析】

要求一个选择表达式,当否则返回

7)同时为真时,整个表达式才为真。

2. 若有以下程序

则程序的输出结果是( )。 1, 2, 3, 4,13,14,15,16, 4, 8, 12, 16, 1, 5, 9, 13,

1,5, 9, 13,4, 8,12,16, 13, 14, 15, 16, 1, 2, 3, 4, 答:C

第 2 页,共 33 页

且变量m 已正确定义并赋值,则宏调

为真时所要表达的是( )。

都为真,即返回1,这是

为真时返回1,否则返回0,即当k 除以n 的余数为1是返回1,

是逻辑表达式,只有当IsDIV (m ,5)和IsDIV (m ,

【解析】fun 函数中使用三目运算符,flag 为1时,b[i]取值时,

取值

中较大者。所以,

的作用是,

的作用是,

3. 设有定义

:用错误的是( )。

A. .

B.

C.

D. 答:A

存储a 中第i 行的最大元素。

和中较小者;flag 为0

存储a 中第i 行的最小元素

若则对a 数组元素的引

【解析】长度为n 的数组其各个元素的下标应该是从0到n-1, 因此,长度为10的数组a , 第10个元素为而不是

4. 若有定义

A 项正确。

则以下与上述定义中a 类型完全相同的是( )。

答:A

【解析】“typedef 类型名新类型名”表示为一个已定义的类型标识符重新定义一个新类型名,题中选项A 代表的意思是数组指针,即指向数组的指针,B 选项是指针数组,即数组存放的元素是整型指针,首先为整型指针类型命名为T ,再通过T 定义了一个整型指针数组*a[20],等价于int*a[20],答案为A 选项。

5. 有以下程序

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

第 3 页,共 33 页

答:A

【解析】将结构体变量的地址作为实参传递,函数调用可以修改实参结构体中成员的值。函数f 的作用是,把p 指向的struct 中的数组a 的元素按照从小到大的方式排序。

6. 有以下程序:

程序的运行结果是( )。 A.3 B.5 C.6

D. 结果不确定 答:A

【解析】( )的优先级大于*,故先将1.99强制转化为1,即浮点数1.99被强制转换成1,执行语句a=(int )1.99*3;计算得a=lX3=3。

7. 以下选项中叙述错误的是( )。

A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

B. 在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 C.C 程序函数中定义的自动变量,系统自动赋确定的初值 D.C 程序函数的形参不可以说明为static 型变量 答:A

【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。即使退出函 数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不 释放这些存储单元,因此这些存 储单元中的值得以保留,因而可以继续使用存储单元中原来的值。

8. 以下语句的输出结果是( )。

A.5 B.8 C.14

D. 输出项不合法,无正常输出 答:A

第 4 页,共 33 页