当前位置:文档之家› C语言版(习题案例库)

C语言版(习题案例库)

C语言版(习题案例库)
C语言版(习题案例库)

数据结构(含实训)——C 语言版

一、填空题

1. 在双链表中要删除已知结点*s ,其时间复杂度为 O(1) 。

2. 循环队列用数组data[max]存放其元素值,已知其头、尾指针分别是front 和rear ,则当

前队列中元素的个数是 (m+rear-front)%m 。 3. 具有12个结点的完全二叉树的叶结点有 6 个。 4. 在任何一棵二叉树中,度为0的结点n0和度为2的结点n2之间的关系是 n0=n2+1 。 5. 已知完全二叉树的第4层有4个结点,则其叶子结点数是 6 。

6. 在仅有尾指针rear 指示的单循环链表rear 中,在表尾插入一个结点s 的语句序列是

s->next=rear->next;rear->next=s 。

7. 栈顶的位置是随着 入栈出栈 操作而变化的。 8. 数据结构一般包括三个方面的内容:数据的逻辑结构、数据的存储结构及对数据的运算。 9. 假设以S 和X 分别表示进栈和出栈操作,则对输入序列1,2,3,4,5进行一系列栈

操作SSXSXSSXXX 之后,得到的输出序列为 bceda 。 10. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机

的。

11. 在带头结点的双链表head 中,指针p 所指结点是开始结点的条件是p->prior==head 。 12. 在选择排序、堆排序、快速排序、直接插入排序中,稳定的排序方法是直接插入排序。 13. 在具有n 个结点的双链表中做插入、删除运算,平均时间复杂度为O(n)。 14. 队列的队尾位置随着入队而变化。

15. 快速排序在最坏情况下的时间复杂度是O(n 2)。

16. n ( n > 0 )个顶点连通无向图的生成树恰有n-1条边。

17. 在一个长度为n 的顺序表中第i 个元素(1 ≤ i ≤ n+1)之前插入一个元素时,需向

后移动n-i+1个元素。

18. 在只有一个数据元素的情况下,链队列的出队操作需要修改尾指针。

19. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内

容,分别是数据的逻辑结构、数据的物理结构和数据的运算。

20. 在双循环链表中,若要在指针p 所指结点之前插入指针s 所指的结点,则需执行下列语

句:s->prior=p->prior;p->prior->next=s;s->next=p;和p->prior=s;。

21. 从栈顶指针为top 的链栈中删除一个结点,并将被删除的结点的值保存在x 中,其操作

步骤为x=top->data ;top=top->next;。

22. 用数组A[m]来存放循环队列q 的元素,且它的头、尾指针分别为front 和rear ,队列满

足条件(q->rear+1)%m==q->front,则队列中当前的元素个数为m-1。 23. 深度为6的二叉树最多有63个结点。

24. 右图为某树的静态双亲表示,则结点D 、E 的双亲结点分别为 B

和 C 。

25. 已知指针p 指向双向链表中的一个结点(非首结点、非尾结点),则将结点s 插入在p 结点的直接后继位置的语句是s->next=p->next ;s->prior=p ;s->next->prior=s ;p->next=s ;

26. 一个二叉树中,度为2的结点有3个,则叶结点有4个。

27. 顺序栈s 存储在数组s->data[max]中,对s 进行出栈操作,执行的语句序列是

x=s->data[s->top];s->top--;。

1 2 3 4

28.以下运算实现在循环队列中的初始化操作

void initqueue(seqqueue *q){q->front=0;q->rear=0;}

29.若二叉树的一个叶子是某子树的中序遍历序列中的第一个结点,则它必是该子树的后根

遍历序列中的第一个结点。

30.对于二叉排序树的查找,若根结点元素的键值大于被查找元素的键值,则应该在该二叉

树的左子树上继续查找。

31.数据的逻辑结构与数据元素本身的内容和形式无关。

32.程序段“for(i=1;i<=n;i++) {k++; for(j=1;j<=n;j++) x=x+k;}”的时间复杂度T(n)=O(n2)。

33.已知带表头结点的单链表L,指针p指向L链表中的一个结点(非首结点、非尾结点),

则:删除结点p的直接后继结点的语句是p->next=p->next->next;删除首结点的语句是L=L->next。

34.二叉树通常有顺序存储结构和链式存储结构两种。

35.二叉树在二叉链表表示方式下,p指向二叉树的根结点,经运算s=p;while(s->rchild)

s=s->rchild后,s指针指向右子树最右结点。

36.对于n个记录的集合进行冒泡排序,其最坏情况下所需的时间复杂度是O(n2)。

二、选择题

1.下列算法的时间复杂度是(B )。

for(i=1;i<=n;i+ +)

c[i]=i;

A、O(1)

B、O(n)

C、O(log2n)

D、O(nlog2n)

2.在表长为n的顺序表上做插入运算,平均要移动的结点数为(B )。

A、n

B、n/2

C、n/3

D、n/4

3.在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行

( A )。

A、S->next=P->next;P->next=S;

B、P->next=S->next;S->next=P;

C、P->next=P;P->next=S;

D、P->next=S;S->next=P;

4.在具有m个结点的完全二叉树中,结点i(i>1)的父结点是( D )。

A、2i

B、不存在

C、2i+1

D、? i/2?

5.在一个具有k个结点的无向图中,要连通全部结点至少需要(C )。

A、k条边

B、k+1条边

C、k-1条边

D、k/2条边

6.最小生成树指的是( C )。

A、由连通图所得到的边数最少的生成树

B、由连通图所得到的顶点相对较少的生成树

C、连通图的所有生成树中权值之和最小的生成树

D、连通图的极小连通子图

7.二叉排序树中,关键字值最大的结点(D )。

A、左指针一定为空

B、右指针一定为空

C、左、右指针均为空

D、左、右指针均不为空

8.数据在计算机存储器内表示时,根据结点的关键字直接计算出该结点的存储地址,这种

方法称为(D )。

A、索引存储方法

B、顺序存储方法

C、链式存储方法

D、散列存储方法

9.在已知头指针的单链表中,要在其尾部插入一新结点,其算法的时间复杂度为(C )。

A、O(1)

B、O(log2n)

C、O(n)

D、O(n2)

10.循环队列是空队列的条件是(A )。

A、Q - > rear = = Q - > front

B、(Q - > rear + 1)%maxsize = = Q - > front

C、Q - > rear = = 0

D、Q - > front = = 0

11.有n个叶结点的哈夫曼树所具有的结点数为(D )。

A、n

B、n+1

C、2n

D、2n - 1

12.图的广度优先搜索遍历类似于树的( D )。

A、先序遍历

B、中序遍历

C、后序遍历

D、层次遍历

13.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的( B )。

A、1/2倍

B、1倍

C、2倍

D、4倍

14.对n个不同的排序码进行冒泡排序,在元素无序情况下的比较次数为(D )。

A、n + 1

B、n

C、n - 1

D、n(n - 1)/2

15.顺序查找法适合于存储结构为(B )的线性表。

A、散列存储

B、顺序存储或链接存储

C、压缩存储

D、索引存储

16.链栈与顺序栈相比,比较明显的优点是( D )。

A、插入操作更加方便

B、删除操作更加方便

C、不会出现下溢的情况

D、不会出现上溢的情况

17.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为(C )。

A、顺序表

