C语言动态数组

C语言动态数组
C语言动态数组

动态数组是指在声明时没有确定数组大小的数组,即忽略圆括号中的下标;当要用它时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小。使用动态数组的优点是可以根据用户需要,有效利用存储空间。

动态数组,是相对于静态数组而言。静态数组的长度是预先定义好的,在整个程序中,一旦给定大小后就无法改变。而动态数组则不然,它可以随程序需要而重新指定大小。动态数组的内存空间是从堆(heap)上分配(即动态分配)的。是通过执行代码而为其分配存储空间。当程序执行到这些语句时,才为其分配。程序员自己负责释放内存。(欲详细了解堆请见堆栈)

为什么要使用动态数组?

在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用静态数组的办法很难解决。为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数结合指针可以按需要动态地分配内存空间,来构建动态数组,也可把不再使用的空间回收待用,为有效地利用内存资源提供了手段。

动态数组与静态数组的对比

对于静态数组,其创建非常方便,使用完也无需释放,要引用也简单,但是创建后无法改变其大小是其致命弱点!

对于动态数组,其创建麻烦,使用完必须由程序员自己释放,否则严重会引起内存泄露。但其使用非常灵活,能根据程序需要动态分配大小。

如何构建动态数组

遵循原则

申请的时候从外层往里层,逐层申请;

释放的时候从里层往外层,逐层释放。

构建所需指针

对于构建一维动态数组,需要一维指针;对于二维,则需要一维,二维指针;三维需要一,二,三维指针;

依此类推。

构建所需函数

函数原型返回

功能说明

void *malloc(unsigned int size); 成功:返回所开辟空间首地址失败:返回空指针向系统申请size字节的堆空间

void *calloc(unsigned int num, unsigned int size);成功:返回所开辟空间首地址失败:返回空指针按类型申请num个size字节的堆空间

void free(void *p); 无返回值

释放p指向的堆空间

void *realloc(void *p,unsigned int size); 成功:返回新开辟空间首地址失败:返回空指针将p指向的堆空间变为size

说明:

(1)规定为void *类型,这并不是说该函数调用后无返回值,而是返回一个结点的地址,该地址的类型为void(无类型或类型不确定),即一段存储区的首址,其具体类型无法确定,只有使用时根据各个域值数据再确定。可以用强制转换的方法将其转换为别的类型。例

如:

double *pd=NULL; pd=(double *)calloc(10,sizeof(double)); 表示将向系统申请10个连续的double类型的存储空间,并用指针pd指向这个连续的空间的首地址。并且用(double)对calloc( )的返回类型进行转换,以便把double类型数据的地址赋值给指针pd。

(2)使用sizeof的目的是用来计算一种类型的占有的字节数,以便适合不同的编译器。

(3)由于动态分配不一定成功,为此要附加一段异常处理程序,不致程序运行停止,使用户不知所措。

通常采用这样的异常处理程序段:

if(p==NULL) /* 或者if(!p)*/

{

printf("动态申请内存失败!\n");

exit(1); //异常退出

}

(4)这四个函数头文件均包含在中。

(5)分配的堆空间是没有名字的只能通过返回的指针找到它。

(6)绝不能对非动态分配存储块使用free。也不能对同一块内存区同时用free释放两次。

如:free(p);free(p);

(7)调用free() 时, 传入指针指向的内存被释放, 但调用函数的指针值可能保持不变, 因为p是作为形参而传递给了函数。严格的讲, 被释放的指针值是无效的, 因为它已不再指向所申请的内存区。这时对它的任何使用便可能会可带来问题。

malloc与calloc的区别

对于用malloc分配的内存区间,如果原来没有被使用过,则其中的每一位可能都是0;反之,如果这部分内存空间曾经被分配、释放和重新分配,则其中可能遗留各种各样的数据。也就是说,使用malloc()函数的程序开始时(内存空间还没有被重新分配)能正常运行,但经过一段时间后(内存空间已被重新分配)可能会出现问题,因此在使用它之前必须先进行初始化(可用memset函数对其初始化为0),但调用calloc()函数分配到的空间在分配时就已经被初始化为0了。

当你在calloc()函数和malloc()函数之间作选择时,你需考虑是否要初始化所分配的内存空间,从而来选择相应的函数。

具体构建方法

以三维整型数组array[n1][n2][n3]为例。

先遵循从外层到里层,逐层申请的原则:

最外层指针是array,它是个三维指针,所指向的是array[],其为二维指针。

所以给array(三维指针)申请内存应:

array=(int***)calloc(n1,sizeof(int**));

次层指针是array[],它是个二维指针,所指向的是array[][],其为一维指针。

所以给array[](二维指针)申请内存应:

