第一篇:C++名字修饰规则
C++ 编译器的函数名修饰规则
函数名字修饰(Decorated Name)方式
函数的名字修饰(Decorated Name)就是编译器在编译期间创建的一个字符串,用来指明函数的定义或原型。LINK程序或其他工具有时需要指定函数的名字修饰来定位函数的正确位置。多数情况下程序员并不需要知道函数的名字修饰,LINK程序或其他工具会自动区分他们。当然,在某些情况下需要指定函数的名字修饰,例如在C++程序中,为了让LINK程序或其他工具能够匹配到正确的函数名字,就必须为重载函数和一些特殊的函数(如构造函数和析构函数)指定名字装饰。另一种需要指定函数的名字修饰的情况是在汇编程序中调用C或C++的函数。如果函数名字,调用约定,返回值类型或函数参数有任何改变,原来的名字修饰就不再有效,必须指定新的名字修饰。C和C++程序的函数在内部使用不同的名字修饰方式,下面将分别介绍这两种方式。
1.C编译器的函数名修饰规则
对于__stdcall调用约定,编译器和链接器会在输出函数名前加上一个下划线前缀,函数名后面加上一个“@”符号和其参数的字节数,例如 _functionname@number。__cdecl调用约定仅在输出函数名前加上一个下划线前缀,例如_functionname。__fastcall调用约定在输出函数名前加上一个“@”符号,后面也是一个“@”符号和其参数的字节数,例如 @functionname@number
2.C++编译器的函数名修饰规则
C++的函数名修饰规则有些复杂,但是信息更充分,通过分析修饰名不仅能够知道函数的调用方式,返回值类型,参数个数甚至参数类型。不管 __cdecl,__fastcall还是__stdcall调用方式,函数修饰都是以一个“?”开始,后面紧跟函数的名字,再后面是参数表的开始标识和按照参数类型代号拼出的参数表。对于__stdcall方式,参数表的开始标识是“@@YG”,对于__cdecl方式则是“@@YA”,对于 __fastcall方式则是“@@YI”。参数表的拼写代号如下所示: X--void
D--char
E--unsigned char
F--short
H--int
I--unsigned int
J--long
K--unsigned long(DWORD)M--float
N--double
_N--bool U--struct....指针的方式有些特别,用PA表示指针,用PB表示const类型的指针。后面的代号表明指针类型,如果相同类型的指针连续出现,以“0”代替,一个“0”代表一次重复。U表示结构类型,通常后跟结构体的类型名,用“@@”表示结构类型名的结束。函数的返回值不作特殊处理,它的描述方式和函数参数一样,紧跟着参数表的开始标志,也就是说,函数参数表的第一项实际上是表示函数的返回值类型。参数表后以“@Z”标识整个名字的结束,如果该函数无参数,则以“Z”标识结束。下面举两个例子,假如有以下函数声明:
int Function1(char *var1,unsigned long);
其函数修饰名为“?Function1@@YGHPADK@Z”,而对于函数声明: void Function2();
其函数修饰名则为“?Function2@@YGXXZ”。
对于C++的类成员函数(其调用方式是thiscall),函数的名字修饰与非成员的C++函数稍有不同,首先就是在函数名字和参数表之间插入以“@”字符引导的类名;其次是参数表的开始标识不同,公有(public)成员函数的标识是“@@QAE”,保护(protected)成员函数的标识是 “@@IAE”,私有(private)成员函数的标识是“@@AAE”,如果函数声明使用了const关键字,则相应的标识应分别为 “@@QBE”,“@@IBE”和“@@ABE”。如果参数类型是类实例的引用,则使用“AAV1”,对于const类型的引用,则使用“ABV1”。下面就以类CTest为例说明C++成员函数的名字修饰规则: class CTest {......private:
void Function(int);protected:
void CopyInfo(const CTest &src);public:
long DrawText(HDC hdc, long pos, const TCHAR* text, RGBQUAD color, BYTE bUnder, bool bSet);
long InsightClass(DWORD dwClass)const;......};
对于成员函数Function,其函数修饰名为“?Function@CTest@@AAEXH@Z”,字符串“@@AAE”表示这是一个私有函数。成员函数CopyInfo只有一个参数,是对类CTest的const引用参数,其函数修饰名为 “?CopyInfo@CTest@@IAEXABV1@@Z”。DrawText是一个比较复杂的函数声明,不仅有字符串参数,还有结构体参数和HDC 句柄参数,需要指出的是HDC实际上是一个HDC__结构类型的指针,这个参数的表示就是“PAUHDC__@@”,其完整的函数修饰名为 “?DrawText@CTest@@QAEJPAUHDC__@@JPBDUtagRGBQUAD@@E_N@Z”。InsightClass是一个共有的const函数,它的成员函数标识是“@@QBE”,完整的修饰名就是“?InsightClass@CTest@@QBEJK@Z”。
无论是C函数名修饰方式还是C++函数名修饰方式均不改变输出函数名中的字符大小写,这和PASCAL调用约定不同,PASCAL约定输出的函数名无任何修饰且全部大写。
3.查看函数的名字修饰
有两种方式可以检查你的程序中的函数的名字修饰:使用编译输出列表或使用Dumpbin工具。使用/FAc,/FAs或/FAcs命令行参数可以让编译器输出函数或变量名字列表。使用dumpbin.exe /SYMBOLS命令也可以获得obj文件或lib文件中的函数或变量名字列表。此外,还可以使用 undname.exe 将修饰名转换为未修饰形式。
函数调用约定和名字修饰规则不匹配引起的常见问题 函数调用时如果出现堆栈异常,十有八九是由于函数调用约定不匹配引起的。比如动态链接库a有以下导出函数:long MakeFun(long lFun);
动态库生成的时候采用的函数调用约定是__stdcall,所以编译生成的a.dll中函数MakeFun的调用约定是_stdcall,也就是函数调用时参数从右向左入栈,函数返回时自己还原堆栈。现在某个程序模块b要引用a中的MakeFun,b和a一样使用C++方式编译,只是b模块的函数调用方式是__cdecl,由于b包含了a提供的头文件中MakeFun函数声明,所以MakeFun在b模块中被其它调用MakeFun的函数认为是 __cdecl调用方式,b模块中的这些函数在调用完MakeFun当然要帮着恢复堆栈啦,可是MakeFun已经在结束时自己恢复了堆栈,b模块中的函数这样多此一举就引起了栈指针错误,从而引发堆栈异常。宏观上的现象就是函数调用没有问题(因为参数传递顺序是一样的),MakeFun也完成了自己的功能,只是函数返回后引发错误。解决的方法也很简单,只要保证两个模块的在编译时设置相同的函数调用约定就行了。
在了解了函数调用约定和函数的名修饰规则之后,再来看在C++程序中使用C语言编译的库时经常出现的LNK 2001错误就很简单了。还以上面例子的两个模块为例,这一次两个模块在编译的时候都采用__stdcall调用约定,但是a.dll使用C语言的语法编译的(C语言方式),所以a.dll的载入库a.lib中MakeFun函数的名字修饰就是“_MakeFun@4”。b包含了a提供的头文件中 MakeFun函数声明,但是由于b采用的是C++语言编译,所以MakeFun在b模块中被按照C++的名字修饰规则命名为 “?MakeFun@@YGJJ@Z”,编译过程相安无事,链接程序时c++的链接器就到a.lib中去找“?MakeFun@@YGJJ@Z”,但是 a.lib中只有“_MakeFun@4”,没有“?MakeFun@@YGJJ@Z”,于是链接器就报告:
error LNK2001: unresolved external symbol ?MakeFun@@YGJJ@Z
解决的方法和简单,就是要让b模块知道这个函数是C语言编译的,extern “C”可以做到这一点。一个采用C语言编译的库应该考虑到使用这个库的程序可能是C++程序(使用C++编译器),所以在设计头文件时应该注意这一点。通常应该这样声明头文件:
#ifdef _cplusplus extern “C” { #endif
long MakeFun(long lFun);
#ifdef _cplusplus }
#endif
这样C++的编译器就知道MakeFun的修饰名是“_MakeFun@4”,就不会有链接错误了。
许多人不明白,为什么我使用的编译器都是VC的编译器还会产生“error LNK2001”错误?其实,VC的编译器会根据源文件的扩展名选择编译方式,如果文件的扩展名是“.C”,编译器会采用C的语法编译,如果扩展名是 “.cpp”,编译器会使用C++的语法编译程序,所以,最好的方法就是使用extern “C”。
1.__stdcall
以“?”标识函数名的开始,后跟函数名;函数名后面以“@@YG”标识参数表的开始,后跟参数表;
参数表以代号表示: X--void,D--char,E--unsigned char,F--short,H--int,I--unsigned int,J--long,K--unsigned long,M--float,N--double,_N--bool,....PA--表示指针,后面的代号表明指针类型,如果相同类型的指针连续出现,以“0”代替,一个“0”代表一次重复; 参数表的第一项为该函数的返回值类型,其后依次为参数的数据类型,指针标识在其所指数据类型前;
参数表后以“@Z”标识整个名字的结束,如果该函数无参数,则以“Z”标识结束。其格式为“?functionname@@YG*****@Z”或“?functionname@@YG*XZ”,例如 int Test1(char *var1,unsigned long)-----“?Test1@@YGHPADK@Z” void Test2()-----“?Test2@@YGXXZ” __cdecl调用约定:规则同上面的 _stdcall 调用约定,只是参数表的开始标识由上面的“@@YG”变为“@@YA”。__fastcall调用约定:规则同上面的_stdcall调用约定,只是参数表的开始标识由上面的“@@YG”变为“@@YI”。
VC++对函数的省缺声明是“__cedcl”,将只能被C/C++调用。
CB在输出函数声明时使用4种修饰符号 :
__cdecl cb 的默认值,它会在输出函数名前加 “_”,并保留此函数名不变,参数按照从右到左的顺序依次传递给栈,也可以写成_cdecl和cdecl形式。
__fastcall 修饰的函数的参数将尽可能的使用寄存器来处理,其函数名前加@,参数按照从左到右的顺序压栈; __pascal 它说明的函数名使用 Pascal 格式的命名约定。这时函数名全部大写。参数按照从左到右的顺序压栈;
__stdcall 使用标准约定的函数名。函数名不会改变。使用 __stdcall 修饰时。参数按照由右到左的顺序压栈,也可以是_stdcall;
C语言函数调用约定
在C语言中,假设我们有这样的一个函数:
int function(int a,int b)
调用时只要用 result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就出现来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。为此,计算机提供了一种被称为栈的数据结构来支持参数传递。
栈是一种先后进先出的数据结构,栈有一个存储区、一个栈顶指针。栈顶指针指向堆栈中第一个可用的数据项(被称为栈顶)。用户可以在栈顶上方向栈中加入数据,这个操作被称为压栈(Push),压栈以后,栈顶自动变成新加入数据项的位置,栈顶指针也随之修改。用户也可以从堆栈中取走栈顶,称为弹出栈(pop),弹出栈后,栈顶下的一个元素变成栈顶,栈顶指针随之修改。
函数调用时,调用者依次把参数压栈,然后调用函数,函数被调用以后,在堆栈中取得数据,并进行计算。函数计算结束以后,或者调用者、或者函数本身修改堆栈,使堆栈恢复原装。
在参数传递中,有两个很重要的问题必须得到明确说明:
当参数个数多于一个时,按照什么顺序把参数压入堆栈 函数调用后,由谁来把堆栈恢复原状
在高级语言中,通过函数调用约定来说明这两个问题。常见的调用约定有:
stdcall cdecl fastcall thiscall naked call
stdcall调用约定
stdcall很多时候被称为pascal调用约定,因为pascal是早期很常见的一种教学用计算机程序设计语言,其语法严谨,使用的函数调用约定就是stdcall。在Microsoft C++系列的C/C++编译器中,常常用PASCAL宏来声明这个调用约定,类似的宏还有WINAPI和CALLBACK。stdcall调用约定声明的语法为(以前文的那个函数为例):
int __stdcall function(int a,int b)
stdcall的调用约定意味着:1)参数从右向左压入堆栈,2)函数自身修改堆栈 3)函数名自动加前导的下划线,后面紧跟一个@符号,其后紧跟着参数的尺寸
以上述这个函数为例,参数b首先被压栈,然后是参数a,函数调用function(1,2)调用处翻译成汇编语言将变成:
push 2
// 第二个参数入栈 push 1
// 第一个参数入栈
call function // 调用参数,注意此时自动把cs:eip入栈
而对于函数自身,则可以翻译为:
push ebp
// 保存ebp寄存器,该寄存器将用来保存堆栈的栈顶指针,可以在函数退出时恢复
mov ebp,esp // 保存堆栈指针
mov eax,[ebp + 8H] // 堆栈中ebp指向位置之前依次保存有 ebp,cs:eip,a,b,ebp + 8指向 a add eax,[ebp + 0CH] // 堆栈中ebp + 1 2处保存了b mov esp,ebp
// 恢复esp pop ebp ret 8
而在编译时,这个函数的名字被翻译成_function@8
注意不同编译器会插入自己的汇编代码以提供编译的通用性,但是大体代码如此。其中在函数开始处保留esp到ebp中,在函数结束恢复是编译器常用的方法。
从函数调用看,2和1依次被push进堆栈,而在函数中又通过相对于ebp(即刚进函数时的堆栈指针)的偏移量存取参数。
函数结束后,ret 8 表示清理8个字节的堆栈,函数自己恢复了堆栈。
cdecl调用约定
cdecl 调用约定又称为C调用约定,是C语言缺省的调用约定,它的定义语法是:
int function(int a ,int b)//不加修饰就是C调用约定 int __cdecl function(int a,int b)//明确指出C调用约定
cdecl调用约定的参数压栈顺序是和 stdcall是一样的,参数首先由有向左压入堆栈。所不同的是,函数本身不清理堆栈,调用者负责清理堆栈。由于这种变化,C 调用约定允许函数的参数的个数是不固定的,这也是C语言的一大特色。对于前面的function函数,使用cdecl后的汇编码变成: 调用处 push 1 push 2
call functionadd
esp,8
// 注意:这里调用者在恢复堆栈
被调用函数_function处
push ebp
// 保存ebp寄存器,该寄存器将用来保存堆栈的栈顶指针,可以在函数退出时恢复
mov ebp,esp // 保存堆栈指针
mov eax,[ebp + 8H] // 堆栈中ebp指向位置之前依次保存有 ebp, cs:eip,a,b,ebp +8指向a add eax,[ebp + 0CH] // 堆栈中ebp + 12处保存了b mov esp,ebp
// 恢复esp pop ebp
ret
// 注意,这里没有修改堆栈
MSDN中说,该修饰自动在函数名前加前导的下划线,因此函数名在符号表中被记录为_function,但是我在编译时似乎没有看到这种变化。由于参数按照从右向左顺序压栈,因此最开始的参数在最接近栈顶的位置,因此当采用不定个数参数时,第一个参数在栈中的位置肯定能知道,只要不定的参数个数能够根据第一个后者后续的明确的参数确定下来,就可以使用不定参数,例如对于CRT中的sprintf函数,定义为:
int sprintf(char* buffer,const char* format,...)
由于所有的不定参数都可以通过 format 确定,因此使用不定个数的参数是没有问题的。
fastcall调用约定
fastcall调用约定和stdcall类似,它意味着:
函数的第一个和第二个DWORD参数(或者尺寸更小的)通过ecx和edx传递,其他参数通过从右向左的顺序压栈 被调用函数清理堆栈
函数名修改规则同stdcall
其声明语法为:int fastcall function(int a,int b)
为了说明这个调用约定,定义如下类和使用代码: class A {
public:
int function1(int a,int b);
int function2(int a,...);};int A::function1(int a,int b){
return a+b;}
int A::function2(int a,...){
va_list ap;
va_start(ap,a);
int i;
int result = 0;
for(i = 0;i < a;i ++)
{
result += va_arg(ap,int);
}
return result;}
void callee(){
A a;
a.function1(1,2);
a.function2(3,1,2,3);}
// 下面这段汇编代码是原文章的,我觉得有问题,还是自己反汇编看看
//函数function1调用0401C1D
push
200401C1F
push
100401C21
lea
ecx,[ebp-8]00401C24
call function1
// 注意,这里this没有被入栈 //函数function2调用00401C29
push
300401C2B
push
200401C2D
push
100401C2F
push
300401C31
lea
eax,[ebp-8]
这里引入this指针00401C34
push
eax00401C35
call
function200401C3A
add
esp,14h
以下代码是我修改分析的:
上面的C++代码,必须包含 stdarg.h,提供动态参数头文件
int A::function1(int a,int b)
// {
004113A0 push
ebp 004113A1 mov
ebp,esp 004113A3 sub
esp,0CCh 004113A9 push
ebx 004113AA push
esi 004113AB push
edi 004113AC push
ecx
004113AD lea
edi,[ebp-0CCh] 004113B3 mov
ecx,33h
004113B8 mov
eax,0CCCCCCCCh 004113BD rep stos
dword ptr es:[edi] 004113BF pop
ecx
004113C0 mov
dword ptr [ebp-8],ecx return a+b;
004113C3 mov
eax,dword ptr [a] 004113C6 add
eax,dword ptr [b] }
004113C9 pop
edi 004113CA pop
esi 004113CB pop
ebx 004113CC mov
esp,ebp 004113CE pop
ebp 004113CF ret
void callee(){
00411460 push
ebp 00411461 mov
ebp,esp 00411463 sub
esp,0CCh 00411469 push
ebx 0041146A push
esi 0041146B push
edi 0041146C lea
edi,[ebp-0CCh] 00411472 mov
ecx,33h
00411477 mov
eax,0CCCCCCCCh 0041147C rep stos
dword ptr es:[edi] A a;
a.function1(1,2);
0041147E push
// 参数 2 入栈 00411480 push
// 参数 1 入栈 00411482 lea
ecx,[a]
// this 指针----> ECX 00411485 call
A::function1(411050h)a.function2(3,1,2,3);
0041148A push
0041148C push
0041148E push
00411490 push
00411492 lea
eax,[a]
// 这里 this 指针入栈了,对照 callee 对 function1 的调用,00411495 push
eax
// 对 this 的处理是不同的
00411496 call
A::function2(411122h)
// 此处调用者自己没有恢复堆栈
// 由于上面的入栈顺序可知,在 function 2中当保存ebp 后(打开stack frame后),堆栈的状态如下.ebp
// 保存的 EBP 的值, 且此时ebp指向该处 RetAddr
// 返回地址
this指针
// 入栈的 this 指针
参数 3
// 下面是入栈的参数, 从右向左入栈 参数 1 参数 2 参数 3
0041149B add
esp,14h
// 此处调用者自己恢复堆栈
//.............下面的汇编代码是检查堆栈和恢复 callee 堆栈的操作,不再写了 }
可见,对于参数个数固定情况下,它类似于stdcall,不定时则类似cdecl
naked call 调用约定
这是一个很少见的调用约定,一般程序设计者建议不要使用。编译器不会给这种函数增加初始化和清理代码,更特殊的是,你不能用return返 回返回值,只能用插入汇编返回结果。这一般用于实模式驱动程序设计,假设定义一个求和的加法程序,可以定义为:
__declspec(naked)int add(int a,int b){
__asm mov eax,a
__asm add eax,b
__asm ret }
注意,这个函数没有显式的return返回值,返回通过修改eax寄存器实现,而且连退出函数的ret指令都必须显式插入。
上面代码被翻译成汇编以后变成:
mov eax,[ebp+8] add eax,[ebp+12] ret 8
注意这个修饰是和__stdcall及cdecl结合使用的,前面是它和cdecl结合使用的代码,对于和stdcall结合的代码,则变成:
__declspec(naked)int __stdcall function(int a,int b){
__asm mov eax,a
__asm add eax,b
__asm ret 8
//注意后面的8 }
至于这种函数被调用,则和普通的cdecl及stdcall调用函数一致。
函数调用约定导致的常见问题
如果定义的约定和使用的约定不一致,则将导致堆栈被破坏,导致严重问题,下面是两种常见的问题:
函数原型声明和函数体定义不一致 DLL导入函数时声明了不同的函数约定
以后者为例,假设我们在dll种声明了一种函数为:
__declspec(dllexport)int func(int a,int b);//注意,这里没有stdcall,使用的是cdecl 使用时代码为:
typedef int(*WINAPI DLLFUNC)func(int a,int b);
hLib = LoadLibrary(...);
DLLFUNC func =(DLLFUNC)GetProcAddress(...)//这里修改了调用约定 result = func(1,2);
//导致错误
由于调用者没有理解WINAPI的含义错误的增加了这个修饰,上述代码必然导致堆栈被破坏,MFC在编译时插入的checkesp函数将告诉你,堆栈被破坏了。
第二篇:修饰调查报告
修饰调查报告
一、教学要求:
通过本节的学习,要求学生熟练掌握以下知识:
1、设置文字格式(字体、字号、字形、颜色和一些特殊格式等)。
2、设置段落格式(包括段落的对齐方式、缩进方式、段落的行距、段间距等)。
二、教学时间安排:
修饰调查报告(4课时)
三、教学重点、难点:
1、重点:设置文字格式(包括设置字体、字号、字形);设置段落格式(包括段落的对齐方式、缩进方式、行距、段间距等)。
2、难点:设置段落的缩进方式、行距和段间距。
四、教学方法:
采用教师讲解与演示相结合,以学生上机操作为主,辅导学生完成“学着做”,要在机房上课。
五、教材分析:
本节的主要目的是让学生通过对调查报告的排版学习文字格式及段落格式的设置。在学习本节时,可先引导学生从两个方面来分析调查报告中的效果:
(一)文字格式:例如报告中文字的大小、形状和颜色有什么不同;
(二)段落格式:例如每个段落中的第一行有无空格、空了多少格,段落中行与行之间的距离、以及段落与段落之间的距离、文档中的标题和段落是怎么对齐的等等。通过这些方面的分析,让学生在“学着做”的操作 1
过程中对文档的最终美化效果有个明确的思路。在完成本节的“学着做”任务之后,指导学生认真学习本节中的有关补充知识,并通过“动手做”来总结和巩固的排版技巧。
六、教学内容:
第一课时
一、教学内容:
1、设置标题字体
2、调整标题字大小
3、变换文字颜色
二、教师展示已经设置文字格式的调查报告,增强教学内容的直观性、启发性,增强学生的尝试愿望,激发学生的学习兴趣。
三、教师利用多媒体网络教室演示:设置标题字体(教师边讲解边演示操作),设置字体的作用:不同的字体体现了不同的风格。通过字体的设置可使文章显得结构分明、重点突出:
1、选定标题行;
2、单击“格式”工具栏上“字体”下拉列表项右边的小箭头,弹出下拉列表;
3、用鼠标上下拖动垂直滚动条,找到并单击“华文琥珀”字休,被选中的标题文字就以华文琥珀字体显示。
常见汉字字体示例:
宋体:关于大气污染的调查报告Happy Birthday
仿宋:关于大气污染的调查报告Happy Birthday
楷体:关于大气污染的调查报告Happy Birthday
黑体:关于大气污染的调查报告Happy Birthday
隶书:关于大气污染的调查报告Happy Birthday
幼圆:关于大气污染的调查报告Happy Birthday
行楷:关于大气污染的调查报告Happy Birthday
彩云:关于大气污染的调查报告Happy Birthday
四、教师指导学生模仿操作,完成教科书中81页的“动手做”,老师应强调,在Word中进行文字修饰一般要遵循“先选定,后操作”的原则。
1、Word文档的默认英文字体是:Times New Roman。
2、Word文档的默认中文字体是:宋体。
五、学生自主学习“设置标题文字大小和颜色”,完成82页中的“学着做”。同桌可以相互讨论。教师巡回指导。学生探究文字大小的表示方法:(字号数和磅数);(字号数越大,字越小;磅数越大,字越大)。
1、Word文档默认的字号大小是5号字。
2、Word文档默认的字体颜色是黑色。
六、教师演示几种文字的修饰效果,指导学生完成85页“动手做”。几种文字的修饰效果:加粗、倾斜、下划线、边框、底纹、字符缩放。
七、总结本节内容,并介绍除了用工具栏外,还可以通过“格式”——“字体”菜单命令,完成文字格式的设置。
八、教学后记:
第二课时
一、教学内容:
设置文字格式的其它效果:阴影、上标、下标、空心字、删除线;字
符间距、字符位置、字符效果。
二、复习检查:指定学生演示操作,对文字设置字体、字号、颜色。
三、教师示范,演示字符效果的设置:
1、选中文字;
2、选择“格式”——“字体”菜单命令,在弹出的“字体”对话框中,单击“字体”选项卡;
3、选择“效果”栏中的“阴影”选项,单击“确定”完成阴影的设置。
四、指导学生动手操作,完成“动手做”中的“文字效果”的设置。
五、辅导学生学习本节的补充知识:
1、在“字体”对话框的“字符效果”选项卡,可以设置文字的动态效果。但这些效果只能在屏幕上显示,无法打印。
2、另类方法:格式刷(单击、双击)
六、总结本节内容:
1、文字修饰效果:字符缩放、加粗、倾斜、下划线、字符边框、字符底纹
2、效果的设定与取消,多种效果的组合。
3、(1)设置阴影和设置上标等;(2)调整字符缩放比例、字符间距、垂直方向的相对位置;(3)设置动态效果。
七、教学后记:
第三课时
一、教学内容:
1、调整段落的缩进。
2、设置段落的对齐。
二、教师边讲边演示,用“格式”工具栏和标尺来设置段落的缩进和段落的对齐。
1、调整段落的缩进:
水平标尺上有六个设置标志:左页缩进、右页缩进(它的调节对整篇文档都起作用)、首行缩进、悬挂缩进、左缩进、右缩进(只对当前光标所在段落或所选的几个段落起作用)。使用按钮拖动鼠标进行调整,(按住Alt键可精确调整)。
2、设置段落的对齐:
段落的对齐方式有:两端对齐、居中、右对齐、左对齐和分散对齐五种。
三、辅导学习完成本节中的“学着做”。启发引导学生用“格式”——“段落”菜单命令完成“动手做”。(也可用鼠标右键:在文档中右击,弹出快捷菜单选择“段落”)。
四、总结:
无论是设置缩进,还是段落的对齐,都应当先放好插入点,光标落在要调整的段内。用“段落”对话框设置段落缩进或对齐,可在“缩进和间距”选项卡中一次完成。
介绍格式栏上“减小缩进量”和“增大缩进量”的作用。
五、布置作业。
六、教学后记:
第四课时
一、教学内容:
调整段落间距与行间距。
二、复习检查上节学习内容,指几名学生演示段落缩进和段落的对齐,用“工具栏”上的水平标尺或“格式”——“段落”菜单命令均可。若有不正确操作集体纠正,操作完成好的给予表扬鼓励。
三、教师边讲解边演示段落间距和行间距的设置:
1、行间距:是一个段落中行与行之间的距离。
2、段间距:指的是相邻两个段之间的距离。
3、Word文档中默认的行间距为单倍行距,默认的段间距为0。操作:将“调查报告”第一自然段设置为1.5倍行间距,段间距:段前0.5行;段后0行。
(1)将光标移到第1段任意位置;
(2)选择“格式”——“段落”菜单命令,选“缩进和间距”选项卡;
(3)单击“行距”选项右边的向下箭头,选择“1.5倍行距”后;
(4)调节“段前”右边的值为“0.5行”,“段后”为“0行”后,“确定”。
四、课堂练习:
辅导学习完成P93页“动手做”。对做得好的学生,展示其作业,并给予表扬。
五、总结本节内容:
1、调整段落的缩进。
2、设置段落的对齐。(五种对齐方式,四个对齐按钮)
3、调整段落间距与行间距。
4、回车可形成一定的行间距,但会造成一些问题
5、格式刷的使用对段落的设置同样有效。
六、布置作业:
七、教学后记:
第三篇:修饰、描写
描写手法:描是描绘,写是摹写。描写就是用生动形象的语言,把人物或景物的状态具体地描绘出来。这是一般记叙文和文学写作常用的表达方法。它分为细描与白描、静态描写与动态描写、正面描写与侧面描写、虚写与实写、人物描写、环境描写、物体描写、细节描写、渲染与烘托、欲扬先抑、联想和想象等。(一)某句话在文中的作用:
1、文首:开篇点题;渲染气氛(散文),埋下伏笔(记叙类文章),设置悬念(小说,但上海不会考),为下文作辅垫;总领下文;
2、文中:承上启下;总领下文;总结上文;
3、文末:点明中心(散文);深化主题(记叙类文章文章);照应开头(议论文、记叙类文章文、小说)
(二)修辞手法的作用:
(1)它本身的作用;(2)结合句子语境。
1、比喻、拟人:生动形象;
答题格式:生动形象地写出了+对象+特性。
2、排比:有气势、加强语气、一气呵成等;
答题格式:强调了+对象+特性
3;设问:引起读者注意和思考;
答题格式:引起读者对+对象+特性的注意和思考 反问:强调,加强语气等;
4、对比:强调了„„突出了„„
5、反复:强调了„„加强语气
(三)句子含义的解答:
这样的题目,句子中往往有一个词语或短语用了比喻、对比、借代、象征等表现方法。答题时,把它们所指的对象揭示出来,再疏通句子,就可以了。
(四)某句话中某个词换成另一个行吗?为什么? 动词:不行。因为该词准确生动具体地写出了„„ 形容词:不行。因为该词生动形象地描写了„„
副词(如都,大都,非常只有等):不行。因为该词准确地说明了„„的情况(表程度,表限制,表时间,表范围等),换了后就变成„„,与事实不符。
(五)一句话中某两三个词的顺序能否调换?为什么? 不能。因为:
(1)与人们认识事物的(由浅入深、由表入里、由现象到本质)规律不一致。(2)该词与上文是一一对应的关系。
(3)这些词是递进关系,环环相扣,不能互换。
(六)段意的概括归纳
1.记叙类文章:回答清楚(什么时间、什么地点)什么人做什么事。
格式:(时间+地点)+人+事。
2.说明类文章:回答清楚说明对象是什么,它的特点是什么。
格式:说明(介绍)+说明对象+说明内容(特点)3.议论类文章:回答清楚议论的问题是什么,作者观点怎样。
格式:用什么论证方法证明了(论证了)+论点
(七)表达技巧在古代诗歌鉴赏中占有重要位置,表现手法诸如用典、烘托、渲染、铺陈、比兴、托物寄情、情景交融、借景抒情、动静结合、虚实结合、委婉含蓄、对比手法、讽喻手法、象征法、双关法等等。诗中常用的修辞方法有夸张、排比、对偶、比喻、借代、比拟、设问、反问、反复等。分析诗歌语言常用的术语有:准确、生动、形象、凝练、精辟、简洁、明快、清新、新奇、优美、绚丽、含蓄、质朴、自然等。复习时要系统归纳各种表达技巧,储备相关知识。首先要弄清这些表达技巧的特点和作用,再结合具体诗歌进行仔细体味、辨析
至于评价诗歌的思想内容和作者的观点态度,则包括总结作品的主旨,分析作品所反映的社会现实,指出其积极意义或局限性等。
总之,鉴赏古代诗词,第一步,把握诗词内容,可以从以下几方面入手:1细读标题和注释;2分析意象;3品味意境;4联系作者。第二步,弄清技巧:1把握形象特点;2辨析表达技巧;3说明表达作用。第三步,评价内容观点:1概括主旨;2联系背景;3分清主次;4全面评价。
答题时,要特别注意以下几点:一是紧扣要求,不可泛泛而谈;二是要点要齐全,要多角度思考;三是推敲用语,力求用语准确、简明、规范。易混术语区分
(一)“方式、手法”的区分 艺术手法,又叫表达技巧,包括: ①表达方式 :记叙、描写、抒情、议论、说明。
②表现手法 :起兴、联想、烘托、抑扬、照应、正侧、象征、对照、由实入虚、虚实结合、运用典故、直抒胸臆、借景抒情、寓情于景、情景交融、托物言志、借古讽今、化动为静、动静结合、以小见大、开门见山。
③修辞 :比喻、借代、夸张、对偶、对比、比拟、排比、设问、反问、引用、反语、反复。
(二)“情”、“景”关系区别
借景抒情、寓情于景、情景交融都是诗人把要表达的感情通过景物表达出来。“借景抒情”表达感情比较直接,读完诗歌后的感受是见“情”不见“景 ”;“寓情于景”、“情景交融”。表达感情时正面不着一字,读完诗歌后的感受是见“景”不见“情”,但是仔细分析后却发现诗人的感情全部寓于眼前的自然景色之中,一切景语皆情语。
(三)描写的角度
常见的角度有:形、声、色、态、味。“形”、“色”是视觉角度;“声”是听觉角度;“态”分为动态和静态;“味”是触觉角度
常见的六种描写手法 写景状物是古代诗歌中常见的内容之一,作者通过描写景物,可以渲染气氛,抒发情感,深化中心,推动情节发展。我们欣赏诗歌,除了读懂字面语意,提升思想素质和审美情感,还要关注诗人用语言写景状物的形式与技巧。描写手法主要分正面描写和侧面描写,高考常见的描写鉴赏角度主要有以下六种:(1)侧面描写——衬托
如元代王冕的《白梅》:冰雪林中著此身,不同桃李混芳尘。忽然一夜清风起,散作乾坤万里春。
这首诗突出了梅花耐寒、清高、报春的特征,主要运用了衬托、对比的手法,衬托是通过描写甲来使乙表现得更突出的方法。衬托分映衬和反衬。如《梦游天姥吟留别》中“天台一万八千丈,对此欲倒东南倾”就是用天台之高映衬天姥之高的,《琵琶行》中写江中之月“唯见江心秋月白”衬托琵琶声的引人入胜,“别时茫茫江浸月”衬托人物凄凉的心情。《项脊轩志》中用“万籁有生”来反衬“庭阶寂寂”的。(2)各种修辞手法
如辛弃疾的《摸鱼儿》:淳熙已亥,自湖北漕移湖南,同官王正之置酒小山亭,为赋。
更能消几番风雨?匆匆春又归去。惜春长怕花开早,何况落红无数。春且住,见说道,天涯芳草无归路。怨春不语。算只有殷勤,画檐蛛网,尽日惹飞絮。
长门事,准拟佳期又误,蛾眉曾有人妒。千金纵买相如赋,脉脉此情谁诉?君莫舞,君不见,玉环飞燕皆尘土!闲愁最苦。休去倚危栏,斜阳正在,烟柳断肠处。
词的上阕,作者在借景抒情过程中所运用的主要修辞方法是设问和比拟,诗文中运用修辞手法,大体和其他文体中的修辞作用一样。学生要善于发现修辞手法,并说明作用。如比喻为更形象生动(忽如一夜春风来,千树万树梨花开。);比拟是把事物人格化(羁鸟恋旧林,池鱼思故渊。);反问为了强调(两情若是久长时,又岂在朝朝暮暮?);夸张是为了强调和突出(白发三千丈,缘愁似个长);对偶是为了增强诗词的音乐美,表意凝炼,抒情酣畅,增强诗歌外在形式美(无边落木萧萧下,不尽长江滚滚来);在古代诗歌中,借代、通感等都是常见的修辞手法,学生应加以注意。尤其注意比喻、比拟的区别(比喻注重不同事物之间的相似性,比拟注重化无情为有情),借代是用事物相关的东西来代替该事物,如部分代替整体(帆可代船,羽林代士兵),对偶与对比的区别(对比主要是意义内容的相反或相对,而不管结构形式如何;对偶主要是结构形式上的对称,要求字数相等、结构相同或相似),还要注意多种修辞手法的综合交叉运用。(3)正面描写——动静结合
如王维的《山居秋暝》:空山新雨后,天气晚来秋。明月松间照,清泉石上流。竹喧归浣女,莲动下渔舟。随意春芳歇,王孙自可留。颔联描写皓月当空,青松如盖,是静景描写,山泉清冽,流泻山石之上,是动景描写。山泉因雨后水量充足,流势增大,从石上流过,淙淙有声,以动衬静,反衬出山中的宁静。诗人描写景物非常注重景物动态与静态的相互映衬,可以动静结合,也可以以静写动,以动写静,以动衬静。动静的结合往往和衬托相关。比如李白的《望庐山瀑布》“遥看瀑布挂前川”写出了遥看瀑布的第一眼形象,像一条巨大的白练挂在山间,“挂”字化动为静。再比如王维的《鸟鸣涧》“人闲桂花落,夜静春山空。月出惊山鸟,时鸣春涧中”用花落、月出、鸟鸣突出了春涧的幽静,王籍的《入若耶溪》“蝉噪林愈静,鸟鸣山更幽。”也是以声写静,以动衬静。“山舞银蛇,原驰蜡像”是以动写静。
(4)正面描写——虚实结合
如柳永《雨霖铃》:寒蝉凄切,对长亭晚,骤雨初歇。都门帐饮无绪,留恋处,兰舟摧发。执手相看泪眼,竟无语凝噎。念去去千里烟波,暮霭沉沉楚天阔。多情自古伤离别,更那堪冷落清秋节。今宵酒醒何处,杨柳岸、晓风残月。此去经年,应是良辰好景虚设。便纵有千种风情,更与何人说。
词中“今宵酒醒何处,杨柳岸晓风残月”设想别后的情景:一舟离岸,词人酒醒梦回,只见习习晓风吹拂萧萧疏柳,一弯残月高挂柳梢,想像中别后的凄凉景象倍增眼前断人肠的离愁。诗歌中,“实”是指客观世界中存在的实象、实事、实境,“虚”是想象的情景。二者互相联系,互相渗透转化,可以达到虚实相生的境界,丰富诗中的意象,开拓诗中的意境,为读者提供广阔的审美空间。
例如李白的《梦游天姥吟留别》“日月照耀金银台”、“霓为衣兮风为马”、“虎鼓瑟兮鸾回车”、“仙之人兮列如麻”就是用想像中美好的仙境。欧阳修的《踏莎行》:“候馆梅残,溪桥柳细,草薰风暖摇征辔。离愁渐远渐无穷,迢迢不断如春水。寸寸柔肠,盈盈粉泪,楼高莫近危阑倚。平芜尽处是春山,行人更在春山外。”上阕写实,通过初春景象反衬“行人”的离愁别绪。下阕实虚,“行人”想像妻子凭栏远望,思念“行人”的愁苦之景,从而将离愁别绪抒发得淋漓尽致。李煜《虞美人》“雕栏玉砌应犹在,只是朱颜改”,“雕栏玉砌”“故国”是回忆中的景物。姜夔《扬州慢》中的虚景“春风十里”,实景“尽荠麦青青”,昔盛更显今衰。想像是虚写的关键,虚是为实服务的。(5)正面描写——色彩的渲染
如杜甫的《绝句》:两个黄鹂鸣翠柳,一行白鹭上青天。窗含西岭千秋雪,门泊东吴万里船。
作者突出了刚抽新芽的柳枝,成双成对的黄鹂,自由自在的白鹭和一碧如洗的青天,四种鲜明的颜色新鲜而且明丽,构成了绚丽的图景。色彩的渲染可以传达出愉快的情感,也可以反衬思归的感伤,如杜甫的另一首《绝句》“江碧鸟逾白,山青花欲燃。今春看又过,何日是归年?”就是浓彩重墨渲染了一派怡人风光,山青翠,花红艳,鸟翎白,碧波绿,景象清新,赏心悦目,却是为写下文勾起漂泊的伤感作铺垫。白居易《忆江南》“日出江花红胜火,春来江水绿如蓝”是通过红日映花衬水增加了色彩的明亮度,追忆江南美景的;骆宾王的《鹅》“鹅、鹅、鹅,曲项向天歌。白毛浮绿水,红掌拨清波。”鹅洁白的羽毛浮于绿水之上,红掌拨动,绿水泛波,红、白、绿三色对比有寒有暖,鲜明而协调,在蓝天、白云之下,在绿草如茵的碧水、清澈见底的池塘边,“白毛”与“绿水”比美,“红掌”与“清波”争胜,多么绚丽的画面,多么富于童趣和生活气息。真可谓状物如在目前。(6)正面描写——观察角度的变化
如杜牧的《山行》:远上寒山石径斜,白云生处有人家。停车坐爱枫林晚,霜叶红于二月花。
头两句描绘了秋山远景。第一句描写了秋山高远的景象,表现了诗人勇于攀登的精神。第二句描写了秋山中的一个特定场景,在白云浮动的天空下有几户人家隐约可见。后两句描绘了秋山近景。“霜叶红于二月花”一句,生机勃勃,鲜艳夺目,清新刚劲,形象鲜明,给人一种秋光胜似春光的美感。描写要有层次性———由远到近或由下而上等。苏轼的《题西林壁》中说:“横看成岭侧成峰,远近高低各不同。”看同一景物,观察者所处的方位不同,角度不同,俯视,仰视,远眺,近看,视觉形象会呈现千姿百态,变化万千。从不同角度描写,会使读者对所描写的景物产生更加全面的认识,获得更完美的感受。
鉴赏古代诗歌中的描写,首先要了解有那些常见的鉴赏角度,主要是多角度描写———正面描写(比较简单,这里不作研究)和侧面描写中的衬托、动静结合、色彩的渲染、点面结合、虚实相生、远近高低观察角度的变化等。各种手法之间可能有交错运用的现象,比如以动衬静、色彩的对比也可以是反衬。其次要善于根据诗歌中所描写的景物事物特点和人物形象,去探究作者是利用什么手法技巧达到这一表现目的的。
第四篇:修饰答案
专题二:修辞手法
修辞手法的作用:
(1)比喻的作用是能将表达的内容说得生动、具体、形象。给人以深刻鲜明的形象,使说理更透彻。
(2)拟人的作用是使具体事物人格化,语言生动、形象。
(3)夸张的其作用是揭示事物的本质,烘托气氛,引起联想,使表达的事物更突出、更鲜明。
(4)排比的作用是增强语言气势,深化思想内容,增强文章的说服力和感染力。
(5)对偶的主要作用是整齐匀称,节奏感强,高度概括,有音乐美。
(6)对比的作用是能使语言色彩鲜明,事物的性质、特征等更加鲜明突出。
(7)反复的作用是突出思想,强调感情,有时能够加强节奏感。
(8)借代的作用是可引人联想,形象突出、生动、具体、使特点更鲜明。
(9)设问的作用是提醒人们注意、引起思考、突出某些内容。
(10)反问的作用是加强语气,激发读者的感情,以使读者留下深刻印象。实战操练:
(一)风
杨绛
为什么天地这般复杂地把风约束在中间?【A】硬的东西把它挡住,软的东西把它牵绕住,不管它怎样猛烈地吹,吹过遮天的山峰,挣脱缭绕的树林,扫过辽阔的海洋,终逃不到天地之外去。或者为此,风一辈子不能平静,和人的感情一样。
也许最平静的风,还是拂拂微风。果然纹风不动,不是平静,却是酝酿风暴了。蒸闷的暑天,风重重地把天压低了一半,树梢头的小叶子都沉沉垂着,风一丝不动,可是何曾平静呢?【B】风的力量,已经可以预先觉到,好像蹲伏的猛兽,不在睡觉,正要纵身远跳。只有拂拂微风最平静,没有东西去阻挠它:树叶儿由它撩拨,杨柳顺着它弯腰,花儿草儿都随它俯仰,门里窗里任它出进,轻云附着它浮动,水面被它偎着,也柔和地让它搓揉,随着早晚的温凉、四季的寒暖,一阵微风,像那悠远轻淡的情感,使天地浮现出忧喜不同的颜色。有时候一阵风是这般轻快,这般高兴,顽皮似的一路拍打拨弄。有时候淡淡的带些清愁,有时候润润的带些温柔;有时候亢爽,有时候凄凉。谁说天地无情?它只微微的笑,轻轻地叹息,只许抑制着风拂拂吹动。因为一放松,天地便主持不住。
假如一股流水,嫌两岸缚束太紧,它只要流、流、流,直流到海,便没了 1
边界,便自由了。风呢,除非把它紧紧收束起来,却没法儿解脱它。放松些,让它吹重些吧;树枝儿便拦住不放,脚下一块石子一棵小草都横着身子伸着臂膀来阻挡。窗嫌小,门嫌狭,都挤不过去。墙把它遮住,房子把它罩着。但是风顾得这些么?沙石不妨带着走,树叶儿可以卷个光,墙可以推倒,房子可以掀翻。再吹重些,树木可以拔掉,山石可以吹塌,可以卷起大浪,把大块土地吞没,可以把房屋城堡一股脑儿扫个干净。听它狂嗥狞笑怒吼哀号一般,愈是阻挡它,愈是发狂一般推撞过去。谁还能管它么?地下的泥沙吹在半天,天上的云压近了地,太阳没了光辉,地上没了颜色,直要把天地捣毁,恢复那不分天地的混沌。
不过风究竟不能掀翻一角青天,撞将出去。不管怎样猛烈,毕竟闷在小小一个天地中间。吹吧,只能像海底起伏鼓动着的那股力量,掀起一浪,又被压伏下去。风就是这般压在天底下,吹着吹着,只把地面吹起成一片凌乱,自己照旧是不得自由。末了,像盛怒到极点,不能再怒,化成恹恹的烦闷懊恼;像悲哀到极点,转成绵绵幽恨;狂欢到极点,变为凄凉,失望到极点,成了淡漠。风尽情闹到极点,也乏了。不论是严冷的风,蒸热的风,不论是哀号的风,怒叫的风,到末了,渐渐儿微弱下去,剩几声悠长的叹气,便没了声音,好像风都吹完了。
但是风哪里就吹完了呢。只要听平静的时候,夜晚黄昏,往往有几声低吁,像安命老人,无可奈何的叹息,风究竟还不肯驯伏。或者就为此吧,天地把风这般紧紧的约束着。
1.第一段中说,“风一辈子不能平静”;第二段中又说,“只有拂拂微风最平静”。(4分)
(1)“风一辈子不能平静”?
(2)什么情况下,“一辈子不能平静”的风可以成为“最平静”的风? 2.作者认为应该如何对待“风”?(4分)3.文中画线【A】【B】语句,任选一句加以赏析。
4.你从文中“风”的形象得到什么启迪,请联系语境,展开联想,谈其中一点看法。(4分)
参考答案:
1.(1)因为它被天地紧紧约束其中,终逃不到天地之外去。(2分)
(2)没有什么东西去阻挠它。(2分)
2.(1)严加管束(把风约束在天地之间);(2)给予一定的活动自由(对风的活动 2
不加阻挠);(3)即使酿成风暴,也不必惊慌。(答对两点即给分)
3.【A】运用排比修辞手法,强调了风的猛烈,富有气势;同时“软”“ 硬”二字生动形象地写出了风的两种类型,句式对称,有节奏,写出了天地对风的约束。
【B】运用了比喻的修辞手法,生动形象地写出了风暴来临前不平静的态势。
4.联系本文主旨,可以从个人感情角度谈,也可以从社会矛盾角度谈。如:
①人的感情不会永远平静无波,总会有不平静的时候,遇到这种情况,应该让它有适度的释放。
②社会不可能没有矛盾,对待社会矛盾,不能采取压制的方式,而应该让它有适度释放的机会,否则,将会酿成社会的大**。
③对待感情的波澜(社会矛盾),既要让它适度释放(表现),又要给予一定的控制,否则后果将不堪设想。
④对待激化了的矛盾(个人感情),不必惊惶失措,因为任何矛盾(个人感情)最终都是可以解决的。
以上只是举例,答案不必强求一致,只要符合原文的要旨,言之成理即可。
(二)荷 赵文美
无数次邂逅荷,从未像现在这样令我感到心灵的震撼。这个夏天,天大旱,烈日炙烤着大地,热浪蒸腾着大地。渐渐地,碧波荡漾的湖泊干涸了„„此时此刻,荷临危不惧,坦然自若,正满面春风地迎接着更严酷的考验的到来。
这是怎样一番惊人的情景!往日蓄着一池清洌洌碧水的荷塘滴水不见。在早已焦渴得干巴巴龟裂的土地上,一群群壮硕挺拔的荷昂扬如常地站立,周围还有倔强地从地缝中钻出尖尖角的小荷。原来在水里生水里长的荷,虽无雨洗尘、无水滋润,但它依然绿干亭亭翠叶田田,片片相连相拥相依,充溢着一派勃勃生机。一枝枝饱满的花蕾,在灼灼阳光下,显得出奇的艳丽、鲜亮,摇曳在清新、生动的碧绿中,3
丰润鲜灵有留香。
荷,在恶劣的环境中创造着生命的奇迹。它勃发的英姿,是对肆虐旱魔的冷冷嘲讽,更是不言屈服的顽强抗争。
早就听说过荷的故事。一颗在地层深处沉睡几千年的古莲子,一经挖出,只要给它充足的阳光和水分,它便奇迹般地长出绿叶,绽放花朵,结出果实。这就是生命不甘泯灭的勇敢而执著的荷。唯有它在风风雨雨的岁月中,卓然傲立,风吹不退缩,雨淋不着痕,一副以不变应万变的王者风范。生命的高贵、圣洁与它不屈不挠的精神伟力相随相伴。
每有狂风袭来,静静的荷便如千万勇士高举着盾牌,凝聚起强大的力量,战无不胜。最终,狂妄的风在它的面前乖乖地败退。荷,静立如山,依然故我。
若遇秋雨骤至:站成一林舞姬的荷:便如玉指纤纤弹起无数古筝:那顿挫有致、浸透着生命高贵气息的缕缕清音,挟着空灵、洒脱的美韵轻轻飞扬。“秋阴不散霜飞晚,留得残荷听雨声。”活得精神,活得清白,即使红颜褪去青春不再,生命的歌也是回肠荡气。
当凛冽的寒风裹着雪片飞来,在荷的周围疯狂地咆哮、翻卷时,荷的叶,被撕碎了,荷的枝,被折断了。荷还是不肯摧眉折腰,还是不肯跪倒于地,唯见冰天雪地中屹立着它独立自尊、不馁不屈的铮铮傲骨。
在风霜雨雪的洗礼中,在百般磨难的锤炼中,荷,洗尽铅华,风清骨俊,矫健 4
中自有别样的典雅端庄、柔媚明艳,真正的“清水出芙蓉,天然去雕饰”。它不受风尘诱惑的潇洒,不惧艰险摧残的神韵,不知令多少爱荷的人如痴如醉!那些精神的种荷者,更是将荷看做高尚人格的化身和楷模。
楚楚动人的荷,永远是一段迷人的旋律。穿行在画屏般的荷塘,风吹绿叶送爽,缕缕荷香盈袖。今夜,不知谁会沉醉忘却归路,在这高雅、脱俗的净地,细拂心尘,顿开茅塞,静静聆听一次有关生命真谛的诉说?
荷,不答,只有被它感动得宠辱皆忘的人,才能走进它满载生命之花的梦中。
(选自《散文百家》,有删改)
15.请参照示例,用简洁的语言补写荷在恶劣的环境中创造的生命奇迹。(4分)
示例:烈日炙烤下,荷临危不惧,坦然自若,迎接考验的到来。沉睡千年后,狂风袭来时。
秋雨骤至时,冰天雪地里,16.文中有两个画横线的句子,请任选一句加以品析。(3分)
①原来在水里生水里长的荷,虽元雨洗尘、无水滋润,但它依然绿干亭亭翠叶田田,片片相连相拥相依,充溢着一派勃勃生机。
品析:
②若遇秋雨骤至,站成一林舞姬的荷,便如玉指纤纤弹起无数古筝,那顿挫有致、浸透着生命高贵气息的缕缕清音,挟着空灵、洒脱的美韵轻轻飞扬。
品析:
17.下面赞“荷”的诗句中,你认为最能体现“精神的种荷者,更是将荷看做高尚人格的化身和楷模”的一项是[ ]。(3分)
A.清水出芙蓉,天然去雕饰。(唐·李白《书怀赠江夏韦太守良宰》)
B.糁径杨花铺白毡,点溪荷叶叠青钱。(唐·杜甫《绝句漫兴其七》)
C.出淤泥而不染,濯清涟而不妖。(宋·周敦颐《爱莲说》)
D.接天莲叶无穷碧,映日荷花别样红。(宋·杨万里《晓出净慈寺送林子方》)
18.文中结尾说:“只有被它感动得宠辱皆忘的人,才能走进它满载生命之花的梦中。”对这句话你怎样理解?(4分)
参考答案
15.荷不甘泯灭,勇敢执著,奇迹般生长。荷高举盾牌,凝聚力量,静立如山。荷站成一林,活得精神、活得清白。荷独立自尊,不馁不屈,傲然屹立。(4分。每点l分。意思符合即可)
16.①通过转折句,运用拟人的修辞手法,生动地写出荷在干涸龟裂的恶劣环境中依然团结在一起,倔强地生长,创造着生命的奇迹o ②运用比喻的修辞手法,形象地将“荷”比作“舞姬”,将“荷塘雨声”比作“舞姬”弹古筝发出的“清音”,写出雨骤花谢,但荷依然保持空灵、洒脱的美好神韵。(3分。答出句式或修辞1分,内容l分,作用l分)17.C(3分)
18.只有与荷一样不惧艰难、高雅脱俗的人,才能在恶劣的环境下、百般的磨难中创造生命的奇迹,领悟生命的真谛。(4分。意思符合即可)
(三)落叶是疲倦的蝴蝶
①夕阳老去,西风渐紧。
②叶落了,秋就乘着落叶来了。秋来了,人就随着秋瘦了,随着秋愁了。
③但金黄的落叶没有哀愁,它懂得如何在秋风中安慰自己,它知道,自己的沉睡是为了新的醒来。
④落叶有落叶的美,它是疲倦了的蝴蝶。我甚至能感觉到落下来的叶子们轻轻的叫喊。
⑤我看到了故乡,看到了老家门前那棵生生不息的老树,看到了炊烟为游子的归来而晃动。对于远走他乡的脚,对于飞上天空的翅膀,炊烟是永不能扯断的绳子。7
就像路口的大树,它的枝干指着许多的路,而起点只有一个,终点也只有一个,每个离开村庄的人,都带走了一片绿叶,却留下一条根。
⑥我看到了故乡的山崖,看到石头在山崖上,和花朵一起争着绽放;看到羊在山崖上,和云一起争着飘荡。
⑦我看到了我的屋檐,冬天结满冰凌,夏天蓄满鸟鸣,一串红辣椒常常被看作是穷日子里的火种。守着屋檐上下翻飞的麻雀,总是那么和谐地与庄户人家好好地过日子。时时刻刻缠绕着那颗在路上的心的,就是这个屋檐。
⑧我看到了母亲,为了不让我们在冬天里挨冻,她拾起一节节枯枝,犹如把那些破碎的日子一一点缀,然后,把温暖交到我们手上。柴垛越码越高,母亲却越来越矮。我看到母亲那对干瘪的****,像两只残缺不整的讨饭的碗,却为我们讨来了一生的盛宴。母亲在灶坑里点燃的红色的昏暗的火焰,成了那些夜里我们唯一可以依靠的肩膀,唯一可以握住的暖暖的手。
⑨远行的人,是什么声音使你隐姓埋名?是什么风将你吹往他乡?秋天就是这样,把叶子纷纷抖落,把人的思念纷纷挂上枝头。是该回去了,去看看那棵生下我、让我因成长而绿又让我因成熟而黄的大树,还有落叶里沉睡着的母亲。母亲,我匆匆的脚步就是你密密缝合的针脚。母亲,背着破烂行李的我要归来,找到了天堂的我也要归来。
⑩一层层落叶铺在回家的路上,我要踩着温暖的地毯去看望母亲。母亲也像这 8
落叶,从灿烂的枝头缓缓地落下来,只是,她没有再醒来。
⑾这个世界,能留住人的不是房屋,能带走人的不是道路。岁月无法伸出一只手,替你抓住过往的云。如果一切还能重新拾捡回来,母亲,我要去拾取你的笑容、脚步和风,用你的爱做灯油,用你的善良做捻儿,我要点燃它,放到心里,一辈子不忘回家的路。
⑿天冷了,树的叶子落下来,树离我很近。我似乎听见了它们在缓缓凝固。
⒀天冷了,它们一排一排地站着,心中坚守着的秘密一阵阵地疼痛起来。但叶子落下来,掩盖了一切。
⒁母亲的坟上有一棵树,那是我写给母亲的诗。每到秋天,叶子纷纷落下,把母亲的坟头遮盖得严严实实。那些在风中微微呻吟着的落叶,远远望去像一群疲倦了的蝴蝶,静静地收拢着它们一生的美丽瞬间:一朵红晕,一个誓言,或者是简单的一声叹息。
(选自 2007年第 1期《读者》,作者朱成玉。有删节。)
16、显然,作者把落叶比喻成“疲倦了的蝴蝶”不仅仅是写落叶,你认为作者想借此表达什么?为什么要这样表达?(4分)
17、请你写出⑧段画线句的含义。(3分)
18、请你从文中选取一个富有修辞特色的语句进行赏析。(不少于 60字)(4分)
19、⑨段中画线句与我们传统观念里的“事业不成誓不回”有较大出入,请你就这一点谈谈自己的看法。(4分)
参考答案:
16、作者借落叶像“疲倦了的蝴蝶”来比喻“我”是一只在外飞倦了想要飞回家去的“蝴蝶”。文章试图通过落叶这一环境的烘托和“疲倦了的蝴蝶”这一比喻,形象生动地表达自己对故乡的眷念和对母亲的深切怀念。
17、母亲的辛勤劳动使家里越来越殷实(富有),但岁月(年纪)和劳累却压弯了母亲的背,使母亲变得“越来越矮”。(意近即可。)
18、示例:“那些在风中微微呻吟着的落叶,远远望去像一群疲倦了的蝴蝶,静静地收拢着它们一生的美丽瞬间。”句子运用比喻兼拟人的修辞方法,将人的情感赋予落叶,以“呻吟”形象生动地写出了“我”对母亲的深切怀念,以“疲倦”形象生动地反映了“我”在外漂泊的疲惫,与文章开头形成对比和呼应,深化了文章主题。(摘抄出运用了修辞的句子得 1分,能写出表达效果得 3分。)
19、示例:无论我们在外面闯荡世界成功与否,心里都要永远装着自己的家乡和亲人,如果为的是“大家”的利益而舍家忘身是值得提倡的,如果仅仅是为“衣锦还乡”而“不破楼兰终不回”则不宜大加赞扬。
第五篇:修饰求职信
职场上的弱势主要是指:频繁跳槽或更换行业、毕业生初出校门、工作经验太少、没有学位或学历太低等。求职时有人可能在潜意识里想到要在简历和个人求职信中做假,“修饰”一下自己的求职信,这是千万要不得的,因为“假的永远真不了”,而假的一旦被识破,依靠蒙骗而获得的“真”也将不复存在。明智的做法是对你的简历进行科学取舍,适当突出重点,合理扬弃,这样,既可使你的求职信或简历更加吸引人,同时又保持了真实性。
实习写进求职信中
其中,实习工作应作为相应的工作经验来写,因为这期间的工作性质和内容与许多工作相似,它们往往需要实习者自主完成多项任务。此外,如果毕业生在校时早已学过许多与所应聘工作有直接关联的知识,则有必要在技术栏目中体现出来。如果你熟悉某一领域最新的趋势与技术,也应毫不谦虚地写出来,以提升自己的人才价值。当然,如果你有其他行业的工作技巧也不要省略,这些虽然与应聘工作关系不大或没有直接的关系,但其工作经验同样可用于支持你的能力,这至少能够证明你有学习、研究并尽快适应各种工作的能力。这样突出自己的长处,就是求职信的重点要点。加上写言简意赅的求职信也是很重要的。
好范文的劣势
对于初出茅庐的毕业生,因为与社会实际接触得少,尚未经历过谋职的挫折,往往自我感觉都比较好。殊不知,用人单位并不一定乐于认同,很多老板更喜欢有丰富工作经验的人。为此,刚毕业的学生们将在求职中与那些有相同学历但是有更多工作经历的人竞争。而因为没有相关职业的丰富工作经历,所以,刚出校门的毕业生应该尽力扬其所长以盖所短,重点强调自己最近几年所受的教育和培训情况,包括那些与应聘工作最有直接关系的特别课程或活动。写一封吸引HR求职信此时是多么的有用呢!
学历或学位低于应聘要求时
现实生活中,有很多人具有丰富的工作经验和超常的实干能力,却没有相应的高等学历和学位,以致在“审”时便被淘汰,实在太可惜,也失公平。这就要求有这方面弱势的求职者在求职信的教育和经验部分慎重行文,扬长避短。如果你具备应聘工作所要求的工作经历和专业技能条件,但却没有良好的教育背景,最聪明也是最简单的办法就是,只列出你曾经受到过的教育和培训的内容,以及受训后取得的成绩和应用到工作实践中的实绩,而不表明你是否具备相关的学历和学位。这样做既无不诚实之嫌,又可以避免你在审查个人简历这第一关便被一票否决的噩运。如果你能顺利通过初审,在面试中一旦被招聘人员认可,他们将会忽略你的学历而认同你的能力,甚至或许会帮助你向老板申请破格录用。