c语言 printf 的用法

时间:2019-05-12 21:03:48下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言 printf 的用法》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言 printf 的用法》。

第一篇:c语言 printf 的用法

sprintf

printf可能是许多程序员在开始学习C 语言时接触到的第二个函数(我猜第一个是main),说 起来,自然是老朋友了,可是,你对这个老朋友了解多吗?你对它的那个孪生兄弟sprintf了解多 吗?在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望

由于sprintf跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出这也导致sprintf比printf有用得多所以本文着重介绍sprintf,有时 也穿插着用用pritnf sprintf是个变参函数,定义如下:

intsprintf(char *buffer, const char *format [, argument]...);除了前两个参数类型固定外,后面可以接任意多个参数而它的精华,显然就在第二个参数: 格式化字符串上

printf和sprintf都使用格式化字符串来指定串的格式,在格式串内部使用一些以%开头的

格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终 函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要的字符串 格式化数字字符串

sprintf最常见的应用之一莫过于把整数打印到字符串中,所以,spritnf在大多数场合可以替代 itoa如:

//把整数123 打印成一个字符串保存在s 中 sprintf(s, “%d”, 123);//产生“123” 可以指定宽度,不足的左边补空格:

sprintf(s, “%8d%8d”, 123, 4567);//产生:“ 123 4567” 当然也可以左对齐:

sprintf(s, “%-8d%8d”, 123, 4567);//产生:“123 4567” 也可以按照16 进制打印:

sprintf(s, “%8x”, 4567);//小写16 进制,宽度占8 个位置,右对齐 sprintf(s, “%-8X”, 4568);//大写16 进制,宽度占8 个位置,左对齐

这样,一个整数的16 进制字符串就很容易得到,但我们在打印16 进制内容时,通常想要一 种左边补0的等宽格式,那该怎么做呢?很简单,在表示宽度的数字前面加个0 就可以了 sprintf(s, “%08X”, 4567);//产生:“000011D7” 上面以%d进行的10 进制打印同样也可以使用这种左边补0 的方式

这里要注意一个符号扩展的问题:比如,假如我们想打印短整数(short)-1 的内存16 进制表 示形式,在Win32平台上,一个short 型占2 个字节,所以我们自然希望用4 个16 进制数字来打 印它: short si =-1;sprintf(s, “%04X”, si);产生FFFFFFFF,怎么回事?因为spritnf是个变参函数,除了前面两个参数之外,后面的 参数都不是类型安全的,函数更没有办法仅仅通过一个%X就能得知当初函数调用前参数压栈 时被压进来的到底是个4 字节的整数还是个2 字节的短整数,所以采取了统一4 字节的处理方式,导致参数压栈时做了符号扩展,扩展成了32 位的整数-1,打印时4 个位置不够了,就把32 位整数-1 的8 位16 进制都打印出来了如果你想看si的本来面目,那么就应该让编译器做0 扩展而不是 符号扩展(扩展时二进制左边补0 而不是补符号位): sprintf(s, “%04X”,(unsigned short)si);就可以了或者: unsigned short si =-1;sprintf(s, “%04X”, si);sprintf和printf还可以按8 进制打印整数字符串,使用%o注意8 进制和16 进制都不会打 印出负数,都是无符号的,实际上也就是变量的内部编码的直接的16 进制或8 进制表示 控制浮点数打印格式

浮点数的打印和格式控制是sprintf的又一大常用功能,浮点数使用格式符%f控制,默认保 留小数点后6 位数字,比如:

sprintf(s, “%f”, 3.1415926);//产生“3.141593” 但有时我们希望自己控制打印的宽度和小数位数,这时就应该使用:%m.nf格式,其中m 表 示打印的宽度,n 表示小数点后的位数比如: sprintf(s, “%10.3f”, 3.1415626);//产生:“ 3.142” sprintf(s, “%-10.3f”, 3.1415626);//产生:“3.142 ” sprintf(s, “%.3f”, 3.1415626);//不指定总宽度,产生:“3.142” 注意一个问题,你猜 int i = 100;sprintf(s, “%.2f”, i);会打出什么东东来?100.00?对吗?自己试试就知道了,同时也试试下面这个: sprintf(s, “%.2f”,(double)i);第一个打出来的肯定不是正确结果,原因跟前面提到的一样,参数压栈时调用者并不知道跟i 相对应的格式控制符是个%f而函数执行时函数本身则并不知道当年被压入栈里的是个整数,于是可怜的保存整数i 的那4 个字节就被不由分说地强行作为浮点数格式来解释了,整个乱套了 不过,如果有人有兴趣使用手工编码一个浮点数,那么倒可以使用这种方法来检验一下你手 工编排的结果是否正确? 字符/Ascii码对照