for(i=0;i

{

array[i]=(int**)calloc(n2,sizeof(int*));

}

最内层指针是array[][],它是个一维指针,所指向的是array[][][],其是个整型常量。

所以给array[][](一维指针)申请内存应:

for(i=0;i

{

for(j=0;j

{

array[i][j]=(int*)calloc(n3,sizeof(int));

}

} array[][][](整型常量)

当然,你可以把它们整合在一起为:

int i,j,k;

int n1,n2,n3;

int ***array;

scanf("%d%d%d",&n1,&n2,&n3);

array=(int***)calloc(n1,sizeof(int**));

for(i=0;i

{

array[i]=(int**)calloc(n2,sizeof(int*));

for(j=0;j

{

array[i][j]=(int*)calloc(n3,sizeof(int));

for(k=0;k

{

array[i][j][k]=i+j+k+1;

}

}

}

最后不要忘了释放这些内存,这要遵循释放的时候从里层往外层,逐层释放的原则。

分析过程可参考上面的解答,这里不再赘述。只给出代码吧:

for(i=0;i

{

for(j=0;j

{

free(array[i][j]);//释放第一维指针

}

}

for(i=0;i

{

free(array[i]);//释放第二维指针

}

free(array);//释放第三维指针

其余维的如四维创建过程大同小异,这里不再赘述。

C#集合、C#动态数组的概念之集合,什么是集合呢?集合就如同数组,用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,集合直接提供了各种数据结构及算法的实现,如队列、链表、排序等,可以让你轻易地完成复杂的数据操作。在使用数组和集合时要先加入system.collections命名空间,它提供了支持各种类型集合的接口及类。集合本身上也是一种类型,基本上可以将其作为用来存储一组数据对象的容器,由于c#面向对象的特性,管理数据对象的集合同样被实现成为对象,而存储在集合中的数据对象则被称为集合元素。这里提到了接口这个概念,它也是面向对象编程进化的重要标准,我们在这里不做过多的讲解,先注重学习集合中的对象及其使用就可以了,下面我们来学习第一种集合:C#集合、C#动态数组的概念之C#动态数组ArrayList.ArrayList 类提供了继承了IList 接口。什么是继承呢?这也是面向对象语言的重要特点之一,现在你们先把它理解为,如果一个对象继承了类或接口,那么它也具有了这个类和接口中的方法、属性,可以用这些继承的方法和属性来做相应的操作,比如:数组增加元素没有Add()方法,但是动态数组ArrayList 继承了一个增加元素有Add()方法的接口,那么当它要增加元素的时候,不仅可以用索引,也可以用继承下来的Add()方法了。随着学习的深入,我会给大家再具体讲解继承的概念和使用继承的好处。那么下面让我们来看看动态数组所继承的这个接口IList它有什么特性呢?

C#动态数组之Ilist接口:定义了利用索引访问集合对象的方法,还继承了ICollection 和IEnumerable接口,除实现了接口原有的方法成员外,其本身也定义多个专门的方法成员,例如新增、移除、在指定位置插入元素或是返回特定元素在集合中所在的位置索引,这些方法主要为集合对象提供类似数组的元素访问功能。

C#动态数组之ILsit接口成员:add、insert、RemoveAt、Remove、contains、Clear、indexof 方法,它最大的特色在于提供类似数组索引的访问机制。

C#集合、C#动态数组的概念的基本情况就向你介绍到这里,希望对你了解和学习C#集合、C#动态数组的概念有所帮助。

必看知识

由于百科里贴的代码每行前都会有许多中文空格,造成直接复制粘贴到编译器上编译时会出现许多错误。(除非自己手工把代码前的空格全删掉)

所以我特地把代码贴到了扩展资料那,要的话去那拿吧。

构建实例

一维

#include

#include

int main()

{

int n1,i;

int *array;

puts("输入一维长度:");

scanf("%d",&n1);

array=(int*)malloc(n1*sizeof(int));//第一维

for(i=0;i

{

array[i]=i+1;

printf("%d\t",array[i]);

free(array);//释放第一维指针

return 0;

}

二维

#include

#include

int main()

{

int n1,n2;

int **array,i,j;

puts("输入一维长度:");

scanf("%d",&n1);

puts("输入二维长度:");

scanf("%d",&n2);

array=(int**)malloc(n1*sizeof(int*)); //第一维

for(i=0;i

{

array[i]=(int*)malloc(n2* sizeof(int));//第二维

for(j=0;j

{

array[i][j]=i+j+1;

printf("%d\t",array[i][j]);

}

puts("");

}

for(i=0;i

{

free(array[i]);//释放第二维指针

}

free(array);//释放第一维指针

return 0;

}

三维

#include

#include

int main()

{

int n1,n2,n3;

int ***array;

int i,j,k;

puts("输入一维长度:");

scanf("%d",&n1);

puts("输入二维长度:");

puts("输入三维长度:");

scanf("%d",&n3);

array=(int***)malloc(n1*sizeof(int**));//第一维

for(i=0; i

{

array[i]=(int**)malloc(n2*sizeof(int*)); //第二维

for(j=0;j

{

array[i][j]=(int*)malloc(n3*sizeof(int)); //第三维

for(k=0;k

{

array[i][j][k]=i+j+k+1;

printf("%d\t",array[i][j][k]);

}

puts("");

}

puts("");

}

for(i=0;i

{

for(j=0;j

{

free(array[i][j]);//释放第三维指针

}

}

for(i=0;i

{

free(array[i]);//释放第二维指针

}

free(array);//释放第一维指针

return 0;

}

四维

#include

#include

int main()

{

int n1,n2,n3,n4;

int ****array;

int i,j,k,m;

puts("输入一维长度:");

scanf("%d",&n1);

puts("输入二维长度:");

puts("输入三维长度:");

scanf("%d",&n3);

puts("输入四维长度:");

scanf("%d",&n4);

array=(int****)malloc(n1*sizeof(int***));//第一维

for(i=0; i

{

array[i]=(int***)malloc(n2*sizeof(int**)); //第二维

for(j=0;j

{

array[i][j]=(int**)malloc(n3*sizeof(int*)); //第三维

for(k=0;k

{

array[i][j][k]=(int*)malloc(n4*sizeof(int));//第四维

for(m=0;m

{

array[i][j][k][m]=i+j+k+m+1;

printf("%d\t",array[i][j][k][m]);

}

puts("");

}

puts("");

}

puts("");

}

for(i=0;i

{

for(j=0;j

{

for(k=0;k

free(array[i][j][k]);//释放第四维指针

}

}

for(i=0;i

{

for(j=0;j

{

free(array[i][j]);//释放第三维指针

}

}

for(i=0;i

{

free(array[i]);//释放第二维指针

}

free(array);//释放第一维指针

return 0;

}

数组案例

#include

#include

int main()

{

int*n,*p;

int i;

n=(int*)calloc(1,sizeof(int));

for(i=0;i<5000;i++)

{

n[i]=i+1;

printf("%d\t",n[i]);

p=(int*)realloc(n,(i+2)*sizeof(int));//动态扩充数组

if(p!=NULL)

n=p;

else

{

puts("error!");

return 0;

}

}

free(n);

return 0;

}

游戏应用

预备知识

(1)getch()

函数原型:int getch(void);

函数功能:从控制台读取一个字符,但不显示在屏幕上。

函数返回:读取的字符。

(2)rand()

函数原型: int rand(void);

函数功能: 随机函数,产生0到32767间的随机整数(0到0x7fff之间)。

函数返回: 随机整数

所属文件:

(3)srand()

函数原型: void srand(unsigned seed);

函数功能: 该函数和rand随机函数配合使用,产生随机数的起始发生数据。

参数说明: seed为无符号整数。

所属文件:

(4)time()

函数原型: time_t time(time_t *timer)

函数功能: 得到机器的日历时间或者设置日历时间。

函数返回: 机器日历时间。

参数说明: timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型。

所属文件:

(5)'\b'实现退格,即当前光标后退一格。

(6)'\a'实现响铃,即执行时计算机会嘟一声。

(7)得到随机数值范围在a~b(包含b)的方法:rand()%(b-a+1)+a;

代码

#include

#include //getch()函数所需头文件

#include //随机函数所需头文件

#include //time()函数所需头文件

void clear(void)//此函数用以清除当前行

{

printf("\r \r");

}

void start(void)

{

puts("这是消单词游戏的精简版,还不会图像编程的人可以看一看");

puts(" 由于没有引人数据库,所以此单词是模拟的。");

puts("按任意键开始,按Esc键结束,按tab键重新开始:");

puts(" 一旦输错,将发出声音警告,你必须重新输入。");

puts(" 按任意键开始,按Esc键结束:");

if( '\x1b' == getch() ) //按Esc键结束

{

exit( 1 );

}

}

int main()

{

char*c_rand,*c_input;

int i,j,N,n,space,N_rand;

start();

}

认知语言学主要内容

一、认知语言学的起源 二、主要内容 19 世纪末20 世纪初,当心理学从哲学中分离出来成为一门独立的实验学科之时,语言的认知研究便已开始。1987年是认知语言学正式的诞生年,虽然此前已有一些零星的文章预示着一种新的语言学理论即将诞生。但是一般认为,这一年出版的Lakoff“Women, Fire ,and Dangerous Things”和Langacker“Foundations of Cognitive Grammar”标志着认知语言学作为一种独立语言学理论的诞生。认知语言学研究的主要代表人物是Langacker,Lakoff,Jackendoff, Taylor 和Talmy等人。 认知语言学包括认知音系学、认知语义学、认知语用学等分支,研究内容广,覆盖面大,概括起来主要有以下几点:一、范畴化与典型理论 语言学在方法论和本质上都与范畴化(categorization)紧密相关。范畴化能力是人类最重要的认知能力之一,是“判断一个特定的事物是或不是某一具体范畴的事例”(Jackendoff , 1983∶77) 。 Labov和Rosch对范畴的研究,打破了范畴的“经典理论”或称“亚里士多德理论”一统天下的局面。“经典理论”认为:范畴是由必要和充分特征联合定义的;特征是二分的;范畴有明确的边界;范畴内的所有成员地位相等。这一理论却

受到了认知科学的有力挑战。Rosch 还提出了“典型理论”(prototype theory) ,认为大多数自然范畴不可能制定出必要和充分的标准,可以公认为必要的标准往往不是充分的;一个范畴的成员之间的地位并不相同,典型成员具有特殊的地位,被视为该范畴的正式成员,非典型成员则根据其与典型成员的相似程度被赋予不同程度的非正式成员地位。例如,在“鸟”范畴内“知更,鸟”常被视为典型成员,而“企鹅”、“驼鸟”等则为非典型成员。当然,一个范畴的典型成员会因不同的人、文化、地理位置而有所不同,但一个范畴中总有典型的。 典型理论对认知科学最有价值的贡献在于它把注意力集中在内部结构上,集中在范畴具有“核心”和“边缘”这个事实上。目前,它已用于语音、句法、词义、语用、语言习得、失语症等方面的研究,并取得了可喜的成绩。 二、概念隐喻 隐喻的认知研究可追溯到18 世纪。约在1725 年,意大利哲学家和修辞学家G. Vico就发现了隐喻的认知功能,后在其《新科学》一书中阐述了其认知观点。然而,把隐喻的研究纳入认知语言学领域的重要标志却是Lakoff &Johnson (1980)。认知语言学家认为,比喻性语言与非比喻性语言本质上无甚差别;日常语言中充满了隐喻,完全不带隐喻的句子大概只占极少数。隐喻是“我们对抽象范畴进行概念化的有

C语言 数组 实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

C语言数组练习及答案

第四部分数组 4. 1 选择题 1. 以下关于数组的描述正确的是(c ) 。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A. int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c)。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8] ;。则以下表达式中不能代表数组元bb[1] 的地址的是(c ) 。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int 类型变量占用两个字节,其有定义:int x[10]={0,2,4}; ,则数组x 在内存中所占字节数是(d ) 。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a ) #include main() { int a[10],i=0; while(i<10) scanf("%d",_______ ); }

认知语言学

认知语言学

————————————————————————————————作者:————————————————————————————————日期: ?

近年来,认知语言学已经成为国内外学者研究语言学的重点,认知语言学能很好地解释一些其他语言学理论无法解释的语言现象。认知语言学反映了人类认知过程。英语倒装句作为复杂的语言学现象引起很多语言学家的关注。各种不同的语法学派,语言学家和学者在不同的方面做出了很多贡献,但是由于这一复杂的句法特征,很多研究不能系统地解释倒装句。本文以象似性理论为认知原理,对英语倒装句中全部倒装,部分倒装及修辞性倒装进行解释,认为象似性尤其是接近象似性原则和顺序原则是形成倒装的主要原因。 关键字:象似性;倒装句;象似性原则

倒装句作为一种语法形式,是当今语言学研究的一个重要内容。传统理论对倒装的研究忽视了语言外部的因素,未重视认知对语序的制约作用,研究不够全面。 本文以认知理论为基础,对英语倒装句进行分析研究,以象似性原理为理论为依据,对英语中的不同倒装现象进行了分析和解释。在对句首倒装成分做出解释的基础上,本文对倒装句中动词全部活部分出现于主语之前的情况进行了解释,认为邻近象似性是英语倒装句中动词或全部或部分地随着突显成分提到主语之前的原因。 2 文献综述 国内外学者对认知语言学的研究做出了很多贡献,如王寅著的《认知语言学》,赵艳芳的《认知语言学概论》,Lackoff. G& M. Johnson’s MetaphorsWe Liveby等等。所以,以期刊、论文方式讨论倒装句的研究出了许多成果。传统研究主要是从修辞、句法、语用和语篇的角度进行的。徐盛桓,以语料统计为依据,研究英语倒装句,认为倒装是为实现句中各种成分的信息状态合理分布的调节装置,通过调节,使语句的成分有恰当的错位,达到全息的语用目的。余笑,从Verschuern提出的语用综观说出发,探讨英语和汉语中倒装语序的语用功能。发现英汉倒装语序均具有焦点分离突出和情景设定的功能。 而从认知语言学角度研究英语倒装句日益增多。杨壮春,用射体(trajectory)-界标(landmark)理论从认知的角度对倒装句的焦点突显功能作出解释,认为倒装句是该理论在语言学中的现实化,它把“射体-界标”转化为“界标-射体”结构形成句末焦点,以使人们注意的焦点落在新信息上,从而达到英语倒装句的凸显效果。更多的是以图形与背景理论为视角,对英语倒装句的焦点凸显功能进行重新阐释,认为英语倒装句符合图形-背景理论中的凸显原则,如王冰营,吕娜;刘先清;王海欧等。 用传统的修辞、句法、语用和语篇的角度进行的分析有其自身的缺陷,仅仅将倒装句认为是一种表示强调手段的句子。而用图形与背景理论分析可以解决为什么句子应该倒装即英语倒装句起始部分的问题,但是却解决不了为什么动词或者功能词应该放在主语前面这样的问题。象似性作为认知语言学中重要的概念,可以进一步研究英语倒装句中的问题。 3倒装句 英语句子的正常语序是主语位于谓语之前,然后是宾语或表语或其他句子成分。如果将全部谓语或谓语的一部分,或将宾语、表语、宾语补足语提到主语之前,就称为倒装语序(Inverted Order)。

C语言练习3(数组)=参考答案

C语言(数组) 一、选择题 1. 设有程序: main() { int i,a[11]; printf("给数组赋值:\n"); for (i=0;i<=10;i++) scanf("%d",( )); ... ... printf("输出数组:\n"); for(i=0;i<=10;i++) printf("%d,",( )); } 则在程序中的两个园括号中分别应填入:C A) &a[i]和&a[i] B) a[i]和&a[i] C) &a[i]和a[i] D) a[i]和a[i] 2. 设已定义:int a[15]; 则数组a占用的内存单元数是( C ). A) 15 B) 16 C) 30 D) 32 3. 阅读程序: main() { int a[2]={0},i,j,k=2; for(i=0;i

return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 以上程序的输出结果是( D ). A) 720 B) 6 C)24 D) 120 5. 以下定义语句中,错误的是( B ). A) int a[ ] = {6,7,8}; B) int n=5, a[n]; C) char a[ ]= "string"; D) char a[5 ]={'0','1','2','3','4'}; 6. 以下描述中正确的是( D ). A) 数组名后面的常量表达式用一对圆括弧括起来 B) 数组下标从1开始 C) 数组下标的数据类型可以是整型或实型 D) 数组名的规定与变量名相同 7. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( AB ). A) scanf("%c",a[0]); B) scanf("%s",&a); C) printf("%c",a[3]); D) printf("%s",a); 8.若定义数组int a[10] ,其最后一个数组元素为( C ). A) a[0] B) a[1] C) a[9] D) a[10] 9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( B )? A) a[8] 的值为0 B) a[1] 的值为1 C) a[3] 的值为4 D) a[9] 的值为0 10. 指出以下错误语句( A ).

