问题 填空题

下列给定函数中,函数fun()的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出是1 0 2 2 0。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
/*************found**************/
fun(char *s, int num[5])
int k, i=5;
for(k=0;k<i;k++)
/*************found**************/
num [i]=0;
for(;*s;s++)
i=-l;
/*************found**************/
switch(s)
case ’a’: case ’A’:i=0;break;
case ’e’: case ’E’:i=1;break;
case ’i’: case ’I’:i=2;break;
case ’o’: case ’O’:i=3;break;
case ’u’: case ’U’:i=4;break;

if(i>=0)
num[i]++;


main ( )
char s1[81]; int num1[5], i;
clrscr ();
printf("\nPlease enter a string: ");
gets (s1);
fun(s1, num1);
for(i=0;i<5;i++) printf("%d",num1[i]);
printf ("\n");

答案

参考答案:错误: fun(char *s, int num[E]) 正确: void fun(char *s, int num[E])
(B) 错误: num[i]=0; 正确: num[k]=0;
(C) 错误: switch(s) 正确: switch(*s)

解析: switch语句说明:
(1)switch后的表达式,可以是整型或字符型,也可以是枚举类型的。在新的ANSIC标准中允许表达式的类型为任何类型。
(2)每个case后的常量表达式只能是常量组成的表达式,当switch后的表达式的值与某一个常量表达式的值一致时,程序就转到此case后的语句开始执行。如果没有一个常量表达式的值与swish后的值一致,就执行default后的语句。
(3)各个case后的常量表达式的值必须互不相同,不然的话程序就不知该跳到何处开始执行。
(4)各个case的次序不影响执行结果,一般情况下,尽量使用出现机率大的case放在前面(为什么,等学到《数据结构》就知道了)。
(5)在执行完一个case后面的语句后,程序流程转到下一个case后的语句开始执行。千万不要理解成行完一个case后程序就转到switch后的语句去执行了。
在本例中,其他错误都比较简单,而且我们在前面已经介绍过了。

论述题

(60分)作为中国重要边陲的西南地区近几年自然灾害频繁,给当地人民的社会经济生活带来了深远的影响。读图文资料,回答下列问题。

材料一  2010年8月12日至20日,四川省部分地区降大到暴雨。期间共发生较大规模的地质灾害75处(其中滑坡30处,崩塌6处,泥石流39处),绵竹市的清平乡、映秀县和都江堰龙池镇受灾尤为严重。造成大量人员伤亡和财产损失。

材料二 川蜀自古多名士,汶川就是传说中的大禹的故里。但在汶川地震中,川蜀大地上诸多沉积千年的人文历史古迹遭遇了一场大劫难,许多名胜古迹伤痕累累......截止2010年5月19日,四川省128处全国重点文物保护单位有65处受到不同程度的损伤,另有119处省级文物保护单位遭受损伤。四川省文物局副局长赵川荣在接受《南方日报》记者采访时说:“这是建国后对文物造成损失最大的一次天灾。”国家文物局局长单霁翔表示,除了修复文物建筑,国家文物局将会“有目的地保存一些地震后的古迹遗址”。

材料三云南2010年遭遇百年一遇的全省性特大旱灾,预计全省春季作物将因灾减产50%以上,甘蔗减产20%以上。灾区人们在积极组织自救,打井寻找水源,用新的科学栽种方式育苗,以便气候条件具备时随时移栽等。

(1)运用认识论知识,谈谈如何看待农业生产中人的主观能动性的发挥与气候变化的关系(10分)

(2)百年大旱所带来的,不仅仅是经济影响,也有民生问题;抗旱救灾,不仅仅是国家政府所为,企业和每个公民都应当有所作为。请分析上述观点体现的经济道理(10分)

单项选择题 A1型题