问题 单项选择题

有以下程序: inta=2; int f(int n) {static int a=3; int t=0; if(n%2){static int a=4;t+=a++; } else{static int a=5; t+=a++; } return t+a++; } main() {int s=a,i; for(i=0;i<3;i++) s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是【 】。

A.26

B.28

C.29

D.24

答案

参考答案:C

解析:解本题耍弄清楚这样几点:1、定义"int a=2;"中的全局变量a,其作用范围是从定义此变量的位置开始到本源文件结束;2、"static int a=3;"中的静态局部变量a的作用范围是其所在的函数f,并对其只赋一次初值,以后每次调用函数时不再重新赋初值,而只是保留上次函数调用结束时的值;3、复合语句"{static int a=4;t+=a++; }"和"{static int a=5;t+=a++;}"中定义的两个变量a属于复合语句中定义的变量,作用范围只在其本身所在的复合语句内。对于本程序来讲,第三行定义的静态局部变量并不会对四、五两行的复合语句产生作用,这是因为复合语句中也定义了与其同名的静态局部变量。

单项选择题 A3/A4型题
材料分析题

阅读材料,回答问题。

材料一:

    罗布泊,曾是我国第二大咸水湖,它位于新疆塔克拉玛干沙漠的东部,西起塔里木河下游,东至河西走廊,南邻阿尔金山,北到库鲁克山。历史上,罗布泊最大面积为5350平方千米。近30多年,塔里木河两岸人口激增,水的需求也跟着增加。塔里木河水被大量抽取,引发罗布泊消失。

材料二:

    11月5日,在乌鲁木齐召开的“陆海统筹海水西调高峰论坛”上,来自全国各地的专家为推动这项工程出谋划策。为本次峰会作总结演讲的中国高科技产业化研究会海洋分会秘书长、高级工程师张宝印表示“海水是取之不尽用之不竭的。渤海距浑善达克沙地只有400多千米,地理位置非常接近。”据悉,浑善达克沙地是对北京气候构成严重危害的最近沙漠之一。渤海湾有黄河、海河、滦河、辽河等大陆河流注入,含盐量相对较低,得天独厚的地理条件让渤海成为不二选择。

材料三:

    从渤海西北海岸提送海水达到海拔1200米高度,到内蒙古自治区东南部,再顺北纬42度线东西方向的洼槽地表,流经燕山、阴山以北,出狼山向西进入居延海,绕过马鬃山余脉进入新疆。如图所示:

请根据上述图文材料回答下列问题。

(1)分析图示线路经过我国的主要地形区及沿线自然带分异的原因。

___________________________________________________________________________________________

(2)根据材料分析,导致罗布泊消失的人为活动具体包括哪些?

___________________________________________________________________________________________

(3)海水西调工程提出以来,引发社会对此的强烈关注,有人支持,但也有人抱有怀疑和忧虑,你是否支持这项工程?清说出自己的理由。(至少2点)

___________________________________________________________________________________________