问题 综合题

阅读下列材料

材料一:曾国藩说“今日和议既成,中外贸易有无交通,购买外洋器物,尤属名正言顺。购成之后,访募罩思之士,智巧之匠,始而演习,继而试造,不过一二年,火轮船必为中外官民通行之物,可以剿发捻,可以勤远略。”

材料二:中国文武制度,事事远出西人之上,独火器万不能及。

──引自《李文忠公全书》

材料三:中国欲自强,则莫如学习外国利器。欲学习外国利器,则莫如觅制器之器……。

──引自《筹办夷务始末》

回答:

(1)以上材料是清政府中哪一派的主张?

(2)材料一提出的学习西方先进技术的具体方法是什么?其目的是什么?

(3)材料二作者的观点是否正确?简述你的理由。

(4)材料二与材料三观点上的相同之处是什么?

答案

(1)洋务派的主张,出现在19世纪60年代,太平天国运动时期。

(2)先购买,再仿造。使清政府摆脱内忧外患,维护清朝统治。

(3)不正确,看不到封建制度的落后。

(4)都主张购买外国武器,引进西方先进技术是自强的途径。

该题主要考查洋务派的观点和目的。分析其目的要立足于其阶级属性

单项选择题
问答题

已知C源程序如下:
/*A simple mailing list example using an array of structures. */
# include<stdion.h>
# include<stdlib.h>
define MAX 4
struct addr
char name[30];
char street[40];
char city[20];
unsigned long int zip;
addr_list[MAX];
void init_list(void),enter(void);
void deleteAddr(void),list(void);
int menu_select(void),find_free(void);
int main(void)

char choice;
init_list();/*initialize the structure array*/
for(;;)
choice=menu_select();
switch(choice)
case 1:enter();
break;
case 2:deleteAddr();
break;
case 3:list();
break;
case 4:exit(0);


return 0;

/*Initialize the list.*/
void initlist(void)

register int t;
for(t=0;t<MAX; ++t)addr_list[t], name[0]=\0;

/*Get a menu selection. */
int menu_select(void)
char s[80. ;
int c;
printf("1.Enter a name\n");
printf("2.Delete a name\n");
printf("3.List the file\n");
printf ("4.Quit\")
do
printf("\nEnter your choice:");
gets(s);
c= atoi(s);
while(c<1 || c>4);
return c;

/*Input addresses into the list. */
void enter(void)

int slot;
char s[80];
slot=find_free();
if(slot==-1)
printf("\nList Full");
return;

printf("Enter name:");
gets(addr_list[slot].name);
printf("Enter street:");
gets(addr_list[slot].street);
printf("Enter city:");
gets(addr list[slot].city);
printf("Enter zip:");
gets(s);
addr_list[slot].zip=strtoul(s,\0,10);

/*Find an unused structure. */
int find_free(void)

register int t;
for(t=0; addr_list[t]. name[0]&&t<MAX; ++t);
if(t==MAX)return-1; /*no slots free*/
return t;

/*Delete an address. */
void deleteAddr(void)

register int slot;
char s[80];
printf("enter record#: ");
gets(s);
slot=atoi(s);
if(slot>=0 && slot<MAX)
addr_list[slot]. name[0]=\0;

/*Display the list on the screen. */
void list(void)

register int t;
for(t=0; t<MAX; ++t)
if(addr_list[t]. name[0])
printf("%s\n", addr_list[t]. name);
printf("%s\n", addr_list[t]. street);
printf("%s\n",addr_list[t]. city);
printf("%lu\n\n", addr_list[t]. zip);


printf("\n\n");

画出main函数的控制流程图;