认知语言学不是什么和是什么

认知语言学不是什么和是什么 浏览了“北大中文论坛- 汉语语言学- 认知、心理与逻辑” (https://www.360docs.net/doc/502143892.html,/bbs/forum.php?fid=83)的一些关于认知语言学的贴子,觉得 “认知语言学”这个名称算得上个难以躲避的陷阱了,太容易引人望文生义了。认知语言学不是什么和是什么,还是个问题。这个问题,我每次教认知语言学,都要碰到。例如这个学期开的课,是“汉语认知语言学”。第一次课的一个重点,就是讲认知语言学不是什么和是什么。第二次课一开始,我就问了一个问题:认知语言学是不是类似于心理语言学的语言学分支学科?每个学生的回答都是:是的,是从认知角度研究语言的学科。这样的回答,让我悲伤地想到:第一次课对此问题的唠叨毫无效果,跟他人的思维定势搏斗,何其吃力。没有办法,只好变本加厉地唠叨。 简而言之,正确答案是:认知语言学不是语言学的分支学科,而是当代语言学的一个学派。它是功能主义语言学这个大学派中的小学派。这个大学派还包括不少小学派,如西海岸学派(学者主要在美国西海岸的加州。代表性学者之一是也做汉语的安珊笛。专做汉语的李讷也属于此学派)、俄勒冈学派、系统功能语法学、词语法学等。这个大学派是当代语言学两大对立学派之一,另一大学派就是形式主义语言学(包括古典形式主义——结构主义语言学和当代形式主义——生成与法学)。这两大学派的最大基本假设对立,是语言系统及其子系统(广义句法系统[包括传统的语法和词汇]、语音系统、广义语义系统[包括狭义语义系统、语用系统、话语系统])是不是自足的。形式主义语言学的假设是自足的,功能主义语言学的假设是不自足的。 认知语言学与功能主义语言学中的其他小学派有不少差异,如着重语言的心理因素,不同于系统能语言学等学派的着种语言的社会因素,并在上世纪80年代后期建立了三个类似的心理[广义]句法模式(Lakkof 的《女人、火和危险的东西》、Langacker的《认知语法学基础》第一卷、Fillmore和Kay的《结构式语法学教科书》);主张意义是百科知识,不同意把语义系统分割为语言知识的狭义语义系统和百科知识的语用系统;主张主观论(如语义塑造等过程中的主观作用),不同意某些功能主义学者(如安珊笛)的客观论。尽管认知语言学着重语言的心理因素,但它并非只考虑心理因素,不能把它缩水为从认知角度研究语言。从认知(或心理)角度研究语言,是当代语言学各学派的普遍倾向,并非认知语言学的专利。R. Hardson 在《英语词语法学》的开头列出了当代语言学的10个倾向,其中之一就是“认知主义”。当代语言学的认知主义倾向,是其教父Chomsky从一开始就提出的。他早已有力地批驳了结构主义语言学的行为主义倾向,把语言假设为认知子系统。 “认知语言学“这个名称,为什么容易引人望文生义呢?大概是因为有“认知”这个时髦译名,而且这玩意儿加在“语言学”前面,让这个名称看起来像心理语言学、社会语言学、计算语言学等现役的或退役的边缘学科或交叉学科(如前二者早已是语言学的核心学科了,但曾经是边缘学科)。“认知”译自英语名词cognition或形容词cognitive。老的译名就是“认识”,没什么神秘色彩了吧:)。传统上把心理活动分为三类:认识、情感和意志。三者之中,只有认识得到了密集研究。汉语的“认识”,原是个多义的常用词,再做术语,有容易引人望文生义的缺点。新造个“认知”译名做术语,有好处。再者,用“认识”来译cognitive 打头的名称,就会有容易误解为动宾结构的“认识心理学”(认知心理学)、“认识科学”(认知科学)、“认识语言学”(认知语言学)、“认识语义学”(认知语义学)、“认识语法学”(认知语法学)、“认识音系学”(认知音系学)、“认识人类学”(认知人类学),也不如新造个“认知”来译。 认知主要指人类的信息加工杨宁兄提出了一个很好的问题。认知语言学确实有被时髦地滥用的倾向。认知语言学确实和心理语言学有很大交叉。但是想一想“认知心理学”这个词,就可以知道两者不同。有“认知心理学”而没有“心理认知学”,可见认知科学可以看作心理学一部分。两者的不同,可以说认知科学主要把认识过程看作一种信息处理加工过程。所以“认知”也不等于一般的“认识”。我们用“认知”的场合不用“认识”,原因也不仅限于杨宁兄所说的。 认知科学的主要奠基人George Miller 的名著:“神奇的数字7+2”,其副标题就是“人类信息加工能力的某些局限”(此文我翻译后发表在《心理学动态》1983(4)期)。这篇文章的英语 原文前几年有被人贴到了网上(https://www.360docs.net/doc/502143892.html,/user/smalin/miller.html)。可见此文的地位之重要。现在许多人常常提到这个数字七,我不知道有多少人看过了原文或译文。但大家接受它,可见符合我们的心理直觉。Miller 在发表此文的同时,发表了另一篇重要文章:“人类记忆与信息贮存”此文我翻译后发表在,《思维科学》1986(1)期。这个杂志是山西出的,英文题目就叫Cognitive Science 。不知这个杂志现在还在不在? 不过后来认知科学的发展,范围越来越大,认知语言学跟心理语言学也就越来越难分了。我觉得认知语言

c语言数组典型试题设计含答案

一.选择题(2*20) 【题1】在C 语言中,引用数组元素时,其数组下标的数据类型允许是。A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 【题2】以下对一维整型数组a 的正确说明是。 A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n]; 【题3】若有说明:int a[10];则对a 数组元素的正确引用是。 A)a[10] B)a[3.5] C)a(5) D)a[10-10] 【题4】在C 语言中,一维数组的定义方式为:类型说明符数组名; A)[整型常量表达式] B)[整型表达式] C)[整型常量] 或[整型表达式] D)[常量] 【题5】以下能对一维数组a 进行正确初始化的语句是。 A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]=”10*1”; 【题6】以下对二维数组a 的正确说明是。 A)int a[3][]; B)float a(3,4); C)double a[1][4]; D)float a(3)(4); 【题7】若有说明:int a[3][4];则对a 数组元素的正确引用是。 A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) 【题8】若有说明:int a[3][4];则对a 数组元素的非法引用是。 A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[0][4] 【题9】以下能对二维数组a 进行正确初始化的语句是。 A)int a[2][]={{1,0,1},{5,2,3}}; B)int a[][3]={{1,2,3},{4,5,6}}; C)int a[2][4]={{1,2,3},{4,5},{6}}; D)int a[][3]={{1,0,1},{},{1,1}}; 【题10】以下不能对二维数组a 进行正确初始化的语句是。 A)int a[2][3]={0}; B)int a[][3]={{1,2},{0}}; C)int a[2][3]={{1,2},{3,4},{5,6}}; D)int a[][3]={1,2,3,4,5,6};

