第一篇:Matlab基本语法教案
第二章 基本语法
2.1 MATLAB的矩阵、变量与表达式
在MATLAB系统中,只管理着一种对象---矩阵(包括复数矩阵),任何数量在MATLAB中是作为1x1的矩阵来处理的。
一、矩阵的创建:
1.在MATLAB中创建矩阵的原则:
(1)矩阵元素必须写在“[]”内;
(2)矩阵的同一行之间用空格或“,”分隔;
(3)矩阵的行与行之间用分号或回车符分隔;
(4)矩阵的尺寸不必预先定义;
(5)矩阵元素可以是数值、变量、表达式或函数。
2.创建矩阵的四种方法。
(1)在命令窗口直接输入:
如输入:A=[1,2,3;4,5,6;7,8,9] 则显示:A= 2 3 4 5 6 7 8 9
也可用空格代替逗号,用回车代替分号:
如上例:A=[1 2 3 5 6 7 8 9]
(2)由M文件创建矩阵:
则显示:A= 1 2 3 5 6 7 8 9
有时编程需要用M文件创建矩阵。或者当矩阵尺寸较大时,可以按矩阵的输入方式编辑一个M文件(可用循环程序来做),在命令窗口直接执行该文件,即可将矩阵调入工作空间。
(3)由函数创建矩阵:
对于一些特殊的矩阵,可以利用MATLAB的内部函数或用户自定义函数创建矩阵。如diag()函数可生成对角阵。ones(m,n);zeros(m,n)(4)通过数据文件创建矩阵:
save 文件名
(其中,文件名是*.mat文件)load 文件名
例:工作目录下有temp.mat文件,可以执行 load temp
3.复数矩阵表示
(1)复数表示
复数的虚根单位用i,j表示,即:z=3+4i或z=3+4j.例如 输入 z=3+4i
输入z=3+4j 得到:
得到: z =
z =
3.0000 + 4.0000i
3.0000 + 4.0000i(2)复数矩阵
A=[1 2;3 4]+i*[5 6;7 8] 或者A=[1+5i 2+6i;3+7i 4+8i],都得到: A =
1.0000 + 5.0000i
2.0000 + 6.0000i
3.0000 + 7.0000i
4.0000 + 8.0000i
二、MATLAB的变量和表达式 1.变量名命名规则
可以是字母、数字或下划线,但第一个字符必须是字母。
长度<=31
分辨大小写的,M和m是两个变量。
无须对变量的类型进行说明,当需要使用一个新变量时,只须直接对其赋值即可。
2.表达式则是由运算符、函数调用、变量名以及特殊字符组成的式子。
3.MATLAB中基本的赋值语句为:
(1)形式一:变量名=表达式
将表达式的结果赋给变量名(表达式的运算结果都是一个矩阵)。
(2)形式二:表达式
计算表达式的值,将其值赋给MATLAB的永久变量ans。
上面两种形式,当表达式由分号“;”结束时,变量结果不显示。当表达式由逗号“,”或换行号结束,则将结果显示出来。
注:
1)MATLAB中有几个变量不能被clear清除,称永久变量。(其他变量名最好不要与此同)。即
ans:当不指明某一语句的计算结果赋给哪个变量时,系统自动将该计算结果赋给ans;
eps:计算机能产生的绝对值最小的浮点数;
i,j:虚数单位,即-1的平方根;
inf,Inf:正无穷大;
nan,NaN:非数,常产生于0/0等运算;
Pi:圆周率。
2)如果表达式的值太复杂,一行写不下,可以加上三连点“…”回车,然后接下去再写。如:
s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8 +1/9-1/10+1/11-1/12;
3)在MATLAB函数调用时,MATLAB还允许有这样的形式,如[m,p]=bode(n,d,w);
4.字符串与字符串变量:
MATLAB可将字符串当作数组或矩阵处理。在MATLAB中,字符串用单引号括起来,如:
例:
S=„Use Matlab‟ 输出结果是: S= Use Matlab
字符串存储在行向量中,每个元素对应一个字符,向量的值为字符对应的ASCII码值。
2.2 MATLAB的初等运算
一、矩阵运算符:
A‟---矩阵A的转置,如果A是复矩阵,则其运算结果是共轭转置;
A+B---矩阵的加运算, A-B---矩阵的减运算, A*B---矩阵相乘,A的列数与B的行数相等,即A和B矩阵维数相容,维数不相容是不可乘的。如: A---n x m,B---m x r,若C=A*B,则:C---n x r。
B/A---方程X*A=B的解,即X=B*A-1。称矩阵的右除。
AB---方程A*X=B的解,即X=A-1*B。称矩阵的左除。
矩阵的除法,其意义相当于矩阵的求逆运算。左除与右除的关系为:b/a=(a‟b‟)‟。
A^B---矩阵的乘方。
1)A为方阵,B为正整数时,表示矩阵A的B次乘积;
2)B为负整数时,表示矩阵A的逆阵的B次乘积;
3)B为非整数时,如B=n/m,则首先应该将A矩阵自乘n次,然后再对结果开m次方;
4)A、B均为矩阵时无意义。
A.*B---矩阵的点乘运算,表示A和B阵的对应元素直接相乘,A和B要有相同的维数。
点运算在MATLAB中起重要的作用,如X是一个向量,则求取X2时不能直接写成X*X,而必须写成X.*X。
A.B,A./B---矩阵的点除运算,表示A和B阵的对应元素直接相除,A和B要有相同的维数。
A.^B---矩阵的点乘方,表示要对其元素逐一进行幂运算。与点乘相似。
二、关系运算符:
MATLAB中提供了6种关系运算符,用于比较两个同维数的矩阵:
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于
~= 不等于
关系运算符可以用于检查矩阵的元素是否满足某些条件。两个同维数的矩阵比较的结果是与它们同维数的0、1矩阵,1表示结果为真,0表示结果为假。
三、逻辑运算符:
在MATLAB中,逻辑运算符有3种。
& 逻辑与。当运算双方对应元素都为非零时;结果为1,否则,结果为0。
| 逻辑或。当运算双方对应元素有一个为非零时;结果为1,否则,结果为0。
~ 逻辑非。当元素的值为0时,结果为1,否则,结果为0。
例:a=[1 0 3;0 –1 6],b=[-1 0 0;0 5 0.3],计算两矩阵对应元素的逻辑关系。
>> a&b ans = 1 0 0 0 1 1
四、特殊运算符:
在MATLAB中,有一些特殊的符号,具有特殊的意义。
1)在MATLAB的M文件中,可以加入解释行,解释行的标识符为:“%”,该符号后面的内容将作为注释内容。
2)行分隔符:“;” 用在MATLAB语句后,用它时执行结果不显示,可避免显示一些不感兴趣的结果。
3)冒号运算符“:” 最主要的作用是生成向量。如:
j:k---生成向量 [j,j+1,j+2,…,k]
>> a|b ans = 1 0 1 0 1 1
>> ~a ans = 0 1 0 1 0 0
>> ~b ans = 0 1 1 1 0 0 j:i:k---生成向量 [j,j+i,j+2i,j+3i,…,k](j为起始值,i为步距,k为终止值,在仿真中经常用于生成时间向量)
A(:,j)---矩阵A的第j列
A(i,:)---矩阵A的第i行
A(j:k)---生成向量A(A为向量时,为A的第j到第k个元素,当A为矩阵时,为A的按列数的第j到第k个元素)
例:A = 2 3 4 5 6 7 8 9
A(:,j:k)---矩阵A的从第j列到第k列的矩阵子块
A(:,[j,k])---矩阵A的第j列和第k列
例:A = 1 2 3 5 6 7 8 9
>> A(:,1:2)ans = 1 2 4 5 7 8 >> A(:,[1,3])ans = 1 3 4 6 7 9
>> A(2:4)ans = 7 2
4)MATLAB中允许对一个矩阵的单个元素进行赋值,如:
A = 1 2 3 4 5 6 7 8 9
当执行A(2,3)=100,则显示:
A = 1 2 3 4 5 100 7 8 9
注意:矩阵中元素按列存储,上例中对矩阵元素操作也可这样调用 A(8)=8
对于一个矩阵中0元素很多,而非0元素很少的情况,可以先形成0矩阵,然后将非0元素输入。
如果给出的行数和列数大于原矩阵范围,则将自动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为0。如:
A(4,5)=8 A = 1 2 3 0 0 4 5 6 0 0 7 8 9 0 0 0 0 0 0 8 2.3 MATLAB语句
一、输入输出语句:
MATLAB提供了一些输入和输出语句,允许用户和计算机之间进行数据交换。1.INPUT输入函数:
在编程时,如果想随时改变输入参数值,可采用input()函数来进行输入,它的调用格式为:
A=input(提示信息,选项);
提示信息可以是字符串显示,用它来提示输入的是什么样的数据,如: >> A=input('Enter matrix A => ')Enter matrix A => [1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9
如果在input()函数调用时采用了„s‟选项,则允许用户输入字符串。如:>> A=input('Enter matrix A => ','s')
Enter matrix A => matlab A =
Matlab
2.DISP输出函数:
MATLAB提供的输出函数主要有disp()函数,它的调用格式为: disp(A)其中A既可以为字符串,也可以为矩阵 3.将数值转换成字符串输出:
MATLAB还提供了较实用的字符串处理及转换函数,如:
int2str()函数可以方便地将一个整形数据转换成字符串形式,该函数的调用格式为:
例1:>> cstr=int2str(i)例2:>> Inum=15;
>> disp(['The value of Inum is ' int2str(Inum), '!ok'])
The value of Inum is 15!ok 注意:在矩阵中,每一个元素之间要有空格或逗号。
二、循环语句:
MATLAB提供了两种循环方式:for-end循环和while-end循环。
1.for循环语句:
for循环语句为计数循环语句。如果要反复执行的一组语句的循环次数是已知的或预定义的,就可以使用for循环语句。它的基本格式为:
for 循环变量=表达式1:表达式2:表达式3 循环语句组
end
上面的表达式1表示循环初值,表达式3表示循环终值,表达式2是步长,该式相当于冒号表达式。当步长为1时,表达式2可省略。如:
S1=1;S2=0.1;S3=10;for I=S1:S2:S3 X(I)=0 end
注:1)如果表达式3的值<表达式1的值,语句仍是合法的,但MATLAB不执行循环内的语句;
2)for和end必须配对使用;
3)for语句还可以嵌套,但每一个for必须与一个end配对使用。如:
m=3;n=4;for i=1:m for j=1:n A(i,j)=1/(i+j-1)end end
例题:求的值。程序为:
mysum=0;for i=1:100
mysum=mysum+i;end disp(mysum)
2.while循环语句:
while循环语句是条件循环语句,它的作用是在一定的逻辑条件控制下,不断地循环执行一条或一组语句,直到逻辑条件不再满足为止。适用于循环次数事先不知道的情况。它的基本结构
while 条件式
循环语句组
end 它的执行方式是:若条件成立,则执行循环体,再判断表达式是否仍然成立,如不成立则跳出循环,向下执行。
如将上例改用while循环,则可写出下列程序:
sum=0;i=1;while i<=100
sum=sum+i;i=i+1;end
注:1)允许多级嵌套;
2)while和end必须配对使用;
3)for形循环和while形循环也允许相互嵌套。
三、条件控制语句:
1.if条件转移语句:
if 条件式 条件块语句组 end
或:
if 条件式
条件块语句组1 else
条件块语句组2 end
或:
if 条件式1
条件块语句组1 elseif 条件式2 条件块语句组2 else
条件块语句组3 …… end
2.break语句:
break语句的作用一般是终止循环过程,退出循环体。常与if语句一起使用。
例:将上例中给出的问题变成:求出满足>10000的最小m。则程序为:
mysum=0;for m=1:1000
if mysum>10000, break;end
mysum=mysum+m;end disp(m)
四、分支语句:switch语句
switch语句可实现多分支的条件选择,在功能上与if-elseif-elseif-…else结构相似。
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2 ……
case 表达式n
语句组n otherwise
语句组
end
执行过程:
switch后面表达式的值可以是数值变量或字符串变量,通过比较该值与case后面的值来决定执行哪部分。如与哪一个case的值相同就执行哪一个下面的语句组,如果与所有case的值都不同,则执行otherwise下面的语句组。Otherwise语句可以省略,如果省略otherwise,所有case都不满足时跳出分支结构。
Switch与end必须配对使用。
例:如下的程序可以生成一个三对角矩阵:
m=10;n=10;for k=1:m for l=1:n
switch abs(k-l)case 0
A(k,l)=1;case 1
A(k,l)=2;
otherwise
A(k,l)=0;
end end end A
程序运行结果为:
A= 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0
0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1 2 0 0 0 0 0 0 0 0 2 1
五、检测语句:try-catch语句
检测语句try-catch主要用于检测错误并改变流程,其一般形式为:
try
语句组1 catch
语句组2 end
执行方式:检测语句首先执行try下面的语句组1,如果没有错误,执行完成后跳出结构。如果执行语句组1时出现错误,则执行catch下面的语句组2。可以使用lasterr函数查询最后的错误信息,当查询结果为空字符串时,表示语句组1成功执行。
例:使用try-catch语句,判断错误语句。
在编辑器中编辑下列命令,判断错误语句:
n=4;
a=magic(3)%产生3x3的魔方矩阵a try
a_n=a(n,:)%取a的第n行元素
catch
a_end=a(end,:)%如果取a的第n行出错,则改取a的最后一行
end
lasterr %显示出错原因
该程序的执行结果为:
a = 8 1 6 3 5 7 4 9 2 a_end = 4 9 2
ans =
Index exceeds matrix dimensions
六、其它流程控制语句:
1.continue语句:
continue语句用于在for循环和while循环中跳过某些执行语句。
在for循环和while循环中,如果出现continue语句,则跳过循环体中所有剩余的语句继续下一次循环,在嵌套循环中,continue控制执行本嵌套中的下一次循环。
例:使用continue语句,用于统计文件的行数。在编辑器中编辑下列命令:
fid=fopen('magic.m','r')%打开magic.m文件
count=0;%计数器置零
while ~feof(fid);%判断是否是文件末尾
line=fgetl(fid);%从文件中读行
if isempty(line)|strncmp(line,'%',1)%判断是否是空行或注释行
continue %如是空行或注释行继续下一次循环
end
count=count+1;%计数器加1 end
disp(sprintf('%d lines',count));%显示行数(删除空行或注释行后)
2.return语句:
return语句用于终止当前的命令序列,并返回到调用的函数或键盘,也用于终止keyboard方式。
在MATLAB中,被调用的函数运行结束后会自动返回到调用函数,使用return语句时,将return插入被调函数的某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数。
例:在编辑器中编辑下列函数,运行文件:
function d=det(A)
% det(A)为计算矩阵A的行列式函数
if isempty(A);d=1;
return %如果矩阵是空的则返回调用函数
else...end 本次课习题:
计算下列表达式:1.写出MATLAB命令窗口中的常用命令及功能。4.MATLAB对变量名称的规定如何?表达式如何构成?
5.用多种方法输入以下矩阵,并赋值给变量a。
147258 3696.计算以下表达式的值[12+5*(7-4)]÷32。7.已知矩阵,求以下矩阵运算的结果:
147142,B=212求下列矩阵的结果 258 A=369031(1)A*B(2)A.*B‟(3)A3*B(4)A>B(5)A˜=B(6)A&zero
第二篇:对外汉语教学40基本语法和教案
基本语法项目(40项)
主语 — 谓语 — 宾语
我 学习
汉语
定语、状语、补语
我的朋友学习汉语
他认真地学习汉语
他学得很好
1.用疑问代词的疑问句:他是谁?/ 这是什么书?/ 你去哪儿?/ 怎么去?
2.正反疑问句:1.你是不是中国人?/ 你去不去商店?/ 你忙不忙?
2.你是中国人不是?/ 你有没有词典?/ 你有词典没有?
3.用“还是”的选择疑问句:你喝咖啡还是啤酒?/ 你去商店还是(去)书店?
注意区别:A还是B ?
// A或者B
4.定语:1.的 + 名词:这是我的书,那是他的笔。(领属关系)
2.不用“的”:这是中文书。/ 他是汉语老师。(说明性质)
他是我爸爸。/ 那是我们学校。(亲属或单位)
3.动词„的+名词:这是我买的书。/ 看电影的人很多
5.状语: 1.副词作状语:我常去商店。
2.双音节形容词作状语(常用“地”):他高兴地说:“……”。3.单音节形容词作状语(不用“地”):你快走!/ 我要多听多说。4.形容词前有程度副词(一般要用“地”):他们很认真地学习。5.介词短语作状语:我在中国学习。/ 我在他那儿看电视。/ 我从美国来。/ 我跟中国老师学汉语。/
我给他写信。/ 你往前走 / 我对他说
6.存现句:处所+动词+名词
1.表示存在:墙上有(挂着)一幅画。
2.表示出现:前边来了一个人。
3.表示消失:停车场上开走了一辆车。
7.动态助词“了”:动词+了(“了”在动词后,表示动作完成):
1.昨天我去了书店,他没有去书店。(过去:动作已经完成)
2.明天我吃了早饭去书店。
(将来:动作1完成后会出现动作2)3.每天我吃了早饭就去学校。
(平时:动作1完成后出现动作2)
8.语气助词“了”
(一):句子+了(“了”在句尾,表示事情已经发生):
1.现在他去书店买书了。
2.昨天你去书店了没有?(正反问)
9.语气助词“了”
(二):名词 / 形容词 / 句子+了(“了”在句尾,表示变化):
1.春天了,天气暖和了。
2.他现在是大学生了,可以独立生活了。
10.表示很快会发生:“要---了、就要---了、快---了、快要---了”:
1.要下雨了。/ 新年快到了。/ 汽车快要开了。
2.我明天就要(*快要)回国了。(“快要”前不能用时间词语)
11.动态助词“了”+ 数量词 + 语气助词“了”(可能继续,或不再继续):
1.现在,我学汉语学了一年了,我还要学一年。(还要继续)2.我学汉语学了一年了,以后不学了。(不再继续)
12.动态助词“着”:动词+着(表示动作或状态的持续): 1.外边下着雨,刮着风。(动作的持续)
2.教室里的窗开着,门关着。(状态的持续)
13.动态助词“过”:动词+过(表示过去的经历): 1.我去过日本,没有去过美国。
2.正反问:你去过北京没有?
14.表示动作的进行:“在、正、呢、在---呢、正(在)---呢、---着---呢”:
他在看书(呢)。/ 他正看书呢。/ 他看书呢。/ 外边(在/正)下着雨(呢)。
15.连动句(有两个以上的动词):
昨天他去书店买了一本书。(“了”在最后一个动词的后面)
16.兼语句:第一个动词是表示要求、命令的“请、让、叫”等:
A请 / 让 / 叫 B + 动词
我请他来。/ 老师让学生写作文。/ 爸爸叫儿子去买东西。
17.简单趋向补语:
动词后有宾语,趋向补语是“来 / 去”:
1.宾语是处所词语:动词 + 处所词语 + 来 / 去(“来、去”在最后)。
明天他回北京来。// 刚才他进图书馆去了。
2.宾语是事物词语,有两种形式:
* 表示完成:动词 + 来 / 去 + 事物词语。昨天我借来一本书。// 他拿去了那支笔。* 表示要求:动词 + 事物词语 + 来 / 去。客人已经来了,你快倒茶来!
18.复合趋向补语:动词 + 上、下、进、出、回、过、起 + 来/去
1.宾语是处所词语,“来、去”也在最后。
他走回家去了。// 他站起身来
2.表示完成,事物宾语前有数量词,一般有两种形式:
他拿出来(了)一本书。// 他拿出(了)一本书来。
3.表示完成,事物宾语前没有数量词:他拿出书来(了)。
4.表示要求:你拿出书来!
动词:懂、见、完、到、开、上、给、在、成
19.结果补语:动词
+ <
形容词:对、错、好、清楚------
20.可能补语(表示能力或可能):动词 + 得/不 + 结果补语 / 趋向补语: 1.能力:这本书我看得懂 // 这个字我总是写不对 2.可能:他们明天回得来,我们明天回不来。
禁止:你病了,不能出去。/ 我知道这件事,但是不能说出来。比较<
没办法:外边在下雨,我没有伞,出不去。/ 我知道,但是说不出来。
21.程度补语:动词+得 / 不 + 形容词(说明“怎么样”)
1.动词后没有宾语:他学汉语,他学得很好。
2.动词后有宾语的三种形式:他学汉语学得很好。(重复动词)
汉语他学得很好。(宾语提前)
他汉语学得很好。(宾语提前)
22.时量补语:动词 + 时量补语(表示动作持续多长时间):
1.持续性动词有三种形式:我学汉语学了一年。(重复动词)
我学了一年(的)汉语。(动词+时间+宾语)
汉语≒我学了一年。(宾语提前)
2.非持续性动词的形式:
他离开中国一年了。(动词+宾语+时间)3.宾语是人称代词的形式:我等他等了十分钟。/ 我等了他十分钟。4.副词或能愿动词放在重复的动词前:我学汉语只(要)学一年。
23.动量补语:动词 + 动量词“次、遍、下---”:
1.动词 + 动量词 + 事物宾语:
我看了一次电影。/ 他看了一遍课文。2.动词 + 人称代词宾语 + 动量词:昨天,我找了他三次。
24.用“比”字句表示比较:
1.A(不)比B + 形容词:我比他高。/ 我不比他高。
2.A比B更 / 还 + 形容词 / 心理类动词(喜欢、觉得„„):
形容词:我很高,他比我更 / 还高。
心理类:我喜欢锻炼,他比我更 / 还喜欢锻炼。
3.A比B + 形容词 + 数量 // 一点/一些 // 得多/多了:
我比他高五公分 // 一点/一些 //得多/多了。
4.A比B早 / 晚 // 多 / 少 + 动词 + 数量:
我比他早来五分钟。/ 我比他多学了三篇课文。
5.A比B + 动词 + 程度补语,有两种形式:
我比他来得早(一点/一些 //得多/多了)。
我来得比他早(一点/一些 //得多/多了)。
25.用“A跟B(不)一样 +(形容词)”表示比较:
我跟他(不)一样高。
26.用“A有(没有)B这么/那么 + 形容词”表示比较:
他有我这么高。/ 我没有他(那么)高。/ 他有你(这么)高吗?
27.“把”字句:
1.形式:主语 + 把 + 宾语 + 动词 + 其他成分
2.语义:说明移动、变化、产生的结果
我关了门——我把门关了。
3.动词+“了”、“结果补语”、“趋向补语”、“宾语”等,不能用可能补语。
我把门关了。/ 我把作业做完了。/ 你把箱子拿上来。/ 你把这本书给他。
不能说:今天,我把这书看得完。
4.宾语一般是确指的、双方都知道的:你把这本书(*一本书)给他。
5.能愿动词 / 否定词 / 时间副词在“把”的前边:
我要(没)(已经)把这本书给他。
6.动词后有结果补语“在、到、给、成、作”,一般要用“把”字句:
我把汽车停在学校门口。/ 我把汽车停到学校门口。/ 我把笔还给老师。
我把这本英文书翻译成中文。/ 王老师把学生看作是自己的孩子。
28.被动句:
1.“被”字句:主语 + 被 / 让 / 叫 + 宾语 + 动词 + 其他成分
我的词典被(他)借走了。(有时施事可以不出现)
我的词典被人借走了。(有时用“人”,表示不易或无法说明的施事者)
2.意义上的被动句(无标志):信写好了。// 练习做完了。
29.“是---的”:
1.强调已经发生的动作的时间、地点、方式等:
他是昨天来的。/ 他是从北京来的。/ 他是坐飞机来的。
2.表示态度、观点:
你打人是不对的 // 我认为这样做是有道理的。
30.动词重叠:
1.还没有发生,单音节动词之间可用“一”:这个问题,我要想
(一)想。
2.已经完成,单 / 双音节动词之间要用“了”:这个问题,我昨天想了想。
3.双音节动词之间不能用“一”:这个问题,我们要研究(* 一)研究。4.表示“正在”的意思,动词不能重叠:他正在听(* 听听)音乐。
31.形容词重叠:
1.单音节:AA
// 双音节:ABAB 2.重叠的形容词前不能用“很”:她穿得干干净净的(*很干干净净)。3.单 / 双音节形容词重叠作定语,或单独作谓语,后边要用“的”:
一双大大的眼睛 / 一个干干净净的房间 / 他的脸红红的 / 他们都高高兴兴的。
32.概数:
“多”:
数词后是“0” :---多+量词:三十多斤
数词是“1~9” :---量词+多:三斤多
33.“就”和“才”的区别:
1.“就”表示早、快:学校八点上课,他七点半就来了。
2.“才”表示晚、慢:学校八点上课,他八点半才来。
34.“又”和“再”的区别:
1.表示“过去”重复用“又”:他前天来了,昨天又来了。
2.表示“将来”重复用“再”:今天我来了,明天我要再来。(还要来)
3.表示“有规律”地重复:明天又是星期天了。// 明天他又要来。
35.“有一点儿”和“一点儿”的区别:
1.有一点儿+形容词(有“不如意”的意思):这本书很好,可是有一点儿贵。
2.有一点儿+动词:他们想去公园,我也有一点儿想去。3.动词+一点儿(宾语):我会说一点儿汉语。
4.形容词+一点儿(比较):昨天20度,今天(比昨天)冷一点儿。
36.越---越---:
1.主语相同:风越刮越大。
2.主语不同:老师越说,我越不明白。
37.越来越---:
1.冬天到了,天气越来越冷了。
2.我越来越喜欢音乐了。(心理、认知类动词)
38.一---就---(第一个动作发生后,第二个动作马上发生):
1.主语相同:我一下课就回家。2.主语不同:老师一说,我就明白了。
39.定语的顺序:
名词 / 代词 + 指示代词 + 数量词组 + 修饰性形容词 / 名词 + 中心语
爸爸 这 两个 好 朋友…。
公司 那 三个 重要的 部门…。
你 这 四本 汉语 词典…。
她 那 五件 漂亮的 丝绸 衣服…。
40.状语的顺序:
时间 + 处所 + 范围 + 程度 + 情态 / 方式 + 介词词组 + 动 / 形 我们 昨天 在家里 都 很 高兴地 给他 打了 电话。我们 前天 在学校 只 十分 简单地 跟他 谈了谈。他们 都 对我 很热情。
* 关联词语
因为---所以---不但---而且---只要---就---只有---才---如果---就---
一---就---
不是---而是---连---都(也)---既然---就---即使---也---无论(不管)---都(也)---
备课
1.对教学对象与材料的分析
(1)了解学生的实际水平:语言技能、已学知识
(2)分析教材体例:生词、课文、语言点、注释、练习的组合及其编排顺序
* 生词:义项、词性、复现率 * 语言点:个例、多处出现
* 词语例释:单个词语、词语辨析(同义词、反义词;意义、用法)
* 注释部分:句型、文化、科技、经济„„ * 练习内容:形式、重点、题量
(3)确定学习重点和难点:
* 既是课文中安排的,又是学生没有学习过的:是—不是—是不是
* 学生易受母语干扰的:我是很忙
* 学生不易辨别,或容易混淆的:马上——立刻
* 某一种表达功能常用的句式或句子:感谢、道歉
* 有关中国文化习俗或价值观念的:讲人情、拉关系
2.选择适当的教学方法
(1)用什么方式引出课文内容、新语言点?(2)各环节如何过渡?
(3)词汇、语法、篇章各部分如何衔接?
(4)新语言点的学习用演绎法,还是用归纳法、类比法?(5)怎样设计情景进行训练?(6)如何检查学生是否明白、会用?
教案的构成要素
1. 教学目标与要求
“目标”是笼统的,比如:能正确地辩音辩调,扩大词汇量,掌握新的表达 方式,加强口头和笔头成段表达的技能训练。
“要求”是具体的,如:学习多少个词语,掌握多少个语法点,能运用某种 句式进行会话。
* 可以将目标与要求合在一起写,所用的动词是:
学习、掌握、了解、理解、拼读、区别、分辨、使用、运用、表达„„
2. 课时分配,以及分课时的教学目标与要求
一篇课文需要多少课时,每节课需要完成的内容与达到的目标是什么,教学 的进度该怎样掌握,如何处理预定内容与临时调整的问题„„
3. 教学重点:
要抓语言项目:语音、词汇、语法;功能、意念
主要是动词、形容词、虚词,句型、句式
4.教学方法(包括辅助教学手段)
直接法:用词典上的定义,用学生已学的旧词解释„„ 直观法:教具、图表、动作、表情、多媒体课件„„ 情景法:设计情景、利用实地情景„„
其他:
模仿、重复、替换、对比;问答、启发、引导、归纳、演绎„„
5.教学环节(教学步骤、时间分配):
课堂教学的主要环节,以教学过程的“感知、理解、巩固、运用”四个阶段 为基础。语言课的教学有五个主要环节:
* 一般步骤:组织教学→复习检查→讲练新课→新课小结→布置作业 * 需要确定:各环节所占的时间比重、内容与方式(以100分钟为例):
1)组织教学:2分钟~5分钟
* 点名、问候、用轻松的话题活跃气氛、介绍本节课的教学目标和内容。
* 内容导入:文化导入、旧知导入、情景导入、教具导入、随机导入
方法:提问、回忆、讲述、对比、游戏„„
2)复习检查:10分钟~15分钟
检查与巩固:听写、快速问答、复述、讲解作业中的问题„„
3)讲练新课:70分钟~80分钟(讲:三分之一,练:三分之二)
强调精讲多练,注重运用,师生互动;板书设计,情景操练„„
一般顺序:朗读——词语讲解——分段——提问和回答——归纳段落大意
——讲授语法点——操练
4)新课小结:2分钟~5分钟
归纳总结新的语言点、重点内容„„
5)布置作业:2分钟~5分钟
造句、作文、复述、预习„„
第三篇:现代汉语语法基本参考书目
现代汉语语法及语法教学基本参考书目
(带“• ”必读)
一、现代汉语语法(含现代汉语教材中的语法部分)
朱德熙(1982)《语法讲义》,北京:商务印书馆。黄伯荣、廖序东主编(2007)《现代汉语》(增订四版),北京:高等教育出版社。邵敬敏主编(2007)《现代汉语通论》(第二版),上海:上海教育出版社。
二、汉语作为第二语言教学语法
卢福波(2011)《对外汉语教学实用语法》(修订版),北京:北京语言文化大学出版社。杨玉玲(2011)国际汉语教师语法教学手册,高教出版社。杨德峰(2009)《对外汉语教学核心语法》,北京:北京大学出版社。施春宏编著(2009)《作为第二语言的汉语概说》,北京:北京大学出版社。孙德金(2002)《汉语语法教程》,北京:北京语言大学出版社。
三、汉语作为第二语言教学参考语法
陆庆和(2006)《实用对外汉语教学语法》,北京:北京大学出版社。施春宏编著(2010)《国际汉语教学语法教程》,北京:北京语言大学出版社。房玉清(1992)《实用汉语语法》,北京:北京语言学院出版社。李德津、程美珍(1988)《外国人实用汉语语法》,北京:华语教学出版社。刘月华、潘文娱、胡韡(2001)《实用现代汉语语法》(增订本),北京:商务印书馆。
四、汉语作为第二语言语法偏误
周小兵(2007)外国人学汉语语法偏误研究》,北京:北京语言大学出版社。肖奚强(2009)外国学生汉语句式学习难度及分级排序研究,高教出版社。彭小川(2004)《对外汉语教学语法释疑201例》,商务印书馆。
第四篇:日语基本语法—形容词
日语基础语法--形容词
形容词
1.1.1.词形特征
形容词由词干和词尾构成,词干不变化,词尾是变化部分,普通词尾为[い] 1.1.2.词尾变化
词尾变化通常称为“活用”,形容词共有五种活用形 1.1.2.1.连用形
即连接活用词的形式,形容词有两个连用形:[く]和[かっ]
[く] 后续否定形容词[ない],表示否定;后续其它各类词(万能形),后续用言,后续接续助词[て],中顿
[かっ] 后续过去完了动词[た],表示过去完了时态(单一形)
例: おいしい---> おいしくない(不好吃)---> おいしかった(真好吃)
すずしい---> すずしくなる(变凉爽)---> すずしかった(以前凉爽)
あつい---> あつくありません(不热)---> あつかった(以前热)
1.1.2.2.终止形
即终止句子的形式,终止形是不变化的形式,即原形。除终止句子外,终止形后面还可以跟某些助词、助动词,给句子增添某种意义。后续助词如[から][が],后续助动词如[でしょう]
例: きょうは暑いね。
今天好热呀!
夏が暑いです。
夏天炎热。
冬は寒いでしょう。
冬天大概很冷吧。1.1.2.3.连体形
即连接体言的形式,形容词的连体形与原形相同,用于修饰体言,做定语。此外,亦可后续某些助词,为句子增添某种意义。后续助词如[ので][のに]
例: 暖かい春/温暖的春天
甘いりんご/甜苹果 1.1.2.4.假定形
即表示假定条件的形式,词尾[い]变成[けれ],后续假定助词[ば],表示假定条件。
例: 寒い---> さむければ/如果冷的话
甘くない---> あまくなければ/如果不甜的话 1.1.2.5.推量形
即表示推测的形式。词尾[い]变成[かろ],后续推量助动词[う],表示推测
例: 涼しい---> すずしかろう/大概凉爽吧 よい---> よかろう/大概好吧
不过,现代日语中,除了少数约定俗成的惯用形式中还可见[かろう]形式外,表示推测时,已经改用了更简便的[终止形 + でしょう(.だろう)]方式了
例: 涼しい---> すずしいでしょう/大概凉爽吧 1.1.3.形容词的简体与敬体
在形容词原有活用形式后加上[です],形容词句就变为敬体了,这里的[です]在形容词后没有“是”的意思,仅仅是一个敬体标志,不参与任何活用变化。
例: きのうは暑かった。(简体)---> きのうは暑かったです。(敬体)
上海の冬は寒くない。(简体)---> 上海の冬は寒くないです。(敬体)
第五篇:java基本语法总结
一、标识符及字符集
Java语言规定标识符是以字母、下划线“_”或美元符号“$”开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定:
1.类、接口:通常使用名词,且每个单词的首字母要大写
2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个单词 3.常量:全部大写,单词之间用下划线分隔
4.变量:通常使用名词,首字母小写,其后大写字母分隔每个单词,避免使用$符号。
Java语言使用国际字符集(Unicode)。Unicode字符集定义了一套国际标准字符集。通常的ASCII码是8位的,而Unicode字符集中的每个字符占16位,即2个字节,整个字符集共包括65336个字符,兼容ASCII,排在Unicode字符集最前面的256个字符就是ASCII码。Unicode除了可以表示256个ASCII码外,还可以表示汉字、拉丁语、希腊字母、朝鲜语等。
Java标识符总结:1.由字母、数字、_或$组成,不能以数字开头;2.严格区分大小写;3.长度不限
二、关键字
Java常用关键字列表如下: 关键字
含义
用在类的声明中来指明一个类是不能被Abstract
实例化的,但是可以被其它类继承。一个抽象类可以使用抽象方法,抽象方法不需要实现,但是需要在子类中被实现
Boolean Break
布尔类型,只有true或者false 停止,并跳出本层循环
8bit(位),也就是8个1/0表示,即二进制 Byte
用来定义一组分支选择,如果某个值和Case
switch中给出的值一样,就会从该分支开始执行。
用来声明当try语句块中发生运行时错误或非运行时异常时运行的一个块。用来定义一个字符类型 类
在Java中,const是作为保留字以备扩充,同样的保留字以备扩充还有goto.你Const
可以用final关键字.final也可以用于声明方法或类,被声明为final的方法或类不能被继承。一般C里是const 对应java用final
用来打断当前循环过程,从当前循环的最Continue
后重新开始执行,如果后面跟有一个标签,则从标签对应的地方开始执行。配合switch跟case使用,但case中没Default
有找到匹配时,则输出或者为default后面的语句。
用来声明一个循环,这个循环的结束条件可以通过while关键字设置 用来定义一个double类型的变量 如果if语句的条件不满足就会执行该语句。Catch
Char Class
Do
Double
Else
Extends
extends 继承 类X 通过extend 类Y来
添加功能,或者添加变量,或者添加方法,或者覆盖类Y的方法。一个接口extends另外一个接口来添加方法。
False
假的
一个Java语言的关键字。你只能定义一个实体一次,以后不能改变它或继承它。Final
更严格的讲:一个final修饰的类不能被子类化,一个final修饰的方法不能被重写,一个final修饰的变量不能改变其初始值。
用来执行一段代码不管在前面定义的try语句中是否有异常或运行时错误发生。用来定义一个浮点数变量
用来声明一个循环。程序员可以指定要循环的语句,推出条件和初始化变量。虽然为Java关键字,但是仅在C语言里面使用,Java不提供Goto语句
Java编程语言的一个关键字,用来生成一If
个条件测试,如果条件为真,就执行if下的语句。
Java(TM)编程语言的一个关键字,在类的Implements
声明中是可选的,用来指明当前类实现的接口。
Java(TM)编程语言的一个关键字,在源文Import
件的开始部分指明后面将要引用的一个类或整个包,这样就不必在使用的时候加Finally
Float
For
Goto
上包的名字。
一个二操作数的Java(TM)语言关键字,用Instaceof
来测试第一个参数的运行时类型是否和第二个参数兼容。
Java(TM)的一个关键字,用来定义一个整形变量
Java(TM)的一个关键字,用来定义一系列Interface 的方法和常量。它可以被类实现,通过implements关键字。
Long Native New
用来定义一个long类型的变量 本地方法。
用来创建一个新的方法
当String类型没赋值时,该变量的值为Null 包的意思
用在方法或变量的声中。它表示这个方法或变量只能被这个类的其它元素所访问。在方法和变量的声明中使用,它表示这个Protected
方法或变量只能被同一个类中的,子类中的或者同一个包中的类中的元素所访问。在方法和变量的声明中使用,它表示这个方法或变量能够被其它类中的元素访问。Int
Null
Package
Private
Public
Return
用来结束一个方法的执行。它后面可以跟
一个方法声明中要求的值。
Short
用来定义一个short类型的变量。用来定义一个变量为类变量。类只维护一个类变量的拷贝,不管该类当前有多少个Static
实例。“static” 同样能够用来定义一个方法为类方法。类方法通过类名调用而不是特定的实例,并且只能操作类变量。
Super
父类
是一个选择语句,与case,default,break一起使用。线程同步
用来代表它出现的类的一个实例。this可以用来访问类变量和类方法。
允许用户抛出一个exception对象或者任何实现throwable的对象
用在方法的声明中来说明哪些异常这个Throws
方法是不处理的,而是提交到程序的更高一层。
用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,Transient
transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。Switch
Synchronized
This
Threadsafe
Throw True 真的
用来定义一个可能抛出异常语句块。如果一个异常被抛出,一个可选的catch语句Try 块会处理try语句块中抛出的异常。同时,一个finally语句块会被执行,无论一个异常是否被抛出。
用在Java语言的方法声明中说明这个方Void 法没有任何返回值。“void”也可以用来表示一句没有任何功能的语句。
用在变量的声明中表示这个变量是被同时运行的几个线程异步修改的。用来定义一段反复执行的循环语句。循环的退出条件是while语句的一部分。volatile
while
分类如下:
1.访问控制:private 私有的 protected 受保护的 public 公共的
2.类、方法和变量修饰符abstract 声明抽象 class 类 extends 扩允,继承 final 终极,不可改变的implements实现 interface 接口 native 本地 new 新,创建 static 静态 strictfp 严格,精准synchronized 线程,同步 transient 短暂 volatile 易失
3.程序控制语句 break 跳出循环 continue 继续 return 返回 do 运行 while 循环 if 如果 else 反之 for 循 instanceof 实例 switch 开关 case 返回开关里的结果 default 默认
4.错误处理 catch 处理异常 finally 有没有异常都执行 throw 抛出一个异常对象
throws 声明一个异常可能被抛出 try 捕获异常 5.包相关import 引入 package 包
6.基本类型 boolean 布尔型 byte 字节型 char 字符型 double 双精度 float 浮点 int 整型 long 长整型 short 短整型 null 空 true 真 false 假 7.变量引用 super 父类,超类 this 本类 void 无返回值
注意:
1、所有的java关键字都是小写的
2、goto 和const 是保留关键字,在java 中没使用
3、strictfp 和volatile 不常用; sizeof、then 不是关键字。4、true,false,null 不是严格意义上的关键字,而是literals
三、运算符
Java基 本 的 运 算 符 按功能分有 下 面 几 类 : 1.算 术 运 算 符(+,-,*,/,%,++,--)Java对 加 运 算 符 进 行 了 扩 展 ,使 它 能 够 进 行 字 符 串 的连 接,如 “abc”+“de”,得到 串 “abcde”。与 C、C++不 同 ,对 取 模 运 算 符 %来 说 ,其 操 作 数 可 以为浮点 数 , 如37.2%10=7.2。i++与 ++i的 区 别:i++在 使 用 i之 后 ,使 i的 值 加 1,因 此 执 行 完 i++后 ,整 个 表达式的 值 为 i,而 i的 值变 为 i+1;++i在 使 用 i之 前 ,使 i的 值 加 1,因 此 执 行 完 ++i后 ,整 个 表达式和 i的 值 均 为 i+1。
2.关 系 运 算 符(>,<,>=,<=,==,!=)该运算符的特点是:运算完的结果,要么是true,要么是false。Java中 ,任 何 数 据 类 型 的 数 据(包 括 基 本 类 型 和 组 合 类 型)都可 以 通 过 ==或!=来 比 较 是 否 相 等(这 与 C、C++不 同)。关 系 运 算 符 用 来 比 较 两 个 值 ,返 回 布 尔 类 型 的值true或 false,而不是C、C++中 的 1或 0。
3.布 尔 逻 辑 运 算 符(& | ^!&& ||)逻辑运算符除了!外都是用于连接两个boolean类型表达式。&: 只有两边都为true结果是true。否则就是false。|:只要两边都为false结果是false,否则就是true ^:异或:和或有点不一样。两边结果一样,就为false。两边结果不一样,就为true.& 和 &&区别: & :无论左边结果是什么,右边都参与运算。&&:短路与,如果左边为false,那么右边不参数与运算。| 和|| 区别:|:两边都运算。
||:短路或,如果左边为true,那么右边不参与运算。4.位 运 算 符(>>,<<,>>>,&,|,^,~)用于操作二进制位的运算符,如2*8 = 2<<3。>>>(无符号右移)5.赋 值 运 算 符(= +=-= *= /= %=)6.条 件 运 算 符(?:)7.其 它(包 括 分 量 运 算 符 · ,下 标 运 算 符 [],实 例 运 算 符 instanc eof,内 存 分 配运 算 符 new,强 制 类 型 转 换 运 算 符(类 型), 方 法调 用 运 算 符()等)例子:对两个变量的数据进行互换。不需要第三方变量。
int a = 3,b = 5;-->b = 3,a = 5;a = a + b;a = 8;b = ab;a = 5;a = a ^ b;//
b = a ^ b;//b = a ^ b ^ b = a a = a ^ b;//a = a ^ b ^ a = b;
Java 中共有 54 种运算符,按优先级可以分为 14 级:
优先级 操作符 含义 关联性 用法
--1 [ ] 数组下标 左 array_name[expr].成员选择 左 object.member
()方法参数 左 method_name(expr_list)()实例构造 左 class_name(expr_list)++ 后缀自增 左 lvalue++--后缀自减 左 lvalue--2 ++ 前缀自增 右 ++rvalue--前缀自减 右--lvalue ~ 按位取反 右 ~expr!逻辑非 右!expr + 一元加 右 +expr减 左 expr-expr
+ 字符串连接 左 strExpr + strExpr 6 >> 有符号右移 左 expr >> distance >>> 无符号右移 左 expr >>> distance 7 < 小于 左 expr < expr <= 小于等于 左 expr <= expr > 大于 左 expr > expr >= 大于等于 左 expr >= expr
instanceof 类型比较 左 ref instanceof refType == 等于 左 expr == expr!= 不等于 左 expr!= expr & 整数按位与 左 integralExpr & integralExpr & 布尔与 左 booleanExpr & booleanExpr 9 ^ 整数按位异或 左 integralExpr ^ integralExpr ^ 布尔异或 左 booleanExpr ^ booleanExpr 10 | 整数按位或 左 integralExpr | integralExpr | 布尔或 左 booleanExpr | booleanExpr 11 && 逻辑与 左 booleanExpr && booleanExpr 12 || 逻辑或 左 booleanExpr || booleanExpr 13 ? : 条件运算 右 booleanExpr ? expr : expr 14 = 赋值 右 lvalue = expr *= 乘赋值 右 lvalue *= expr /= 除赋值 右 lvalue /= expr %= 模赋值 右 lvalue %= expr += 加赋值 右 lvalue += expr += 字符串连接赋值 右 lvalue += expr-= 减赋值 右 lvalue-= expr <<= 左移赋值 右 lvalue <<= expr >>= 有符号右移赋值 右 lvalue >>= expr >>>= 无符号右移赋值 右 lvalue >>>= expr &= 整数按位与赋值 右 lvalue &= expr &= 布尔与赋值 右 lvalue &= expr |= 整数按位或赋值 右 lvalue |= expr |= 布尔或赋值 右 lvalue |= expr ^= 整数按位异或赋值 右 lvalue ^= expr ^= 布尔异或赋值 右 lvalue ^= expr
运算符不但有优先级,还有关联性。上表中关联性为“左”表示该表达式从左边开始进行运算;关联性为“右”表示该表达式从右边开始进行运算。
四、流程控制语句(If、switch、do while、while、for、break、continue)1.当判断数据范围,获取判断运算结果boolean类型时,需要使用if;当判断固定个数的值的时候,可以使用if,也可以使用switch。但是建议使用switch,效率相对较高。switch(变量){ case 值:要执行的语句;break;…
default:要执行的语句;} 工作原理:用小括号中的变量的值依次和case后面的值进行对比,和哪个case后面的值相同了就执行哪个case后面的语句,如果没有相同的则执行default后面的语句; 细节:1):break是可以省略的,如果省略了就一直执行到遇到break 为止; 2):switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种; 3):default可以写在switch结构中的任意位置;如果将default语句放在了第一行,则不管expression与case中的value是否匹配,程序会从default开始执行直到第一个break出现。
2.当某些语句需要执行很多次时,就用循环结构。
while和for可以进行互换。区别在于:如果需要定义变量控制循环次数。建议使用for。因为for循环完毕,变量在内存中释放。
3.break:作用于switch,和循环语句,用于跳出,或者称为结束。break语句单独存在时,下面不要定义其他语句,因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。4.continue:只作用于循环结构,继续循环用的。作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。