2010年全国计算机等级考试专家预测试卷(一)二级公共基础知识和C语言程序设计(十)

时间:2011-03-11 22:12:25

微信搜索关注"91考试网"公众号,领30元,获取事业编教师公务员等考试资料40G
条件,--x=5,则!(一一x)为零,循环条件不成立,结束循环。

----------------------------------------

12、 若有下列定义,则对a数组元素地址的正确引用是( )。int a[5],*p=a;

A.p+5

B.*a+1

C.&a+1

D.&a[0]

参考答案: D

本题考查数组元素的地址的引用A中,p+5 引用的是a[5]的地址,而数组a只有5个元素,即a[O]、a[1]、a[2]、a[3]、a[4],所以引用错误(注:数组元素下标从O开始);B中,*a+1指的是将数组a的第一个元素加1;选项c中,不存在,这种引用方式,D中,&a[O]引用的是数组的首地址。

----------------------------------------

13、 执行语句printf("%u\n",+12345)的输出结果是( )。

A.12345

B.0

C.-1

D.非定值

参考答案: A

“%u”表示输出无符号的整数(如果输出值前有符号,将自动转化为相应的无符号数输出)。

----------------------------------------

14、 定义下列结构体(联合)数组:struct st{ char name[15];int age;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};执行语句printf("%d,%c",a[2].age,*(a[3].name+2))的输出结果为().

A.15,A

B.16,H

C.16,A

D.17,H

参考答案: C

本题考查结构体数组。a[2].age为结构体a[2]的age成员,即a[3].name-为指向结构体a[3]的name成员的第一个元素的指针,即指向“z”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3].name+2))是取指针所指向地址的内容。

----------------------------------------

15、 下列程序的输出结果是( )。#includeint fun(int x){ int p;if(x==0|| x==1)return 3;elsep=x-fun(x-2);return p;)void main()

A.略

B.略

C.略

D.略

参考答案: A

本题考查函数的递归调用。函数在调用时,fun(5):a=5一fun(3)一>fun3:a=3一fun(1)一>fun(1):a=3,相反fun(3):a=3-3=O一>fun(5):a=5一0=5。结果为5。

----------------------------------------

16、下列程序的输出结果是( )。point(char*pt);main(){char b[4]={''a'',''c'',''s'',''f''},*pt=b;pt=point(pt);printf("%c\n",*pt);}point(char*p){ p+=3;return p;)。}

A.s

B.e

C.f

D.a

参考答案: C

本题考查函数的调用及参数传递,当执行函数point时,刚开始指针p指向“a”,经过+3,指针p指向“f”,所以最后的输出结果是f。

----------------------------------------

17、 下列选项中不会引起二义性的宏定义是( )。

A.#define S(x)x*x

B.#define S(x)(x)*(x)

C.#define S(x)(x*x)

D.#define S(x)((x)*(x))

参考答案: D

本题考查参数的宏的替换。避免二义性有些参数表达式必须括号,

首页 上页 9 10 下页 尾页 10/10/10
微信搜索关注"91考试网"公众号,领30元,获取公务员事业编教师考试资料40G
【省市县地区导航】【考试题库导航】

电脑版  |  手机版  |  返回顶部