认知语言学对英语词汇教学的几点启示

认知语言学对英语词汇教学的几点启示 谷小娟 (天津外国语学院研究生部,天津 300204) 摘 要:词汇是几乎每个英语学习者都头疼的难关,认知语言学的兴起给词汇教学带来很多有益 的启示。本文从核心词汇、意群教学、分析综合法三个方面阐述认知语言学与英语教学实践结合 的作用。前两方面涉及认知语言学对词汇教学宏观影响,第三方面从具体方法上探讨词汇教学 策略。 关键词:认知语言学;核心词汇;意群;分析与综合 Abstract:V ocabulary has always been a headache for m ost English learners.But C ognitive Linguistics brings new light to v ocabulary teaching in many aspects.This paper discusses the application of C ognitive Linguistics to English teaching from three dimensions:core v ocabulary,language chunk,and analysis and synthesis.The first tw o inv olve the Macro-im pact of C ognitive Linguistics on teaching performance,and the third explores s ome specific methods and strategies in language teaching. K ey w ords:cognitive linguistics;core v ocabulary;language chunk;analysis and synthesis 中图分类号:H319.3 文献标识码:A 文章编号:1008-665x(2002)02-0041-04 I.词汇教学现状 学习任何一门语言,词汇都是重要的基石,也是语言学习最终最难以攻克的堡垒。中国作为英语学习的“超级大国”,历来对词汇教学重视有加。各种目的用途的英语教学都有相应的词汇底线,比如英语专业四级大纲要求6,000词汇量,八级12,000,公外四级要求4,200(新大纲),六级5,500;出国考试G RE要求除基础词汇以外再加6,000应试词汇。我国不少学者致力于英语教学,对于适合中国情况词汇教学做了许多有益探索。但也不可否认,在词汇教学中还存在着诸多问题:1.理论研究囿于西方已有成果。因为西方20世纪90年代以前理论研究多涉及在自然条件下(natural setting)习得语言形式(language form),即语法的习得,所以有关外语学习环境下的词汇教学略显苍白。2.理论研究的“阳春白雪”难以融入大众教学的“下里巴人”。来自教学人员的研究多数是感性、技巧性探索,缺乏足够理论指导。比如图书市场上普遍为中国学生看好的“词汇闯关”类的书,宣讲的绝大多数是向记忆和耐力挑战的策略。据统计各种大学英语四六级词汇书就不下20余种,每种每版印数在1~3万册。《G RE词汇精选》从94年问世以来,每年销售量3~5万。更何况还有其他各种词汇书,可谓铺天盖地。这一方面体现出学生学英语的热忱,另一方面也暴露出常规课堂教学的不足。从大批学生半途而废或是背过大量单词却不能进行简单口语会话,不能写出用词恰切的作文等失败经历中,更让人感到,没有足够科学理论方法指导的词汇学习,造成的人力与物力的浪费太大了! 笔者并不反对背单词,而且很赞成在适当层面上集中突破式记忆单词,然而记忆决不仅是单纯重复达到熟练的过程,更是认知过程,至少包括:输入———理解———与原有知识重组———强化———记忆五个环节。英语教师应注重对学生学习单词的科学指导。既然是科学的指导,则必然要有其理论基础。现从认知语 作者简介:谷小娟(1974-),女,助教,研究方向:英语教育 收稿日期:2002.04.04