B、用头指针表示的单循环链表

C、用尾指针表示的单循环链表

D、单链表

18.下列陈述中正确的是(D )。

A、二叉树是度为2的有序树

B、二叉树中结点只有一个孩子时无左右之分

C、二叉树中必有度为2的结点

D、二叉树中最多只有两棵子树,并且有左右之分

19.在查找过程中,若同时还要做增、删工作,这种查找则称为( B )。

A、静态查找

B、动态查找

C、内查找

D、外查找

20.线性表是(A )。

A、一个有限序列,可以为空

B、一个有限序列,不能为空

C、一个无限序列,可以为空

D、一个无限序列,不能为空

21.在n个结点的双链表的某个结点前插入一个结点的时间复杂度是( B )。

A、O(n)

B、O(1)

C、O(log2n)

D、O(n2)

22.若一个栈的输入序列是1,2,3,……,m,输出序列的第一个元素是m,则第i个输

出元素是(B )。

A、m - i

B、m – i + 1

C、i

D、不确定

23.以二叉链表作为二叉树的存储结构,在具有m个结点的二叉链表中(m>0),空链域的个

数为( C )。

A、2m - 1

B、m - 1

C、m + 1

D、2m + 1

24.快速排序算法在最坏情况下的时间复杂度为(C )。

A、O(n)

B、O(n log2n)

C、O(n2)

D、O(log2n)

25.具有m个结点的无向图的边数最多为(B )。

A、m+1

B、m(m-1)/2

C、m(m+1)

D、2m(m+1)

26. 线性表采用链式存储时,结点的地址( C )。

A、必须是连续的

B、必须是不连续的

C、连续与否均可

D、必须有相等的间隔

27. 栈与一般线性表的区别主要在(D )。

A、元素个数

B、元素类型

C、逻辑结构

D、插入、删除元素的位置

28. 从未排序序列中挑选元素,将其放在已排序序列的一端,这种排序方法称为(A )。

A、选择排序

B、插入排序

C、快速排序

D、冒泡排序

29. 若m个顶点的无向图采用邻接矩阵存储方法,该邻接矩阵是一个( B )。

A、一般矩阵

B、对称矩阵

C、对角矩阵

D、稀疏矩阵

30. 将一棵有100个结点的完全二叉树从上到下,从左到右依次对结点进行编号,根结点

的编号为1,则编号为49的结点的左孩子编号为( B )。

A、99

B、98

C、48

D、50

31. 堆排序是一种(B)排序。

A、插入

B、选择

C、交换

D、归并

32. 在单链表中,增加头结点的目的是( C )。

A、使单链表至少有一结点

B、标志表中首结点位置

C、方便运算的实现

D、说明单链表是线性表的链式存储实现

33. 下列排序方法中,排序趟数与序列的原始状态有关的方法是(D )。

A、选择排序

B、希尔排序

C、堆排序

D、冒泡排序

34. 堆的形状是一棵( C )。

A、二叉排序树

B、满二叉树

C、完全二叉树

D、平衡二叉树

35. 在一棵具有5层的满二叉树中,结点总数为( A )。

A、31

B、32

C、33

D、16

36. 带头结点的单链表head为空的判定条件是( B )。

A、head = NULL;

B、head - > next = NULL;

C、head - > next = head;

D、head ! = NULL;

37. 一个链栈的栈顶指针是top,则执行出栈操作时(栈非空),用x保存被删除结点的值,

则执行( D )。

A、x = top;top = top - > next;

B、x = top - > data;

C、top = top - > next;x = top - > data;

D、x = top - > data;top = top - > next;

38. 在一个具有m个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度为

( B )。

A、O(1)

B、O(m)

C、O(m2)

D、O(log2m)

39. 对线性表进行二分查找时,要求线性表必须(B )。

A、以顺序方式存储

B、以顺序方式存储且元素有序

C、以链接方式存储

D、以链接方式存储且元素有序

40. 在一棵二叉树中,第5层上的结点数最多为( C )。

A、8

B、15

C、16

D、32

41. 在下列排序方法中,不稳定的排序方法是( B )。

A、直接插入排序

B、直接选择排序

C、冒泡排序

D、归并排序

42. 快速排序在( C )情况下最易发挥其长处。

A、被排序的数据中含有多个相同排序码

B、被排序的数据已基本有序

C、被排序的数据完全无序

D、被排序的数据中的最大值和最小值相差悬殊

43. 若用冒泡排序对关键字序列{18,16,14,12,10,8}进行从小到大的排序,所需进

行的关键字比较总次数是( B )。

A、10

B、15

C、21

D、34

44. 下列有关线性表的叙述中,正确的是(A )。

A、线性表中的元素之间是线性关系

B、线性表中至少有一个元素

C、线性表中任何一个元素有且仅有一个直接前趋

D、线性表中任何一个元素有且仅有一个直接后继

45. 用冒泡排序的方法对n个数据进行排序,第一趟共比较( C )对元素。

A、1

B、2

C、n-1

D、n

46. 由二叉树的(B)遍历,可以惟一确定一棵二叉树。

A、前序和后序

B、前序和中序

C、后序

D、中序

47. 用(B)方法遍历一棵二叉排序树,可以得到各结点键值的递增序列。

A、先根遍历

B、中根遍历

C、层次遍历

D、后根遍历

48. 对于一个栈,给定输入序列为1,2,3,则下列不可能为输出序列的是( C )。

A、1,2,3

B、3,2,1

C、3,1,2

D、2,1,3

49. 在单链表中,存储每个结点需要有两个域,一个是数据域,另一个是指针域,它指向

该结点的(B )。

A、直接前趋

B、直接后继

C、开始结点

D、终端结点

50. 在链接队列中执行入队操作(D )。

A、需判别队列是否为空

B、需判别队列是否为满

C、限制在链表头p进行

D、限制在链表尾p进行

51. 以下哪一个术语与数据的存储结构无关?( D )。

A、顺序表

B、链表

C、散列表

D、队列

52. 将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( A )。

A、n

B、2n-1

C、2n

D、n-1

53. 链表不具有的特点是(A )。

A、随机访问

B、不必事先估计存储空间

C、插入删除时不需移动元素

D、所需的空间与线性表成正比

54. 以下不属于栈的基本运算是(B )。

A、删除栈顶元素

B、删除栈底元素

C、判断栈是否为空

D、将栈置为空栈

55. 一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是( C )。

A、e,d,c,b,a

B、d,e,c,b,a

C、d,c,e,a,b

D、a,b,c,d,e

56. 设计一个判别表达式中左、右括号是否配对出现的算法,采用( B )数据结构最佳。

A、线性表的顺序存储结构

B、栈

C、队列

D、线性表的链式存储结构

57. 循环队列的特点之一是不会产生( D )。

A、上溢出

B、下溢出

C、队满

D、假溢出

58. 设数组Data[n]作为循环队列Q的存储空间,front为队头指针,rear为队尾指针,则执

行入队操作的语句为(C )。

A、Q->rear=(Q->rear+1)%(n+1)

B、Q->front=(Q->front+1)% n

C、Q->rear=(Q->rear+1)% n

D、Q->front=(Q->front+1)%(n+1)

59. 在一个单链表中,已知q所指结点是p所指结点的直接前趋,若在p,q之间插入s结

点,则执行的操作是( B )。

A 、s->next=p->next;p->next=s;

