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 页