C语言综合习题及答案

C语言综合习题及答案 Prepared on 24 November 2020

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】

浅谈认知语言学

浅谈认知语言学 发表时间: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]认知术语学是术语学与认知语言学相结合的产物,其中需要探讨和解决的问题还有很多。比如说,不同类型思维活动之间、某一知识领域概念的不同发展阶段之间存在

C语言数组练习及答案

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是(d ) A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() { int a[10],i=0; while(i<10) scanf("%d",________ ); ┇ }

计算机二级c语言第九章 数组和指针习题与答案

第九章数组和指针 1、有以下程序 main() { int a[]={2,4,6,8,10}, y=0, x, *p; p=&a[1]; for(x= 1; x< 3; x++) y += p[x]; printf("%d\n",y); } 程序运行后的输出结果是 A)10 B)11 C)14 D)15 2、有以下程序 void sum(int a[]) { a[0] = a[-1]+a[1]; } main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); printf("%d\n", a[2]); } 程序运行后的输出结果是 A)6 B)7 C)5 D)8 3、有以下程序 main() { int p[8]={11,12,13,14,15,16,17,18},i=0,j=0; while(i++< 7) if(p[i]%2) j+=p[i]; printf("%d\n",j); } 程序运行后的输出结果是 A)42 B)45 C)56 D)60 4、设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i; 要求依次输出x数组6个元素中的值,不能完成此操作的语句是 A)for(i=0;i<6;i++) printf("%2d",*(p++)); B)for(i=0;i<6;i++) printf("%2d",*(p+i)); C)for(i=0;i<6;i++) printf("%2d",*p++); D)for(i=0;i<6;i++) printf("%2d",(*p)++); 5、有以下程序 #include < stdio.h > main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5); printf("%d %d\n",*p,*q); } 程序运行后的输出结果是 A)运行后报错 B)6 6 C)6 11 D)5 10