B 、q->next=s;s->next=p;

C 、p->next=s->next;s->next=p;

D 、p->next=s;s->next=q;

60. 在具有n 个结点的完全二叉树中,结点i (2i

A 、2i

B 、不存在

C 、2i+1

D 、2i-1

61. 已知一棵二叉树的先序遍历序列为EFHIGJK ,中序遍历序列为HFIEJGK ,则该二叉树

根的右子树的根是( C )。

A 、E

B 、 F

C 、 G

D 、 J 62. 由4个结点构造出的不同的二叉树个数共有( D )。

A 、8

B 、 10

C 、12

D 、14 63. 在完全二叉树中,如果一个结点是叶子结点,则它没有( C )。

A 、左孩子结点

B 、右孩子结点

C 、左、右孩子结点

D 、左、右孩子结点和兄弟结点 64. 拓扑排序是对( B )进行的。

A 、无向图

B 、有向图

C 、任意图

D 、有向图和无向图 65. 记录的关键字序列为(7,6,8,4,3,5),采用快速排序以第一个记录为基准得到的

第一次划分结果是( D )。 A 、(5,3,6,4,7,8) B 、(3,5,6,4,7,8) C 、(6,4,3,5,7,8) D 、(5,6,3,4,7,8) 66. 稳定的排序方法是( B )。

A 、直接插入排序和快速排序

B 、直接插入排序和冒泡排序

C 、简单选择排序和直接插入排序

D 、堆排序和归并排序

67. 用冒泡排序的方法对n 个数据进行排序,第一趟共比较( C )对元素。

A 、1

B 、2

C 、n-1

D 、n

68. 下面哪一种图的邻接矩阵肯定是对称矩阵( B )。

A 、有向图

B 、 无向图

C 、 AOV 网

D 、 AO

E 网 69. 设有向图G 有 n 个顶点,它的邻接矩阵为A ,G 中第i 个顶点Vi 的度为( C )。

70. 使用折半查找,线性表必须( D )。

A 、以顺序方式存储

B 、以链式方式存储,且元素已按值排好序

C 、以链式方式存储

D 、以顺序方式存储,且元素已按值排好序

71. 散列表的地址区间为0~16,散列函数为H1(K )=K%17,采用线性探测法解决冲突,

将关键字序列26,25,72,38,1,18,59依次存储到散列表中。元素59存放在散列表中的地址为( C )。

A 、8

B 、9

C 、10

D 、11

72. 对以下几个关键字序列进行快速排序,以第一个元素为轴,一次划分效果不好的是( D )。

A 、4,1,2,3,6,5,7

B 、4,3,1,7,6,5,2

C 、4,2,1,3,6,7,5

D 、1,2,3,4,5,6,7

=n j i j A 1],[A 、

=n j j i A 1],[B 、 ∑

=n j i j A 1

],[2D 、 ∑

=+n

j i j A j i A 1

]),[],[(C 、

73. 若待排序序列已基本有序,要使它完全有序,从关键字比较次数和移动次数考虑,应

当使用的排序方法是( A )。

A、直接插入排序

B、快速排序

C、直接选择排序

D、归并排序

74. 以下关于数据的逻辑结构的叙述正确的是(A )。

A、数据的逻辑结构是数据间关系的描述

B、数据的逻辑结构反映了数据在计算机中的存储方式

C、数据的逻辑结构分为顺序结构和链式结构

D、数据的逻辑结构分为静态结构和动态结构

75. 算法在发生非法操作时可以做出处理的特性称为(C )。

A、正确性

B、易读性

C、健壮性

D、高效性

76. 链表具有的特点是( C )。

A、可随机访问任一元素

B、插入、删除需要移动元素

C、不必事先估计存储空间

D、存储空间是静态分配的

77. 栈是限定在( C )处进行插入或删除操作的线性表。

A、端点

B、栈底

C、栈顶

D、中间

78. 容量是10的循环队列的队头位置q->front为2,则队列的第一个数据元素的位置是

( B )。

A、2

B、3

C、1

D、0

79. 循环队列的出队操作是(A )。

A、q->front=(q->front+1)%maxsize;

B、q->front=q->front+1;

C、q->rear=(q->rear+1)%maxsize;

D、q->rear=q->rear+1;

80. 一个顺序表一旦说明,其中可用空间大小( A )。

A、已固定

B、可以改变

C、不能固定

D、动态变化

81. 深度为6的二叉树最多有(B )个结点。

A、64

B、63

C、32

D、31

82. 二叉树使用二叉链表存储,若p指针指向二叉树的一个结点,当p->lchild=NULL时,

则( A )。

A、p结点左儿子为空

B、p结点有右儿子

C、p结点右儿子为空

D、p结点有左儿子

83. 有n个顶点的无向图的邻接矩阵是用(A )数组存储。

A、n行n列

B、一维

C、任意行n列

D、n行任意列

84. 最小生成树的构造可使用( A )。

A、prim算法

B、冒泡算法

C、迪杰斯特拉算法

D、哈夫曼算法

85. 索引顺序表的特点是顺序表中的数据( C )。

A、有序

B、无序

C、块间有序

D、散列

86. 设有序表的关键字序列为{1,4,6,10,18,35,42,53,67,71,78,84,92,99},

当用二分查找法查找键值为84的结点时,经( C )次比较后查找成功。

A、2

B、3

C、4

D、12

87. 与其他查找方法相比,散列查找法的特点是( C )。

A、通过关键字比较进行查找

B、通过关键字计算记录存储地址,并进行地址的比较。

C、通过关键字计算记录存储地址,并进行一定的比较查找

D、通过关键字比较进行查找,并计算记录存储地址

88. 以下稳定的排序方法是( B )。

A、快速排序

B、冒泡排序

C、直接选择排序

D、堆排序

89. 当循环队列q是满队列时,存放队列元素的数组data有n个元素,则data中存放( B )

个数据元素。

A、n

B、n-1

C、n-2

D、0

90. 将含100个结点的完全二叉树从根这一层开始,按从上到下、从左到右依次对结点编

号,根结点的编号为1,则编号为50的结点X的双亲的编号为( A )。

A、25

B、48

C、100

D、无法确定

91. 逻辑结构是指数据元素的( A )。

A、关联方式

B、存储方式

C、结构

D、数据项

92. 研究数据结构就是研究( D )。

A、数据的逻辑结构

B、数据的存储结构

C、数据的逻辑结构和存储结构

D、数据的逻辑结构、存储结构及其数据的运算

93. 若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用

( A )存储方式最节省时间。

A、顺序表

B、单链表

C、双向链表

D、单循环链表

94. 两个指针P和Q,分别指向单链表的两个元素,P所指元素是Q所指元素的前驱的条

件是( A )。

A、P->next==Q

B、Q->next==P

C、P==Q

D、P->next==Q->next

95. 在一个链队列中,若f,r分别为队首、队尾指针,则插入s所指结点的操作为(B )。

A、f->next=s;f=s

B、r->next=s;r=s;

C、s->next=r;r=s;

D、s->next=f;f=s

96. 循环队列的入队操作应为( C )。

A、q->rear=q->rear+1;q->data[q->rear]=x;

B、q->data[q->rear++]=x;

C、q->rear=(q->rear+1)%maxsize;q->data[q->rear]=x;

D、q->data[q->rear]=x;q->rear=(q->rear+1)%maxsize;

97. 三个结点可以构成( D )种不同形状的二叉树。

A、1B、2 C、3 D、5

98. 若由树转化得到的二叉树是非空的二叉树,则二叉树形状是( A )。

A、根结点无右子树的二叉树

B、根结点无左子树的二叉树

C、根结点可能有左子树和右子树

D、各结点只有一个儿子的二叉树

99. 哈夫曼树是访问叶结点的带权路径长度( A )的二叉树。

A、最短

B、最长

C、可变

D、不定

100. 静态查找表与动态查找表两者的根本差别在于( C )。

A、逻辑结构不同

B、存储实现不同

C、施加的操作不同

D、数据元素的类型不同

101. 索引顺序表中包含( C )。

A、顺序表

B、索引表

C、顺序表和索引表

D、索引

102. 在散列函数H(k)=k % m中,一般来讲,m应取( C )。

A、奇数

B、偶数

C、素数

D、充分大的数

103. 一个记录的关键字为(46,79,56,38,40,84),采用快速排序以第一个记录为基准得到的第一次划分结果是( C )。

A、(40,46,56,38,79,84)

B、(40,38,46,79,56,84)

C、(40,38,46,56,79,84)

D、(84,40,38,46,56,79)

三、判断题

1.顺序存储方式优点是存储密度大,且插入和删除运算效率高。(×)

2.完全二叉树中,若一个结点没有左孩子,则它必须是叶子。(√)

3.循环队列中无上溢现象。(√)

4.在有序的顺序表和有序的链表上,均可以使用折半查找法来提高查找速度。(×)

5.对于n个记录的集合进行冒泡排序,所需要的平均时间是O(n)。(×)

6.顺序存储的线性表可以随机存取。(√)

7.线性表采用顺序存储,必须占用一片连续的存储单元。(√)

8.有回路的图不能进行拓扑排序。(√)

9.由二叉树结点的先根序列和后根序列可以唯一地确定一棵二叉树。(×)

10.顺序存储结构属于静态存储结构,链式存储结构属于动态存储结构。(√)

11.线性表的链式存储,表中元素的逻辑顺序与物理顺序一定相同。(×)

12.连通分量是无向图中的极小连通子图。(×)

13.循环队列只有下溢,没有上溢。(×)

14.强连通分量是有向图中的极大强连通子图。(√)

15.一般在哈夫曼树中,权值越大的叶子离根结点越近。(√)

16.数据的机内表示称为数据的存储结构。(√)

17.任何一个有向图,其全部顶点可以排成一个拓扑序列。(×)

18.二叉树中任何一个结点的度都是2。(×)

19.快速排序是一种稳定的排序方法。(×)

20.一棵哈夫曼树中不存在度为1的结点。(√)

21.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上一定相邻。(√)

22.对顺序栈而言,在栈满状态,如果此时再作进栈运算,则会发生“下溢”。(×)

23.若一个二叉树的叶结点是先根遍历序列的最后一个结点,则它必是中根遍历的序列中的

最后一个结点。(×)

24.冒泡排序是不稳定排序。(×)

25.中序遍历二叉排序树的结点不能得到排好序的结点序列。(×)

26.采用二分查找法对有序表进行查找总比采用顺序查找法对其进行查找要快。(×)

27.散列法中的冲突指的是具有不同关键字的元素对应于相同的存储地址。(√)

28.完全二叉树中,若一个结点没有左孩子,则它必然是叶子。(√)

29.线性表的链式存储结构优于顺序存储结构。(×)

30.顺序队列和循环队列的队满和队空的条件是一样的。(×)

31.完全二叉树一定是满二叉树。(×)

32.采用二分查找法对有序表进行查找总比顺序查找法对其进行查找要快。(×)

33.有回路的图不能进行拓扑排序。(√)

34.由二叉树的前序和中序遍历序列可以推导出此二叉树的后序遍历序列。(√)

35.为解决队列“假满”问题,可以采用循环数组实现队列存储。(√)

36.队列是后进先出表。(×)

37.满二叉树一定是完全二叉树。(√)

38.完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。(×)

39.栈是后进先出表。(√)

40.在堆排序和快速排序中,若原始记录已基本有序,则较适合采用堆排序。(√)

四、应用题

1.已知散列函数为H (k )=k % 13,关键字值序列为19,01,23,14,55,20,84,27,68,11,10,77,处理冲突的方法为线性探测法,散列表长度为13,试画出该散列表。

2.对给定的一组权值W={5,

2,9,11,8,3,7},试构造相应的哈夫曼树,并计算它的带权路径长度。

WPL=11*2+5*3+9*2+7*3+2*4+3*4+8*3=120 3.画出对长度为10的有序表进行二分查找的判定树,并指出在等概率时查找成功的平均查找长度。

查找成功的平均查找长度=(1+2*2+3*4+4*2)/10=29/10 4.已知序列{4,5,2,9,1,3},给出二叉排序树的构造过程。

5、已知一棵二叉树的前序序列和中序序列分别如下,请画出该二叉树。 前序序列:A B D G H E C F I J 中序序列:G D H B E A C I J F

6、试找出分别满足下列条件的所有二叉树。 (1)前序序列和中序序列相同;

(2)中序序列和后序序列相同;

(3)前序序列和后序序列相同。

7、写出对关键字序列(40,24,80,39,43,18,20)进行冒泡排序的每一趟结果。 1.(24,40,39,43,18,20,80) 2.(24,39,40,18,20,43,80) 3.(24,39,18,20,40,43,80) 4.(24,18,20,39,40,43,80) 5.(18,20,24,39,40,43,80) 6.(18,20,24,39,40,43,80)

8、画出下图所示森林经转换后所对应的二叉树。

9、写出下图所示二叉树的先根遍历、中根遍历、后根遍历的结点序列,并将其转换为森林。

先序:ABCDEFGHI 中序:BCDAFEHIG 后序:DCBFIHGEA

10、写出下面有向图的邻接矩阵表示和拓扑排序序列。

拓扑排序序列:V3V1V4V5V2V6

11、有一组关键码序列(12,5,9,20,6,31,24),采用直接插入排序方法由小到大进行排序,请写出每趟排序的结果。

1.【5,12】,9,20,6,31,24

2.【5,9,12】,20,6,31,24

3.【5,9,12,20】,6,31,24

4.【5,6,9,12,20】,31,24

5.【5,6,9,12,20,31】,24

6.【5,6,9,12,20,24,31】

12、有一组关键码序列(38,19,65,13,97,49),采用选择排序方法由小到大进行排序,请写出每趟排序的结果。

1.【13】,19,65,38,97,49

2.【13,19】,65,38,97,49

3.【13,19,38】,65,97,49

4.【13,19,38,49】,97,65

5.【13,19,38,49,65】,97

13、求下图的最小生成树,要求画出最小生成树的生成过程。

Prim算法构造最小生成树,结果为:

使用

五、上机操作

案例一:设有两个递增有序的顺序表A和B,编程实现将A和B归并成一个新的递增有序的顺序表C(值相同的元素均保留在C表中)。

参考答案:

#define MAXSIZE 100

typedef struct

{ int data[MAXSIZE];

int len;

}SEQUENLIST;

void create_asd(SEQUENLIST *L)

{ int n,i,j;

printf( "输入数据值,-99时结束!\n");

L->len=0;

scanf(" %d",&n);

while(n!= -99)

{ i=L->len;

while( i>=1&&ndata[i-1])

i--;

for( j=L->len;j>i;j--)

L->data[j]=L->data[j-1];

L->data[i]=n;

L->len++;

printf( "输入数据值,-99时结束!\n ");

scanf( "%d",&n);

}

}

void merge(SEQUENLIST *A,SEQUENLIST *B,SEQUENLIST *C)

{ int i,j,k;

i=j=k=1;

while(i<=A->len&&j<=B->len)

{ if(A->data[i-1]<=B->data[j-1])

{ C->data[k-1]=A->data[i-1];

k++;i++;

}

else

{ C->data[k-1]=B->data[j-1];

k++;j++;

}

}

while(i<=A->len)

{ C->data[k-1]=A->data[i-1];

k++;i++;

}

while(j<=B->len)

{ C->data[k-1]=B->data[j-1];

k++;j++;

}

C->len=k-1;

}

void print(SEQUENLIST *L)

{ int i;

for(i=1;i<=L->len;i++)

printf("%6d",L->data[i-1]);

printf("\n");

}

main()

{ SEQUENLIST A,B,C,*la,*lb,*lc;

la=&A;lb=&B;lc=&C;

create_asd(la);

print(la);

create_asd(lb);

print(lb);

merge(la,lb,lc);

print(lc);

}

案例二:设一元多项式使用单链表存储,编程实现一元多项式的相加。

#define NULL 0

typedef struct node

{ int coef;

int exp;

struct node *next;

}LINKLIST;

LINKLIST *create()

{ int c,e;

LINKLIST *p,*head,*last;

printf("多项式按指数递减输入");

printf("输入多项式的系数和指数,-99结束\n");

scanf("%d,%d",&c,&e);

p=(LINKLIST *)malloc(sizeof(LINKLIST));

p->next=NULL;

head=p;

last=p;

while(c!=-99&&e!=-99)

{ p=(LINKLIST *)malloc(sizeof(LINKLIST));

p->coef=c;

p->exp=e;

last->next=p;

last=p;

p->next=NULL;

printf("输入多项式的系数和指数,-99结束\n");

scanf("%d,%d",&c,&e);

}

return(head);

}

LINKLIST *polynomial_add(LINKLIST *a,LINKLIST *b) { LINKLIST *p,*q,*t,*head,*last;

p=a->next;

q=b->next;

head=(LINKLIST *)malloc(sizeof(LINKLIST));

head->next=NULL;

last=head;

while(p!=NULL&&q!=NULL)

{ if(p->exp==q->exp)

{ t=(LINKLIST *)malloc(sizeof(LINKLIST));

t->coef=p->coef+q->coef;

t->exp=p->exp;

t->next=NULL;

last->next=t;

last=t;

p=p->next;

q=q->next;

else if(p->exp>q->exp)

{ t=(LINKLIST *)malloc(sizeof(LINKLIST));

t->coef=p->coef;

t->exp=p->exp;

t->next=NULL;

last->next=t;

last=t;

p=p->next;

}

else

{ t=(LINKLIST *)malloc(sizeof(LINKLIST));

t->coef=q->coef;

t->exp=q->exp;

t->next=NULL;

last->next=t;

last=t;

q=q->next;

}

}

while(p!=NULL)

{ t=(LINKLIST *)malloc(sizeof(LINKLIST));

t->coef=p->coef;

t->exp=p->exp;

t->next=NULL;

last->next=t;

last=t;

p=p->next;

}

while(q!=NULL)

{ t=(LINKLIST *)malloc(sizeof(LINKLIST));

t->coef=q->coef;

t->exp=q->exp;

t->next=NULL;

last->next=t;

last=t;

q=q->next;

}

return head;

}

void print(LINKLIST *a)

{ LINKLIST *p;

p=a->next;

while(p!=NULL)

{ printf("%6dx%4d",p->coef,p->exp);

if(p->next!=NULL)

printf("+");

p=p->next;

}

}

main()

{ LINKLIST *A,*B,*C;

A=create();

B=create();

C=polynomial_add(A,B);

print(C);

}

案例三:输入圆括号,检查输入的括号是否匹配。参考答案:

#include

#define NULL 0

#define MAXSIZE 100

typedef struct

{ int data[MAXSIZE];

int top;

}seqstack;

void initstack(seqstack *s)

{ s->top=-1;

}

int emptystack(seqstack s)

{ if(s.top==-1)

return(1);

else

return(0);

}

void push(seqstack *s,int x)

{ if(s->top==MAXSIZE-1)

printf("Stack is full.\n");

else

{ s->top++;

s->data[s->top]=x;

}

}

void pop(seqstack *s)

{ if(s->top==-1)

printf("Stack is empty.\n");

else

s->top--;

}

int gettop(seqstack s)

{ int x;

if(emptystack(s))

x=NULL;

else

x=s.data[s.top];

return(x);

}

void check()

{ seqstack s;

int bool;

char ch;

initstack(&s);

push(&s,'#');

ch=getchar();

bool=1;

while(ch!='\n'&&bool)

{ if(ch=='(')

push(&s,ch);

else if(ch==')')

{ if(gettop(s)=='#')

bool=0;

else

pop(&s);

}

ch=getchar();

}

if(gettop(s)!='#')

bool=0;

if(bool)

printf("yes");

else

printf("no");

}

main()

{ check();

}

案例四:设单链表中存放着n个字符,写一算法,判断该字符串是否有中心对称关系。如xyzzyx和xyzyx都有中心对称关系。

参考答案:

#include

#define maxsize 100

typedef struct node

{ char data;

struct node *next;

}LINKLIST;

typedef struct

{ int data[maxsize];

int front,rear;

}seqqueue;

typedef struct

{ int data[maxsize];

int top;

}seqstack;

void initqueue(seqqueue *q)

{ q->front=0;

q->rear=0;

}

int emptyqueue(seqqueue q)

{ if(q.front==q.rear)

return(1);

else

return(0);

}

void inqueue(seqqueue *q,int x)

{ if((q->rear+1)%maxsize==q->front)

printf("Queue is full.\n");

else

{ q->rear=(q->rear+1)%maxsize;

q->data[q->rear]=x;

}

}

void delqueue(seqqueue *q)

{ if(emptyqueue(*q))

printf("Queue is empty.\n");

else

q->front=(q->front+1)%maxsize; }

int getfront(seqqueue q)

{ int x;

if(emptyqueue(q))

x=NULL;

else

x=q.data[(q.front+1)%maxsize];

return(x);

}

void initstack(seqstack *s)

{ s->top=-1;

}

int emptystack(seqstack s)

{ if(s.top==-1)

return(1);

else

return(0);

}

void push(seqstack *s,int x)

{ if(s->top==maxsize-1)

printf("Stack is full.\n");

else

{ s->top++;

s->data[s->top]=x;

}

}

void pop(seqstack *s)

{ if(s->top==-1)

printf("Stack is empty.\n");

else

s->top--;

}

int gettop(seqstack s)

{ int x;

if(emptystack(s))

x=NULL;

else

x=s.data[s.top];

return(x);

}

LINKLIST *rcreat( )

{ LINKLIST *head,*last,*p;

char ch;

p=(LINKLIST *)malloc(sizeof(LINKLIST));

head=p;

last=p;

p->next=NULL;

while((ch=getchar())!='$')

{ p=(LINKLIST *)malloc(sizeof(LINKLIST));

p->data=ch;

last->next=p;

last=p;

p->next=NULL;

}

return(head);

}

void check(LINKLIST *head)

{ LINKLIST *p;

seqstack s;

seqqueue q;

char x,y;

int bool=1;

p=head->next;

initstack(&s);

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

认知语言学在英语学习中的运用

Application of Cognitive Linguistics in English Learning By 潘晓雅 Class: English怀o82 Student Number: 08402507 School of Foreign Languages Changzhou University June 2011

Abstract:This paper discusses the application of cognitive linguistics in different aspects of English learning, for example, the prepositions in grammar, vocabulary, listening and reading. The concept of cognitive linguistics is introduced first. Then the article lays out fundamental analyses in these aspects. The application is mainly introduced for the second language learning. With the help of cognitive linguistics, English learners could break through the bottlenecks of English study and make a great improvement. Keywords: cognitive linguistics, prepositions, vocabulary, listening, reading

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

浅谈认知语言学

浅谈认知语言学 发表时间:2018-10-22T16:13:42.363Z 来源:《语言文字学》2018年第10月作者:封锋林聖典肖冲 [导读] 认知语言学对于语言学教学具有重大影响和意义,它体现人们对于语言的认知能力,有助于人们对语义的理解。 武警警官学院四川成都 610213 摘要:认知语言学对于语言学教学具有重大影响和意义,它体现人们对于语言的认知能力,有助于人们对语义的理解。框架语义学,作为认知语言学的重要分支,它从语境的角度解释词汇的含义,是人们理解词义的重要联系和过渡过程。然而,人们对于该理论的了解和认识并不多,关注并深入研究该理论的学者也屈指可数。本文对于框架语义学的核心思想、哲学基础、理论目标、理论方法及其在应用中的作用和影响有所探析,同时,对其所得到的评价及几点不足也有所提及。 关键词:认知语言学; 社会语言学; 社会认知语言学 1认知语言学理论概述 虽然语言普遍地只是被看作是人类之间一种交流的工具,但是其认知能力和方法尤为关键,它也是连接各类语言学之间的一个锁链。一个人的认知能力和方法,可以体现出其心理活动以及周围的环境特征。认知语言学的理论方法有很多种分支和分类,例如认知语义学、框架语义学、认知语法、构式语法等。 对于认知语言学的基本思想,乔姆斯基(Chomsky)提出了几个基本假设。其一,语言是一个自足的系统,它具有数学的特征,其自足性使其可以基本脱离范围更广的认知系统加以研究。其二,语法(尤其是句法)是语言结构的一个独立部分,与词汇和语义有着根本的区别。其三,如果意义在语法分析范围内,那么,最恰当的描述方法是通过建立在真值条件基础上的某种形式逻辑[1]。 在认知语言学中,人们对于语义的理解极其重要。正如《认知语言学杂志》(Journal of Cognitive Linguistics)在1990年首刊编者按中所述,认知语言学的研究路向将语言视为“组织、处理、传达信息的工具”,即语言最重要的是语义。所以,语言研究的认知方法主要侧重于语义。其中,框架语义学虽然并不算其分支中最热门的理论,但是,它在理解语义中的作用和影响同样不可忽视。 2框架语义学的基本理论 2.1核心思想 在人们理解词汇和句子的过程中,即在理解一个概念结构中的任何一个概念时,必须以理解它所适应的整个结构为基础,理解它所存在的概念结构,当这样一个概念结构中的一个概念被置入一个文本或交谈环境中时,该概念结构中其他所有概念都自动被激活。那么,基于对框架语义学的应用,人们在词语所激活的语义框架中理解词语的意义,并且,通过对真实场景的反复体验,人们会在大脑中形成一种意象图式[3]。因此,框架是人们在大脑中形成的一种框架概念结构,是一种相对抽象的结构[4]。 2.2哲学基础 框架语义学是由菲尔莫尔最早提出的自然语言语义学的一个具体路向[5],并以经典主义哲学及皮亚杰(J.Piaget)的楗构论为思想基础。同时,语义又是非自主的,是和经验紧密结合的,那么,语义是以经验为基础的[6]。所以,框架语义学又属于经验主义语义学(empirical semantics)的范畴,它源自经验语义学传统,而不是形式语义学(formal semantics),它与经验之间相互联系,并不代表割裂[7]。因此,框架语义学是以经典主义哲学、建构论以及经验主义为哲学基础的语言学理论思想。 2.3理论目标 框架语义学作为一种理论思想,为词义的研究提供了一种具体且便捷的方式,也为描述新词语创生、旧词添加新义,以及将语篇中各成分的意义组配成语篇整体意义的原则提供了一种有效的方法[8]。因此,框架语义学的理论目标就是在结合语境以及相关背景知识的同时,帮助人们理解词义、句义以及语篇的含义。 2.4理论方法 菲尔莫尔认为,框架语义学中的“框架”并非是在现实中的实体,而是一个概念意识上的原型,它可以充分解释真实情景与词语使用之间相互适应的复杂性,并且受到特定语境的影响[9]。因为语义会随着环境的变化而变化,那么,如果要理解一个单词的含义,就要运用联想的方法,进而掌握与这个单词有关的知识,了解与之相关的同一框架或交替框架的词汇的含义,并且熟悉其语境,理解一个框架中相互联系的概念的含义。 在借助于框架语义学理解语义的过程中,许多多义词都可适用于多个不同的框架,同样的,一种事实经常可以在不同的框架中进行阐述,一个情景可以用两种相对立的方式框定[10]。因此,语言的框架结构还应该是灵活可变的。 3框架语义学在教学中的作用及影响 框架语义学主要是描述语义和句式结构的理论,其应用主要集中在对于意义的研究,尤其是在词汇语义研究方面。例如,陈勇提出,在框架理论的指导下,词汇的同义现象应被分为框架之间的同义、同一框架内的同义这两种情况。而李春华和李勇忠则从认知功能的角度出发,以理想化的认知模型为基础,系统分析了框架转化在建构意义中的重要作用。另一方面,毛海燕以汉语框架网络知识库为基础,研究英汉词汇对比的程序和方式,构建了一个特殊的词汇语义对比模型,并且对该模型进行了一定程度的尝试性应用[11]。类似这类研究都使框架语义学对于语义理解的意义显得尤为重要,使人们对于框架语义学的理解更为深刻,也为语言学中语义语境方面的研究提供了重要的启发意义。 在阐释词汇、句法和语义现象的同时,框架语义学在编撰字典和创新语料库等方面也有所运用,同时,它还有助于第一语言习得、外语学习和外语教学。双语框架语料库可被用于课堂教学过程中,学生学习单词及其语义框架。而语义框架提供的背景知识可以提高学生学习单词及其他新知识的效率。教师则可使用语料库里的有关信息来编写练习,以弥补教学软件的不足。框架语义学作为认知语义学的一部分,是人们理解词义的过渡和桥梁,它以概念框架结构为基础,使人们在理解及表达语义的同时,对其框架中相互联系的概念、范畴及背景知识也有所了解。 4结语 认知语言学框架内的术语研究是一个全新的研究领域,这一领域已开始被冠之以专名“认知术语学”。[10]认知术语学是术语学与认知语言学相结合的产物,其中需要探讨和解决的问题还有很多。比如说,不同类型思维活动之间、某一知识领域概念的不同发展阶段之间存在

认知语言学的语言习得观

认知语言学的语言习得观 任何语言学理论都必须回答三个基本问题(Tay - lo : 2002 : 4 ) : l )语言知识是什么?2 )语言是怎样习得的?3 )语言是怎样使用的?生成语言学和认知语言学对这些问题给出了完全不同的答案。就理论发展过程而言,这很容易理解,因为认知语言学是在生成语言学遇到一些无法解决的问题的背景下,批判性地发展起来的。本文讨论认知语言学的语言习得观,同时以生成语言学的语言习得观作为参照。 2 .认知语言学语言习得观产生的理论背景与理论基础 目前,关于语言习得的本质问题的各种争论主要集中在两种理论途径之间(Tomasello & Abbo 卜Smith 2002 ) :生成语言学的天赋论,认知功能学派的使用基础论(学得论)。前者以成人语法为出发点,后者以儿童语言自身为出发点,是在对生成语言学理论的批判过程中发展起来的。因此,二者的对立是必然的。2 . 1 理论背景:生成语言学关于以上三个问题的基本观点生成语言学认为:l )自然语言由一组统一的抽象的代数性规则组成,这些规则本身没有意义,各组成成分的意义对这些规则也没有什么影响,它是语言能力的核心部分,即普遍语法;2 )词库包含有意义的语言成分,充当规则的变体。语言能力指本族语中理想的说话者的理想的知识。这一天赋的语言能力假说具有三层意义:l )儿童语言习得速度快且不费劲,因为儿童一生下来就有完备的语言能力,他们要学的是怎样把语言能力转化为语言运用;2 )语言输入只起间接作用(诱发天赋的句法结构或设定参数); 3 )无论是儿童还是成人的语言都有创造性,因为它由抽象的语法生成。为此,生成语法学家提出了“连续性假说”,认为儿童并不需要或根本不需要学习语言的抽象结构,因为它们作为天赋的语言能力的一部分已经存在于语言器官中,即人类长有一个普遍语法。Pinker ( 1984 : 7 )指出,如果没有截然相反的证据,儿童的语法规则应该来自与成人的语法规则相同的基本规则类型,而且应该由同一类的基本符号构成。 Pinker ( 1954 , 1959 )认为,儿童习得语言由两个机制完成:l )语言中的所有词汇、习语、非常规构式等通过记忆等方式学得;2 )联结机制将正在习得的语言(指核心结构部分)与抽象的普遍语法联系起来。即语言的边缘部分由学得完成,语言的核心部分(抽象的语法规则)由天赋给定。儿童句法能力受语言行为局限性影响,这种局限性阻碍儿童天赋的语言能力的表达。核心部分既然是天赋的,就不会随学习者个体发展而变化,即所谓的“连续性,,假设(Pinker 1984 )。这就为其以成人语法来观察与描写儿童语言找到了理论依据。客观地说,生成语言学对以上问题的探索具有重要意义,为揭示语言与认知的关系提供了富有创见的发现与解释。但其两个核心假说一直是辩论的焦点:l )可学性问题(刺激贫乏假说); 2 )普遍语法与特定语言的结构联结问题(连续性假说)。下文将比较讨论。2 . 2 理论基础:认知语言学关于以上三个问题的基本观点认知语言学认为,语言的本质特征是符号性,语言构式都是有意义的语言符号。语言的基本目的之一是为交际服务。语言以使用为基础(usag 二based ) ,语法产生于语言使用。说话者说出和理解话语的认知过程反映出一般认知能力的敏锐的(acute )专业化过程。语言能力是一个结构有序的由有意义的语言构式组成的清单库。语言能力是认知能力不可分割的

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

