问题 单项选择题

有以下程序
void f(int *x,int *y)
int t;
t=*x;*x=*y;*y=t;

main()
int a[8]=(1,2,3,4,5,6,7,8),i,*p,*q;
p=a,q=&a[7];
while(p
f(p,q); p++; q--;
for(i=0;i<8;i++)printf("%d,",a[i]);

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

A) 8,2,3,4,5,6,7,1,
B) 5,6,7,8,1,2,3,4,
C) 1,2,3,4,5,6,7,8, D) 8,7,6,5,4,3,2,1,

答案

参考答案:D

解析: 本题考查函数的传址调用。在C语言中,函数参数的默认传递方式是传值,函数内部的形参只是调用时实参的一个副本,形参改变后,实参不会变。另一种参数传递方式是传址,利用指针作为函数的参数,无论是形参指针还是实参指针,所指的都是同一个内存地址,所以如果形参改变了这个地址中的内容,实参所指的地址内容也会改变。本题程序中的函数f()就是利用传址的方式实现交换两个参数所指地址中的值。在主函数中,用p、q分别指向数组a的首和尾两个元素,然后在while循环中不断交换p、q所指的内容,每次交换后,p、q分别往后、往前移动一个元素,直到q不大于p,即两个指针在数组a的中间相遇。所以程序的运行结果是使a中的所有元素反序排列,选项D正确。

解答题

5月9日晚22时许,音乐人高晓松驾驶一辆英菲尼迪越野车在东直门十字坡附近连撞多辆车.经交警检测,他每百毫升血液中酒精含量为243.04毫克.10日下午16时20分,醉驾致四车连撞的高晓松已证实被拘捕,接受进一步审讯.自5月1日起《人民共和国刑法修正案(八)》将正式实施,醉酒驾驶将作为危险驾驶罪被追究驾驶人刑事责任.高晓松醉驾伤人,触犯刑律,成为中国第一个醉驾入刑的艺人

为什么要实施“禁酒令”?

小敏猜想:①______;  ②______;

③可能是饮酒后人的控制力减弱.

你的猜想,①可能是饮酒后人的情绪易激动; ②可能是饮酒后人的精力易分散.

为了验证猜想②,小敏对一些成年人进行了饮酒前后反应能力的测试,具体操作如下:

A.小敏要求被测试者用左手的食指指向自己右手食指的指尖

B.小敏发出指令开始,被测试者就迅速用左手的食指指向自己右手食指的指尖

C.被测试者重复上述实验3次,计算平均值填入表中.

参与人ABCDEFGHIJK
饮啤酒数/杯22446688101010杯以上
饮酒前20准确次数1919191819201918192019
饮酒后20次准确次数141297654322无法完成测试
(1)小敏对参与人饮酒前进行测试的目的是______.

(2)此表说明,饮酒后人的动作的______,也说明了饮酒后酒精麻醉的是人的______.

(3)如果你用拇指和食指快速夹住垂直落下的尺子时,尺子刻度值的大小可反应你的反应速度.右图为测定反应速度开始和结束手的位置,请你准确读取尺子上能够反映反应速度的刻度值(单位cm).______

A.1cm        B.3cm        C.4cm          D.5cm.

问答题