二语习得的认知语言学观

二语习得的认知语言学观 认知语言学主要是在认知科学的理论背景下建立起来的,这个术语首 先出现于1971年,用来指真正研究大脑的语言(Lamb,1998:381),其与哲学、心理学、神经科学、计算机科学等联系紧密。认知语言学 诞生于20世纪70年代末,直至80-90年代取得较大进展。1989年由 德国语言学家勒内德尔文(ReneDirven)组织的在德国的杜伊斯堡(Duisburg)召开的第一届国际认知语言学大会,标志着认知语言学 的正式确立。此次大会宣布于1990年发行《认知语言学》刊物,成立 国际认知语言学协会(ICLA),并出版认知语言学研究的系列专著。 认知语言学理论产生的哲学基础是体验哲学。概念和意义来自人们对 世界及自身的认知,而人类的认知来源于无休止的对环境自身的体验。Lakoff&Johnson(1980)首先提出了体验哲学的概念,认为客观世界 是人们体验和理解的对象。认知是人们对现实和自身体验的理性过程,是人们对客观世界感知与体验的过程。 1.1基本理论认知语言学的基本理论主要包括概念隐喻理论和构式语 法理论等。绝大多数人将隐喻作为一种语言修辞手段,而与思维和行 为无关。Lakoff&Johnson(1980)认为隐喻普遍存有于日常生活中, 而且其不但存有于语言中,而且存有于思维和行为中。人类思维和行 为的概念系统本质上是隐喻的,所以,人类思维的方式、体验和行为 也是隐喻的。他们指出隐喻和转喻的区别,隐喻是两个相互没有交集 的域之间的映射,而转喻为同一域内的映射。Bencini&Goldberg (2000)提出了与动词中心论相对的构式中心论,即一个句子是以构 式为中心,而动词只部分影响意义。构式中心论能够补充动词中心论 的缺陷,解释了众多动词中心论无法解释得语言现象。 1.2研究方法认知语言学采纳观察、调研、记录和比较等方法对实际 的语料实行分析,然后再得出结论。虽然这种研究方法并非完美,其 全面性和可靠性有时也会受到质疑,但相对于以乔姆斯基为代表的结 构主义派的内省分析法来说,已经是一个不小的进步。此外,内省法