认知语言学的几大理论 [文化语言学视角下的“小清新”]

摘要语言不仅是种自然现象,更是种文化现象。不断发展的现代物质文明造就了语言范式的极大改变,新兴语言现象层出不穷。本文通过对当下流行的“小清新”的用词、体式、意象等方面的调查分析,尝试着从文化语言学的角度对其进行探讨,并力图从语言学层面透析其反映的文化心理。 关键词小清新;文化心理;文化语言学 何谓小清新? 曾几何时,“小清新”还只是指一份单纯的宁静美好景象。然而,不断发展的现代物质文明在重塑群体精神文化的同时,也造就了语言范式的极大改变,使得“小清新”也已不单是感官上的清新、静美之代名词。 现今所谓“小清新”是从都市和网络亚文化中衍生出来的,代表的是一种审美趣味,一种生活态度。小清新是指喜爱阳光、雨露、蓝天与白云,追求淡雅、自然、朴实与静谧,想象着在精神世界中自我陶醉的一群受众。作为形而上的意识理念总是需要有一个出口来表达情感,释放自我。于是,无论是在电影、小说、音乐还是话语方式,抑或生活情态中我们都可以清晰地找寻到他们的痕迹电影中有“老清新”鼻祖宫崎骏的纯真动漫系列;小说有充满“萌点”的《牧羊少年奇幻之旅》《关于莉莉周的一切》;音乐中亦有干净清澈,低鸣浅唱的小众音乐风与之相衬;时尚教母Lady GaGa总以“出现都要放倒一片”的夸张姿态示人,但同样也有仿佛洁净到不染尘埃的一众人群在执着着棉布裙、海魂衫、帆布鞋。