我们知道,在C/C++语言中,char 也是一种普通的scalable 类型,除了字长之外,它与short,int,long 这些类型没有本质区别,只不过被大家习惯用来表示字符和字符串而已(或许当年该把 这个类型叫做byte,然后现在就可以根据实际情况,使用byte 或short 来把char 通过typedef定 义出来,这样更合适些)

于是,使用%d或者%x打印一个字符,便能得出它的10 进制或16 进制的ASCII 码;反过 来,使用%c打印一个整数,便可以看到它所对应的ASCII 字符以下程序段把所有可见字符的 ASCII 码对照表打印到屏幕上(这里采用printf,注意#与%X合用时自动为16 进制数增加0X 前缀):

for(int i = 32;i < 127;i++){ printf(“[ %c ]: %3d 0x%#04Xn”, i, i, i);} 连接字符串

sprintf的格式控制串中既然可以插入各种东西,并最终把它们连成一串,自然也就能够连 接字符串,从而在许多场合可以替代strcat,但sprintf能够一次连接多个字符串(自然也可以同时 在它们中间插入别的内容,总之非常灵活)比如: char* who = “I”;char* whom = “CSDN”;sprintf(s, “%s love %s.”, who, whom);//产生:“I love CSDN.” strcat只能连接字符串(一段以结尾的字符数组或叫做字符缓冲,null-terminated-string),但有时我们有两段字符缓冲区,他们并不是以结尾比如许多从第三方库函数中返回的字符数 组,从硬件或者网络传输中读进来的字符流,它们未必每一段字符序列后面都有个相应的来结 尾如果直接连接,不管是sprintf还是strcat肯定会导致非法内存操作,而strncat也至少要求第 一个参数是个null-terminated-string,那该怎么办呢?我们自然会想起前面介绍打印整数和浮点数 时可以指定宽度,字符串也一样的比如: char a1[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G'};char a2[] = {'H', 'I', 'J', 'K', 'L', 'M', 'N'};如果:

sprintf(s, “%s%s”, a1, a2);//Don't do that!十有八九要出问题了是否可以改成: sprintf(s, “%7s%7s”, a1, a2);也没好到哪儿去,正确的应该是:

sprintf(s, “%.7s%.7s”, a1, a2);//产生:“ABCDEFGHIJKLMN” 这可以类比打印浮点数的%m.nf,在%m.ns中,m 表示占用宽度(字符串长度不足时补空 格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数通常在打印字 符串时m 没什么大用,还是点号后面的n 用的多自然,也可以前后都只取部分字符: sprintf(s, “%.6s%.5s”, a1, a2);//产生:“ABCDEFHIJKL” 在许多时候,我们或许还希望这些格式控制符中用以指定长度信息的数字是动态的,而不是 静态指定的,因为许多时候,程序要到运行时才会清楚到底需要取字符数组中的几个字符,这种 动态的宽度/精度设置功能在sprintf的实现中也被考虑到了,sprintf采用*来占用一个本来需要一 个指定宽度或精度的常数数字的位置,同样,而实际的宽度或精度就可以和其它被打印的变量一 样被提供出来,于是,上面的例子可以变成: sprintf(s, “%.*s%.*s”, 7, a1, 7, a2);或者:

sprintf(s, “%.*s%.*s”, sizeof(a1), a1, sizeof(a2), a2);实际上,前面介绍的打印字符整数浮点数等都可以动态指定那些常量值,比如: sprintf(s, “%-*d”, 4, 'A');//产生“65 ” sprintf(s, “%#0*X”, 8, 128);//产生“0X000080”,“#”产生0X sprintf(s, “%*.*f”, 10, 2, 3.1415926);//产生“ 3.14” 打印地址信息

有时调试程序时,我们可能想查看某些变量或者成员的地址,由于地址或者指针也不过是个32 位的数,你完全可以使用打印无符号整数的%u把他们打印出来: sprintf(s, “%u”, &i);不过通常人们还是喜欢使用16 进制而不是10 进制来显示一个地址: sprintf(s, “%08X”, &i);然而,这些都是间接的方法,对于地址打印,sprintf提供了专门的%p: sprintf(s, “%p”, &i);我觉得它实际上就相当于:

sprintf(s, “%0*x”, 2 * sizeof(void *), &i);利用sprintf的返回值

较少有人注意printf/sprintf函数的返回值,但有时它却是有用的,spritnf返回了本次函数调用 最终打印到字符缓冲区中的字符数目也就是说每当一次sprinf调用结束以后,你无须再调用一次 strlen便已经知道了结果字符串的长度如: intlen = sprintf(s, “%d”, i);对于正整数来说,len便等于整数i 的10 进制位数

下面的是个完整的例子,产生10 个[0, 100)之间的随机数,并将他们打印到一个字符数组s 中,以逗号分隔开 #include #include #include int main(){ srand(time(0));char s[64];int offset = 0;for(int i = 0;i < 10;i++){ offset += sprintf(s + offset, “%d,”, rand()% 100);} s[offset-1] = 'n';//将最后一个逗号换成换行符 printf(s);return 0;} 设想当你从数据库中取出一条记录,然后希望把他们的各个字段按照某种规则连接成一个字 符串时,就可以使用这种方法,从理论上讲,他应该比不断的strcat效率高,因为strcat每次调用 都需要先找到最后的那个的位置,而在上面给出的例子中,我们每次都利用sprintf返回值把这个位置直接记下来了

使用sprintf的常见问题

sprintf是个变参函数,使用时经常出问题,而且只要出问题通常就是能导致程序崩溃的内存访 问错误,但好在由sprintf误用导致的问题虽然严重,却很容易找出,无非就是那么几种情况,通 常用眼睛再把出错的代码多看几眼就看出来了 ?? 缓冲区溢出

第一个参数的长度太短了,没的说,给个大点的地方吧当然也可能是后面的参数的问 题,建议变参对应一定要细心,而打印字符串时,尽量使用%.ns的形式指定最大字符数 ?? 忘记了第一个参数

低级得不能再低级问题,用printf用得太惯了//偶就常犯:(?? 变参对应出问题

通常是忘记了提供对应某个格式符的变参,导致以后的参数统统错位,检查检查吧尤 其是对应*的那些参数,都提供了吗?不要把一个整数对应一个%s,编译器会觉得你 欺她太甚了(编译器是obj和exe 的妈妈,应该是个女的,:P)

strftime sprnitf还有个不错的表妹:strftime,专门用于格式化时间字符串的,用法跟她表哥很像,也 是一大堆格式控制符,只是毕竟小姑娘家心细,她还要调用者指定缓冲区的最大长度,可能是为 了在出现问题时可以推卸责任吧这里举个例子: time_t t = time(0);//产生“YYYY-MM-DD hh:mm:ss”格式的字符串 char s[32];strftime(s, sizeof(s), “%Y-%m-%d %H:%M:%S”, localtime(&t));sprintf在MFC 中也能找到他的知音:CString::Format,strftime在MFC 中自然也有她的同道: CTime::Format,这一对由于从面向对象哪里得到了赞助,用以写出的代码更觉优雅

第二篇:then用法小议

then用法小议

1.用作副词,表示“那时”,可用于过去或将来。如: He was in Paris then.那是他在巴黎。He will be free then.那时他就会有空了。

注:有时可用于某些介词后。如:

He will have left by then.到那时他就会已经离开了。From then on he worked harder.从此以后,他工作更努力了。2.表示“然后”、“接着”,通常与连词 and 连用。如:

Let’s go for a drink and then go home.我们先去喝一杯,然后再回家。He went to Paris, and then to London.他到了巴黎,后又到了伦敦。注:在口语中有时可不用连词 and 而只用 then。另外,有时位于句首,其后用倒装句。如:

Then came the day of his exam.接着他考试的那一天到了。

3.表示“那么”、“既然是那样”、“这么说来”,通常用于句首或句末。如:

You say you don’t want to be a teacher.Then what do you want to be? 你说你不想当老师,那么你想干什么呢?

Then you mean to say I am a cheat.那么你的意思是说我是个骗子。

注:有时与条件或时间状语从句搭配使用。如:(from www.xiexiebang.com)If it’s not on the table, then it will be in the drawer.要是不在桌上,那就是抽屉里。When I know what really happened, then I shall be able to decide.当我知道事实真相后,我就可以作决定了。

第三篇:倒装用法归纳

倒装用法归纳

江苏 仲卫东

倒装是中学阶段的一个重要的语法知识点,也是高考命题热点之一。下面笔者就来谈谈它的用法。

一、完全倒装

完全倒装是把谓语动词完全置于主语前,其中主语必须是名词,若为代词则不倒装,这种结构中谓语部分无助动词(be,do,have)和情态动词,但可以有连系动词 be。须用完全倒装的情况有:

1.当句首为副词 out,in,up,down,off,here,there 等,且主语为名词时,应用完全倒装。如:

In came the doctor.医生进来了。There goes the bell.铃响了。

2.当表示地点的介词短语位于句首,且主语为名词时,应用完全倒装。如: On top of the hill stands a big pine tree.山顶上耸立着一棵大松树。

Under the tree were some children.树下有一些孩子。

3.在 there be 结构中,there 为引导词,be 动词之后为句子的主语,属完全倒装,be 应与主语保持一致。除 be 以外,能与 there 连用的动词还有 seem,exist,happen,appear,live,stand 等。如:

There were a lot of people in the park last Sunday.上周日公园里有很多人。

Once there lived a king who was cruel to his people.从前有一位对人民很残暴的国王。

4.作表语的形容词、过去分词等较短,而主语相对比较长,为了保持句子平衡而将表语前置时,句子的主谓也应完全倒装。如: Typical for China is the crosstalk show, in which two comedians entertain the audiences with words.中国典型的艺术形式是相声,两名演员用言语来逗乐观众。Gone are the days when we Chinese were looked down upon.中国人民被歧视的日子已成为过去。

5.某些表示祝愿的句子也可用完全倒装(或部分倒装)。如: Long live the Chinese Communist Party of China!中国共产党万岁!May you succeed!祝你成功!

二、部分倒装

部分倒装则是将助动词调到主语前,主语可以是名词也可以是代词。通常应使用部分倒装的情况有:

1.当句首为否定或半否定词 never,neither,nor,little,seldom,hardly,scarcely,in no way,few,not,no 等时,应用部分倒装。如: Seldom does he spend his time playing cards.他很少花时间去玩扑克。

Never have I heard of that place before.我以前从未听说过那个地方。

2.only 修饰时间、地点、方式、原因等状语时,应用部分倒装。如: Only in this way can we solve the problem.只有这样,我们才能解决这个问题。

Only when you told me did I know her name.直到你告诉我,我才知道她的名字。

注意:如果 only 修饰的不是状语,则句子不倒装。如: Only Uncle Li knows how it happened.只有李叔叔知道这件事是怎么发生的。

3.表示对前者的陈述也适用后者时,肯定倒装用“ so + 助动词/情态动词 + 后者”,否定倒装用“ neither / nor + 助动词 / 情态动词 + 后者”。如: He can speak English, so can I.他会说英语,我也会。

If she doesn't go there tomorrow, neither / nor will I.如果她明天不去那儿,我也不去。

注意“ so + 助动词 / 情态动词 + 主语”与“ so + 主语 + 助动词 / 情态动词”的区别: 前者表示所说的主语和前面主语的情况一样,所谈到的是两个人或物,意为“„„也是这样”;后者所谈为同一人或物,说话者表示同意前者的观点,意为“的确如此”。如: — Li Lei likes sports.李雷喜欢运动。

— So he does and so do I.他的确喜欢,我也是的。

4.so 及“ so + 形容词 / 副词”置于句首时,应用部分倒装。如: So frightened was he that he didn't dare move.他如此惊慌以至不敢动弹。

So quietly did she speak that we could not hear a word.她说话声音这么低,以至我们一个字也没听到。

5.such 及“ such + 形容词 + 名词”置于句首时,应用部分倒装。如: Such is Zhong Cheng, a kind and helpful student.这就是仲成,一个善良、乐于助人的学生。

Such good players are they that they often win.他们是好队员,所以他们经常获胜。6.由 not only...but also...引起的并列句,若将 not only 置于句首时,该分句应部分倒装,but also 引导的分句不倒装。而由 neither...nor...引起的并列句,两个分句都倒装。如:

Not only did he give me some advice, but also he lent me some money.他不但给我提了建议,而且还借给了我一些钱。

Neither does he watch TV, nor does he see films in the evening.他晚上既不看电视也不看电影。

7.由连接词 No sooner...than,Scarcely...when,Hardly...when 引起的主从复合句,主句应倒装,从句不倒装。如:

No sooner had he gone to bed than he fell asleep.他一上床就睡着了。

Hardly had I got into the classroom when it began to rain.我刚一进教室天就下起雨来。

8.not until 引起的时间状语置于句首时,句子的主谓应部分倒装。由 not until 引导的时间状语从句位于句首时,主句应部分倒装,从句语序不变。如: Not until 1998 did he return to his hometown.直到 1998 年他才回到家乡。

Not until Father came back did we begin to have supper last night.昨晚直到父亲回来,我们才开始吃晚饭。

注意:当 not until 引导的状语或状语从句用于强调句型时,句子的主语不倒装。如将上两句改为强调句应为:

It was not until 1998 that he returned to his hometown.It was not until Father came back that we began to have supper last night.9.省略 if 的虚拟条件句,可将 were,had,should 提至主语前。如: Were I you, I would go there tomorrow.要是我是你,我明天就会去那儿。Had you been there, you would have met the manager himself.要是你去了那儿,你就会见到经理本人了。

10.表示时间频率且有肯定意义的词语 often,every day,now and again 等置于句首用来强调时,应用部分倒装。如:

Often does he send me e-mails to greet me.他经常给我发电子信件问候我。

三、主谓不倒装的倒装句

1.as / though 引起让步状语从句,可将表语或状语置于句首,但主谓不颠倒顺序。如: Tired as / though he is, he is still working.尽管他很累,他还是在工作。

Carefully as / though she listened, she didn't catch a word.尽管她听得很仔细,她还是什么也没听到。

若将含有不定冠词修饰的表语提前,则应省去不定冠词 a / an。如: Child as / though he is, he knows a lot.尽管他还是个孩子,却已经懂得很多。

2.however, no matter now 修饰形容词或副词时要前置,用以加强语气,该让步状语从句的主谓不倒装。如:

However hard the problem is, I am determined to work it out.不管这道题有多难,我也决心将它算出来。

No matter how heavily it was raining outside, he insisted going there.不管外面下多大的雨,他也要坚持去那儿。

第四篇:祈使句用法

祈使句

1、概述

祈使句(imperative sentence)表命令、警告、提醒、建议、请求、叮嘱、号召等,谓语动词用原形。主语you通常省略,句末用叹号或句号。

Knock at the door before entering, please.进来时请敲门!(建议)

Try some of this juice---perhaps you’ll take it.尝点这种果汁,也许你会要。(建议)Look out!There is a train coming.注意!火车来了!(提醒)

Wear strong shoes as we shall do a lot of walking.请穿结实的鞋子,因为我们要走许多的路。(叮嘱)

At the beginning, collect as many stamps as you can.开始时,尽可能多多地收集邮票。(建议)Leave her where she is!让她留在原地!(命令)

Put your coat at once.We must hurry.立刻穿上衣服。我们必须快点。(命令)

Give blood if you can and many lives will be saved.如果你能,来献血吧,这会挽救很多人的生命。(号召)

2、祈使句的另外表达方式(1)“No+名词或动名词” 表示祈使句

“No+名词或动名词”结构表示禁止的祈使,一般用于指示、标牌、布告等。No smoking!禁止吸烟!No spitting!不准随地吐痰!No litter!不准乱扔果皮纸屑!No entry!不许入内!

No thoroughfare!禁止通行!No scribbling on the wall!墙上不准涂写!No admittance except on business!非公莫入!(2)“have done„”结构表示祈使句

这种结构相当于stop doing,意为“禁止”。有时表示“结束、停止”。

Have done scolding him.不要再责备他了。Have done!住手!

Have done running!跑完了!(别跑了!)(3)“be+ V-ed”结构表示祈使句

Be guided by reason!理智些!Be seated!请坐!

Be persuaded by your father!听你父亲的话!Be gone!滚!(4)“be+ V-ing” 结构表示祈使句

Don’t be looking out of the window!勿将头伸出窗外!

Do be doing your homework when I come in.我进来时,你一定在做作业吧!(5)无动词祈使句 一般来讲,祈使句都要有动词,但是有些用于口号、告示等的祈使句却是没有动词。主要有:名词短语;介词短语;名词+代词/副词/形容词;形容词+名词/代词;副词+with等。Don’t all speak at once!One at a time, please.不要一起说,一次一个!

One more week, and we’ll accomplish the task.再给我一星期,我就会完成任务。Patience!耐心点!Your turn.轮到您了。After you!您先请!Now for it!干起来吧!On with your cap.带上帽子。Danger!危险!Poison!有毒!Over!完毕!Bottom up!干杯!

None of that again!不要在那样!None of your nonsense!不要胡说八道!Hand up!举起手来!Hands off!无动手!

Off with it!把它拿下来!Up with the box!把箱子放下!

Eyes left!向右看齐!None of your impudence!休要无理!None of your little trick!不要再玩鬼把戏!(6)let祈使句 ① Let’s祈使句

let’s引导的祈使句,包括听话者本人在内,表示建议,反意问句用shall we。相当于I(We)suggest that you and I(we)„。

Let’s begin, shall we?我们开始好吗? Let’s go home.我们回家吧!

② Let me(us, him, her, it, them)祈使句

该结构引导的祈使句表示请求对方允许自己干某事,不包括对方(you)在内,let相当于allow,意为please allow us„或you allow us,反意问句要用will you。

Let all the children be well educated!让所有的孩子都得到良好的教育。Let him go where he might, I don’t care.他想上那就让他去,我不管!Let us know your name, will you?让我们知道你的名字好吗? ③ let祈使句否定

let 祈使句的否定可以为let’s not/let me(us)not或Don’t let’s/ let me(us)但let him等第三人称否定式为Don’t let him。其他人称亦可用Don’t let。Don’t let her disturb you!别让她妨碍我!Let’s not be in such a hurry!让我们别这样急!④ let祈使句强调

let祈使句强调的强调式为Do let’s或Do let us。Do let her go!一定让她走!

Do let’s go climbing.我们一定去爬山!⑤ Let there be 结构

No + v-ing其时句常用let there be 代替。

No parking here.= Let there be no parking here.不准在此停车!(7)“why not+动词原形”等结构表示祈使概念 “why not+动词原形”;“why +动词原形” “you’d better/best+do sth.”等结构可以表示祈使概念,用来表达方式,提出委婉建议,指责,反问等。-I usually go there by train.我通常坐火车去?

-Why not try going by boat for a change?怎么不坐船换换口味。

You’d better go to school early tomorrow.明天你最好早点去上学。

-Susan, go and join your sister cleaning the yard.Susan,去和你姐姐扫院子。

-Why me? John is sitting there doing nothing.为什么叫我去?John坐在那闲着。

3、祈使句可以用被动形式

Don’t be cheated by what he said.不要被他说的话所欺骗。Don’t be forced to do that again.不要再被胁迫做那种事了。

4、祈使句的主语

祈使句的主语多为不言而喻的you,一般不出现。但若是要强调主语;或表示急躁、厌烦、不高兴、愤怒等感情色彩;表示向谁请求或发出命令,祈使句可有主语,除you外可以用不代词one, someone, somebody, everybody, everyone或名词。

① 当说话人强调主语或上级对下级,长者对年青人或小孩讲话时。-Alice, you feed the bird today, will you?爱丽丝,你去喂鸟好吗?-Yes.But I fed it yesterday.好,但我昨天喂了。

You take care when you cross the road.你过马路时要小心。You speak first.你先讲。

Tom, listen to me.汤姆,听我说。You be careful.你要仔细点。

John, open the door!约翰,去开门!

② 当说话人有急躁、厌烦、不高兴、愤怒等感情色彩 Come here, you!你,过来!(放句尾,表示轻视、傲视)You do it right away.你立刻做这件事

You mind your own business, and leave this to me.你别管闭事,把此事留给我好了。③ 当说话人必须指明不同的事要求不同的人去做时。

You clean the windows,and you(another man)mop the floor.你擦窗户,你(指另一个人)拖地板。You go over there and sit next to Tom,while he and I stay here.你到那里坐在汤姆旁边,我和他留在这里。

④ 当祈使句的主语是someone,somebody,everyone,everybody等泛指第三人称时。Someone call a taxi.你去叫车!(相当于You,不用calls)Someone open that window.来个人把那扇窗户打开。Everybody be here at7:30.大家7:30到这里。

⑤ 当祈使句谓语部分有副词up,down,in,out,off,away等,且这些副词置于句首时。In you jump!你跳进去吧!Out you come.请你出来。

⑥ 当祈使句以Don't开头又要加重语气时。

Don’t you dare to cause any more trouble.你敢再捣乱。Don’t you be late again next time.你下次不要再来晚了。

5、祈使句的否定

祈使句的否定结构一般是在谓语动词前加do not或用don't(口语中),有时也可用never,若祈使句有主语,否定词用don’t或never要置于主语之前,不可用do not。—Sorry, Joe, I didn’t mean to„对不起,Joe。我不是故意要„„

—Don’t call me “Joe”.I’m Mr Parker to you, and don’t you forget it!不要叫我Joe。我是Parker先生,不要忘了。

Don't touch anything unless your teacher tells you to.除非老师叫你动,否则就不要动任何东西。

Don't reach sideways while standing on a ladder.站在梯子上的时候,不要侧身子伸手去拿东西。Don’t anyone make noise!都别说话了!

Don’t you ever forget it!(不能说Do not you„)别忘了。Don’t you believe it.决不要相信他。Never be late again.别再迟到了。

6、肯定祈使句的强调

肯定祈使句可用助动词do加强语气,常译为“务必、一定要”。Do save me!天那!(救救我吧)Do come in.请进。

Do be careful when crossing the street.过马路时务必小心。

Do give my regards to your parents.请务必代我向你的父母问好。

7、“祈使句+and/or+陈述句”结构

(1)祈使句+ and(then,and then)+陈述句

在这个句型中,前边祈使句+ and(then,and then)相当于if引导的条件句。

Come early,and you’ll catch the first bus.=If you come early,you’ll catch the first bus.来早点,你就能赶上第一班汽车。

Use your head,then you’ll find a way.开动脑筋,那么你就会找到办法。

One more word,and I'll get angry with you.如果你再说一句话,我就生你的气了。Another week,and the railway station will be completed.再有一周,火车站就完工了。(2)祈使句+(or,or else,otherwise)+陈述句

在这个句型中,前边祈使句+(or,or else,otherwise)相当于unless引导的条件句。

Work hard,otherwise,you’ll fail.= Unless you work hard,you’ll fail.努力干,要不,你会失败的。

Use your head,or else you won’t find a way.= Unless you use your head, you won’t find a way.开动脑筋,否则,你就找不到办法。

巧选and, or:选择连接词,只看陈述句,and叫人心欢畅,or的后果不好尝。

8、祈使句的简略答语形式

祈使句的简略答语,肯定或否定形式常用will或won’t。-Write to me when you get home.到家时给我打电话!-I will.我会的。

-Don’t forget to close the window.别忘了关窗。-No, I won’t.不会忘

第五篇:there be用法总结

1.基本结构

There be + 主语 + 地点/ 时间状语。如:

There is a computer in the room.房间里有一台电脑。

There are two TV plays every evening.每晚有两场电视剧。2.主谓一致

要采取就近一致原则,和靠近be 的主语一致。如:

There is a pen, two rulers in the box.盒子里有一只钢笔,两把尺子。

There are two boys and a teacher at the school gate.门口有两个男孩,一个老师。3.主语后的动词形式

在there be 句型中,主语与动词是主动关系时用现在分词;是被动关系时用过去分词。如:

There is a purse lying on the ground.地上有一个钱包。

There are five minutes left now.现在还有5分钟。4.反意疑问句。

反意疑问句应与 there be 对应,而不是依据主语。如:

There is a radio on the table, isn't there? 桌子上有一台收音机,是吧?

There are more than fifty classes in your school, aren't there? 你们班有50多名学生,是吧? 5.there be 与 have 的替换

there be 表示所属时可与 have 替换。

There is nothing but a book in my bag.= I have nothing but a book in my bag.包里只有一本书。6.there be 后接不定式时常用主动形式表示被动意义。如:

There is a lot of work to do.有许多工作要做。

注意:当该句型主语是 something, anything, nothing 等不定代词时,后面的不定式用主动形式或被动形式,意义各不同。

There is nothing to do.没有事可做。

There is nothing to be done.没有办法(束手无策)。7.与其它词连用,构成复合谓语。如:

There may be a rain this afternoon.今天下午可能有雨。

There used to be a cinema here before the war.战争之前,这儿有一家电影院。8.变体

there be 结构中的 be 有时可用 live, stand, remain 等代替。如:

Once there lived a king who cared more about new clothes than anything else.从前有位国王喜欢新服胜过别的任何东西。9.习惯用语

There is no good /use(in)doing sth.做某事没有好处/用处;There is not a moment to lose.一刻也不能耽误。例如:

There is no good making friends with him.和他交朋友没有什么好处。

He is very ill.Send him to hospital.There's not a moment to lose.他病得厉害,把他送到医院去,一刻也不能耽误。

there be与have的比较

■不同之处

一、用法不同

there be 表示某个时间或地方“存在”某人或某物,而have表示主语“拥有”某人或某物,作宾语的某人或某物属主语所有。

二、结构不同

there be + sb./sth.+时间/地点(副词或介词短语);sb./sth.+ have +sb./sth.else There are some children in the garden.花园里有几个孩子。She has three cars.她拥有三辆汽车。(汽车是属于她的)■相同之处

1.表示某物体在结构上“装有”“配备有”“固有”时,两者均可用。如:

A clock has a round face.= There is a round face on a clock.钟面上有一个圆型的钟盘。

Each house on the street has a small yard.= There is a small yard in each house on the street.这条街旁的每栋房子都有一座小花园。

2.当have表示“包括”时,可以用 There be 替换。如:

A week has seven days.=There are seven days in a week.一周有七天。

3.当 have 表示“存在”时,可以用 There be 替换,如(www.xiexiebang.com): Our village has only one street.=There is only one street in our village.我们村里只有一条街。

This country has rich resources, such as oil, coal and iron.=There is rich resources, such as oil, coal and iron, in this country 这个国家有丰富的资源,如石油、煤和铁等。

下载c语言 printf 的用法word格式文档
下载c语言 printf 的用法.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    常用接续词用法

    常用接续词用法 日常会話でよく出てくる接続詞を機能別に取り上げました。接続助詞は「そして/それから/それで…」のように接続助詞に指示語「そ」がついた形や、「だから/だ......

    助词用法

    1, 上车用に,下车用を 上下车辆、船只、飞机等时注意“上车用に,下车用を”。这里に表示动作的着落点,を表示移动动作的起点。这里使用的动词主要有「乗る、乗り込む、飞び乗る......

    插入语用法归纳

    插入语用法归纳 插入语用法很多,在句子中的位置比较灵活,在学习中应当认真去体会。大体而言,插入语可以分为以下几类: 1. 用简短的句子结构作插入语。这类短语有:I think,......

    it用法小结

    小结(2008-12-08 15:57:31) 标签:教育 It用法小结 it在英语语法中属人称代词,意思是“它”,用来指人以外的一切生物和事物。它的用法不仅不简单,而且很复杂。一、用于指人以外的......

    it 用法总结

    It的用法总结 在英语中,it有许多不同的用法,它既可以用作代词(如人称代词、非人称代词),也可以用作引导词(作形式主语或形式宾语),还可以用来构成强调句型。 1. it用作代词 (1)......

    Such用法总结

    Such用法总结 such可以分为三种不同的词性。 一、形容词的用法 1.such做形容词,是最常见、也是最简单的用法,起到一种强调作用。 She's got such talent. 她很有天赋。 W......

    as_if_用法归纳

    as if 用法归纳 1. as if 从句的作用 as if一般可由as though来代替。可在look, seem等系动词后引导表语从句。如: He looked as if / though he was ill. 他看起来好像生病了......

    AS用法总结

    龙文学校1对1英语辅导教师发现近几年高考试卷中有关as一词的题目出现过很多次,其中as或是最佳选项,或是干扰项,或是题干中的关键信息点,涉及到as作为连词、介词、关系代词、副词......