C语言数组练习及答案

C语言数组练习及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-

第四部分数组 4.1 选择题 1. 以下关于数组的描述正确的是(c )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。 A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf("%d",&n); int a[SIZE]; int a[n]; 3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式 C. 整型常量或整型表达式 D. 任何类型的表达式 4. 以下对一维数组m进行正确初始化的是(c )。 A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1 6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。 A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;

语言学常用术语英汉对照表

语言学常用术语英汉对照表Chapter 1 Introduction to Linguistics语言学简介 1. anthropological linguistics 人类语言学 2. applied linguistics 应用语言学 3. arbitrariness任意性 4. competence 语言能力 5. computational linguistics 计算机语言学 6. cultural transmission 文化传递性 7. descriptive (grammar) 描写(语法) 8. descriptive function 描写功能 9. design features识别特征 10. diachronic linguistics 历时语言学 11. duality二重性 12. displacement不受时空限制的特征 13. emotive function 表情功能 14. expressive function表达功能 15. general linguisitcs 普通语言学 16. ideational function概念功能 17. interpersonal function人际功能 18. langue语言 19. linguistics [li?'gwistiks] 语言学 20. morphology 形态学 21. mathematical linguistics 数理语言学 22. metalinguistic function 23. neurological linguistics 神经语言学 24. phonetics 语音学 25. phonology 音系学 26. pragmatics 语用学 27. prescriptive (grammar)规定(语法) 28. psycholinguistics 心理语言学 29. parole 言语 30. performance语言运用 31. productivity能产性 32. poetic function诗学功能 33. phatic communion 交感性谈话 34. referential function所指功能 35. semantics 语义学 36. social function社会功能 37. socio-linguistics 社会语言学 38. synchronic linguistics共时语言学 39. syntax句法学

相关文档
最新文档