通过不同形态的文化范式,小清新们多元地向大众显露着他们的追求。语言,作为社会生活的一面镜子反映着“现实世界”。英国语言学家约翰·莱昂斯曾说“特定社会的语言是这个社会文化的组成部分,每一种语言在词语上的差异都会反映使用这种语言的社会事物、习俗以及各种活动在文化方面的重要特征。”不同范式反应的文化心理,都需要通过语言来寻求出口。小清新作为一种新的潮流文化现象,同样也在用语言来塑造他们的文化价值,播撒着他与众不同的温情与文艺的情怀。 关键词——雅致 索绪尔认为,汉语属于“超等词汇的典型”,词汇在汉语中的地位十分突出。词汇本身就是一个文化成果,每一个词都是对客观事物认识、概括,即思维的结果,词汇反应了话语人的心理情态。 语汇是有情调的。就像人说“屁股”是粗俗的,“臀部”像医学术语,如果你说“臀”就稍微有了些调感,而用“人体腰部以下的后侧位置”,那么就显得准确又雅致了。 小清新的话语构成,就是一系列清新标签的集合。小清新们最擅长用淡漠而不失雅致的词藻来描绘其生活的小世界,其语言仿佛缺乏一种现实细节,却是乐于构筑内心世界的自我感知。事实上,用来构筑小清新话语的词应该有两类一种

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

认知语言学的参考书目

主要参考文献 石毓智,李讷:汉语发展史上结构助词的兴替《中国社会科学》1998.6 ----论“的”的语法化历程 文旭:《语法化》简介,《当代语言学》1998.3 何刚:语用方式——语用的语法化,《外国语》(上海外国语大学学报)1997.3 刘坚,曹广顺,吴福祥:论诱发汉语词汇语法化的若干因素,《中国语文》1995.3 沈家煊:“语法化”研究综观,《外语教学与研究》1994.4 郝书阁:语法化的泛时性研究,《外语学刊》2000.3 石毓智:《时间的一维性对介词衍生的影响》,《中国语文》1995.1 《汉语语法化的历程---形态句法发展的动因和机制》,北京大学出版社。 石毓智:《语法的形式和理据》,江西教育出版社,2001年。 《语法的认知语义基础》,江西教育出版社,2000年。 沈家煊:《不对称和标记论》,江西教育出版社,1999年。 张敏:《认知语言学与汉语名词短语》,中国社会科学出版社,1998年。 袁毓林:《语言的认知研究和计算分析》,北京大学出版社,1998年。 戴浩一:《以认知为基础的汉语功能语法刍议》,《国外语言学》1990年。 赵艳芳:《认知语言学概论》,上海外语教育出版社,2000年。 张伯江:《现代汉语的双及物结构式》,《中国语文》,1999.3 何自然冉永平主编:《语用与认知---关联理论研究》,外语教学与研究出版社,2001年。 王寅《认知语言学》,上海外语教育出版社,2007年 张云秋《现代汉语受事宾语句研究》,学林出版社,2004年 Fauconnier, Gilles & Mark Turner.1998 Conceptual Integration Networks. Cognitive Science Vol.22(2). Goldberg, Adele E. 1995 Constructions: A Construction Grammar Approach to Argument Structure. The University of Chicago Press. Lakoff,George. 1987 Women, Fire, and Dangerous Things: What Categories Reveal about the Mind. Chicago: University of Chicago Press. 1999 Philosophy in the Flesh----The Embodied Mind and Its Challenge to Western Thought (与Johnson合著).New York: Basic Books. Langacker, R, W.1987/1991 Foundations of Cognitive Grammar, Vol.1,2. Stanford: Stanford University Press. Taylor, John R. 1989 Linguistic Categorization: Prototypes in Linguistic Theory. Oxford: Claredon Press. Haiman,J.1985/1987 Natural Syntax. Cambridge: CUP. 1985 Iconicity in Syntax. Amsterdam: John Benjamins. (1983年6月“句法象似性”专题大会的论文集) Simone, Raffaele.1994. Iconicity in Language. Amsterdam: John Benjamins. (1992年6月“句法象似性”专题大会的论文集) F.Ungerer & H.J.Schmid: An Introduction to Cognitive Linguistics(认知语言学入门), 外语教学 与研究出版社,2001年。 Paul J. Hopper & Elizabeth Closs Traugott:Grammaticalization. Cambridge University Press ,外语教学与研究出版社, 2001年。 Dan Sperber & Deirdre Wilson, Relevance: Communication and Cognition (关联性:交

2020年C语言题库及答案

2020年C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

认知语言学的基本理论及应用解读

——认知语言学的基本理论及应用 一,认知语言学的基本理论 1原型范畴理论(The Theory of Prototypes) 1.1原型范畴理论的发展历程 原型理论的产生经历了一段过程。著名认知语言学家莱考夫(Lakoff.G)曾形象地将经典的范畴化理论的实质比作“容器”,具备定义性特征的个体就在里面,不具备的就在外面。 而著名的哲学家维特根斯坦(Wittgenstein)却提出了著名的“家族相似性”(family resemblance),认为其中类别的成员如同一个家族的成员,每个成员都和其他一个或者数个成员共有一项或者数项特征,但几乎没有一项特征是所有成员都共有的,于是以这样环环相扣的方式通过相似性而联系起来成为一类。即下图方式: 从七十年代开始,以罗施(Rosch)为代表的心理学家和以拉波夫(Labov)为代表的语言学家对cup ,bird ,fruit, furniture, vegetable, toy, vehicle, clothing等概念做了一系列深入的定量实验研究,发现了在范畴化中起到关键性作用的是认知上显著的“原型”理论。 第一,个体范畴化的依据是其属性(attributes)而非其基本特征(essential features)。属性是事物性质的心理体现,与人们认知及现实的互动模式密切相关;基本特征被理解为事物固有的本质属性,它们与主体认知无关,是客观而独立的存在的。 第二,对自然类的范畴化而言,传统理论所说的起定义作用的特征往往难以找到。例如furniture(家具),在著名的Webster英语词典定义为“movable article used in readying an area as a room or patio for occupancy or use (用于装备房间、内院之类的地方,使便于居住或者使用的可移动物件)”,词典只是勉强找出的非确定性的描述,而算不上是可以根据来确切分类的充分必要条件(比如,壁柜、电话、地毯这类算不算furniture?)。

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

认知语言学

概念转喻的本质,分类和认知运作机制 张辉孙明智 (原载《外语与外语教学》2005年第3期) 摘要: 本文通过分析和举例, 说明概念转喻具有以下的特征:(1)概念转喻是一种认知操作,在这一过程和同一认知域中,来源域于为目标域提供了可及性。(2)来源义和目标义之间的关系是偶然性的,没有概念上的必然性。(3)转喻的目标义是突显的,而来源义是作为背景的。(4)转喻作为自然的推理图式在言语行为中起到重要的作用。(5)在转喻三种分类的基础上,我们必须区分高层次和低层次的转喻。(6)概念整合可为转喻的理解和解释提供一定的理据。 关键词: 概念转喻; 分类; 认知机制; 概念整合 1. 引言 转喻研究相对于大量的隐喻研究来讲是很少的。和隐喻一样,过去人们常把转喻看作语言层面上的修辞格。但自20世纪80年代以来,转喻和隐喻一样被认知语言学家看作为是一种心理机制, 这一心理机制构成了人类许多概念形成的基础。在20世纪80年代初,认知语言学家只是在论述隐喻时顺便提到转喻。(Lakoff & Johnson 1980, Lakoff 1987, Lakoff & Turner 1989, Taylor 1995)但从20世纪90年代开始,一些认知语言学家开始关注转喻的研究。(Goossen 1990, Croft 1993, Dirven 1993)。从90年代末开始,陆续出版了一些有影响的论文集。(Panther & Radden 1999, Barcelona 2000, Dirven and Poring 2003)和专著(Ruiz de Mendoza 2002)。但对转喻的本质,分类和其内部的运作机制的研究还存在着较大的分歧,需要对此进行进一步的研究,本文主要就这些方面展开讨论,并指出今后的研究方向。 2.关于转喻本质的研究 关于转喻的定义最早的是源自未知作者的《修辞和解释》一书,它指出“转喻是一个词格,它从近和联系紧密的事物中获得语言形式,通过这一语言形式我们能理解不被该词语命名的事物。”从这一定义,我们可以看到,对转喻的传统解释是基于“邻近”(contiguity)的概念。邻接的概念也反映在Roudet ( 引自Ruiz de Mendoza 2002)的定义中,他指出,转喻是以观念的邻近性为基础的联系(association)所引起的,任何通过联系或转喻的变化都属于这一范畴。但Roudet的关于转喻是概念联系的观点在当时并未受到重视,大部分的关于转喻的研究都集中于Jokobson的横向和纵向轴的双轴理论。他把转喻看成是在横向轴上“语义特征”之间的邻近关系(引自Ruiz de Mendoza 2002)。数十年后,随着认知科学和实验心理语言研究的深入,人们对于转喻的本质的认识更加倾向于概念联系的观点,这一观点对以后的转喻研究产生了较大的影响。

相关主题
文本预览
相关文档 最新文档