文档视界 最新最全的文档下载
当前位置:文档视界 › 对C++中string类型的总结

对C++中string类型的总结

对C++中string类型的总结
对C++中string类型的总结

对C++中string类型的总结

string类对象的构造

简化构造函数原型如下

1: explicit basic_string();

2: string(const char *s);

3: string(const char *s, size_type n);

4: string(const string& str);

5: string(const string& str, size_type pos, size_type n);

6: string(size_type n, E c);

7: string(const_iterator first, const_iterator last);

string对象的操作

字符串比较

支持六种关系运算符(==、!=、>、>=、<、<=),其采用字典排序策略(与C中字符串比较策略完全一样)。这六个关系运算符是非成员的重载运算符。而这些

运算符都支持三种操作数组合:string op string、string op const char*、cons

t char* op string(其中op是前面六种关系运算符中任意一种)。解释:提供运算

符的三种重载版本主要是从效率角度考虑的,其避免了临时string对象的产生。

另外,string类还提供了各种重载版本的成员函数compare来比较,简化函数原型为:

1: int compare(const string& str) const;

2: int compare(size_type p0, size_type n0, const string& str);

3: int compare(size_type p0, size_type n0, const string& str, si ze_type pos, size_type n);

4: int compare(const char* s) const;

5: int compare(size_type p0, size_type n0, const char* s) const;

6: int compare(size_type p0, size_type n0, const char* s, size_t ype n) const;

返回值:如果调用该函数的对象的比较序列小于操作数比较序列,则返回负数;

若相等,则返回0;否则,返回正数。

?字符串相加

针对string类提供了非成员重载operator+,支持string对象之间、string 对象与const char*对象之间、string对象与char对象之间相加,并且operator + 两边的操作数的任意顺序都支持。简化函数原型如下:

1: string operator+ (const string& lhs, const string& rhs);

2: string operator+ (const string& lhs, const char *rhs);

3: string operator+ (const string& lhs, char rhs);

4: string operator+ (const char *lhs, const string& rhs);

5: string operator+ (char lhs, const string& rhs);

?字符串赋值

字符串赋值有两种方式:一是利用成员重载运算符operator=;另外就是使用成员重载函数assign可以更加灵活地处理。这里只提供简化函数原型供参考:

1: string& operator=(char c);

2: string& operator=(const char *s);

3: string& operator=(const string& rhs);

4: string& assign(const char *s);

5: string& assign(const char *s, size_type n);

6: string& assign(const string& str, size_type pos, size_type n);

7: string& assign(const string& str);

8: string& assign(size_type n, char c);

9: string& assign(const_iterator first, const_iterator last);

?字符串追加

字符串追加同样有两种方式:一是operator+=;另外就是成员函数append。

简化函数原型如下:

1: string& operator+=(char c);

2: string& operator+=(const char *s);

3: string& operator+=(const string& rhs);

4: string& append(const char *s);

5: string& append(const char *s, size_type n);

6: string& append(const string& str, size_type pos, size_type n);

7: string& append(const string& str);

8: string& append(size_type n, char c);

9: string& append(const_iterator first, const_iterator last);

?读取子串

获取某个下标处的字符:一是用at成员函数;另外就是用operator[]。获取子串,可以用成员函数c_str及substr,还有成员函数data和copy。简化函数原型如下:

1: reference operator[](size_type pos);

2: const_reference operator[](size_type pos) const;

3: reference at(size_type pos);

4: const_reference at(size_type pos) const;

5:

6: const char *c_str() const;

7: const char *data() const;

8: string substr(size_type pos = 0, size_type n = npos) const; 9: size_type copy(char *s, size_type n, size_type pos = 0) cons t;

注意:若at函数的参数pos无效,则抛出异常out_of_range;但如果oper ator[]的参数pos无效,则属于未定义行为。所以at比operator[]更加安全。

其中,copy返回实际拷贝的字符数。

?替换子串

成员函数replace实现替换某个子串。简化函数原型如下:

1: string& replace(size_type p0, size_type n0, const char *s); 2: string& replace(size_type p0, size_type n0, const char *s, s ize_type n);

3: string& replace(size_type p0, size_type n0, const string& st r);

4: string& replace(size_type p0, size_type n0, const string& st r, size_type pos, size_type n);

5: string& replace(size_type p0, size_type n0, size_type n, cha r c);

6: string& replace(iterator first0, iterator last0, const char *s);

7: string& replace(iterator first0, iterator last0, const char *s, size_type n);

8: string& replace(iterator first0, iterator last0, const strin g& str);

9: string& replace(iterator first0, iterator last0, size_type n, char c);

10: string& replace(iterator first0, iterator last0, const_itera tor first, const_iterator last);

这里,可能需要用到这几个函数得到整个字符序列:

1: const_iterator begin() const;

2: iterator begin();

3: const_iterator end() const;

4: iterator end();

?插入字符串

成员函数insert实现在某点处插入字符串。简化函数原型如下:

1: string& insert(size_type p0, const char *s);

2: string& insert(size_type p0, const char *s, size_type n);

3: string& insert(size_type p0, const string& str);

4: string& insert(size_type p0, const string& str, size_type pos, size_type n);

5: string& insert(size_type p0, size_type n, char c);

6: iterator insert(iterator it, char c);

7: void insert(iterator it, const_iterator first, const_iterator last);

8: void insert(iterator it, size_type n, char c);

注意:insert函数是在插入点(p0 or it)之前插入字符串。

?删除子串

成员函数erase实现删除某个子串。简化函数原型如下:

1: iterator erase(iterator first, iterator last);

2: iterator erase(iterator it);

3: string& erase(size_type p0 = 0, size_type n = npos);

如果指定删除的字符个数比字符串中从指定位置开始的剩余字符个数还多,那么只有这些字符被删除。

?查找子串

查找子串有六种方式,分别有五类成员函数与之应。

·find 查找控制字符序列中与操作字符序列匹配的第一个子串,并返回子串的起始位置;

·rfind 查找控制字符序列中与操作字符序列匹配的最后一个子串,并返回该子串的起始位置,相当于逆向查找;

·find_first_of 查找控制字符序列中第一个出现在操作字符序列中的字符的位置,并返回该位置;

·find_first_not_of查找控制字符序列中第一个不出现在操作字符序列中的字符的位置,并返回该位置;

·find_last_of 查找控制字符序列中最后一个出现在操作序列中的字符的位置,并返回该位置;

·find_last_not_of 查找控制字符序列中最后一个不出现在操作字符序列中的字符位置,并返回该位置;

如果这些函数查找失败,则返回string::npos。

其中,find函数的简化函数原型如下:

1: size_type find(char c, size_type pos = 0) const;

2: size_type find(const char *s, size_type pos = 0) const;

3: size_type find(const char *s, size_type pos, size_type n) con st;

4: size_type find(const string& str, size_type pos = 0) const;

另外的五个函数的函数原型和find的函数原型类型类似,区别在于,如果是是逆序查找的函数(rfind, find_last_of, find_last_not_of),则pos参数默认值为n pos。

其它成员函数和友元函数

1: size_type capacity() const; // 返回当前字符串的存储空间大小>=size()

2: void reserve(size_type n = 0);// 预留n个元素的存储空间,保证capacity()>=n

3: bool empty() const; // 若字符串为空,返回true 4: size_type size() const; // 返回字符串长?

5: size_type length() const; // 等于size()

6: size_type max_size() const; //返回string类中字符串的最大长度

7: void resize(size_type n, char c = ' '); //若长度不够,则用c填充加长的部分;保证size()返回n

8: void swap(string& str); //两string对象交换,能在常数时间内完成(必须是使用相同allocator的两对象,这里都使用的默认的)

9:

10: // 其它非成员函数

11: istream& getline(istream& is, string& str);

12: istream& getline(istream& is, string& str, char delim);

13: ostream& operator<<(ostream& os, const string& str); 14: istream& operator>>(istream& is, const string& str);

其中,istream& getline(istream& is, string& str); 相当于istream& g etline(istream& is, string& str, char delim = '\n');

getline函数在下列三种情况下结束提取:

1)遇到文件结束符;

2)遇到分隔符delim。如果第一个就是分隔符,str为空串(并且该分隔符被从流中读出丢弃),但istream测试为真;

3)如果已经提取了istream.max_size()个字符,那么提取结束,并且将调用istream.setstate(ios_base::failbit),即此时返回的istream测试为假。

如果函数没有提取到字符(包括分隔符),那么将调用istream.setstate(fail bit),此时测试istream为假。

默认情况下,istream& operator>>(istream& is, const string& str);在下列三种情况下结束提取:

1)遇到文件结束符;

2)遇到空白字符(空格、Tab、换行);

3)如果已经提取了is.max_size()个字符,或者提取了is.width()(非0情况下)个字符。

如果没有提取到任何非文件结束符的字符(包括空白字符),那么将调用istre am.setstate(failbit),此时测试istream为假。

例如,看看下面的循环:

1: while(cin >> word)

2: {

3: cout << "word read is: " << word << '\n';

4: }

要中止上面的循环应该用文件结束符:

Win——Ctrl+Z Unix——Ctrl+D

并且,应该是输入行的第一个字符就是文件结束符,然后回车才能结束循环。

中考英语口语辅导:consider的用法

中考英语口语辅导:consider的用法 表示“考虑”,其后可接动名词,但不能接不定式。如He is considering changing his job. 他在考虑调换工作。I’ve never really considered getting married. 我从未考虑过结婚的事。注:consider 之后虽然不能直接跟不定式,但可跟“疑问词+不定式”结构。如Have you considered how to get there / how you could get there. 你是否考虑过何到那儿去?2. 表示“认为”、“把……看作”,下面三个句型值得注意(有时三者可互换) (1) consider +that从句(2) consider+宾语+(as +)名词或形容词(3) consider+宾语+(to be +)名词或形容词I consider him (as) honest (或an honest man). I consider him (to be) honest (或an honest man). I consider that he is honest (或an honest man). 注:(1) 以上备句意思大致相同,对于consider 之后能否接as 的问题,尚有不同看法(即有人认为不能接as ,有人认为可以拉as,但实际上接as 的用法已很普遍)。(2) 在“consider+宾语”之后除可接to be 外,有时也可to do 型动词(但多为完成形式)。如We all considered him to have acted disgracefully. 我们都认为他的行为很不光彩。

疑问代词用法总结及练习

疑问代词用法总结及练习 句子是英语学习的核心。从句子使用的目的来分,它可分为四类 1、陈述句(肯定句和否定句) 2、疑问句(一般疑问句、特殊疑问句和选择疑问句) 3、祈使句(肯定句和否定句) 4、感叹句。 四大句子类型的相互转换,对于学生来讲是个难点,为此,可通过说顺口溜的形式来帮助学生解决这一难题。 如:将陈述句变成一般疑问句,可以变成这样的顺口留:疑问疑问调个头,把be(系动词“is are am”)放在最前头。 如:将陈述句的肯定句变成否定句,我们就可以这样说:否定,否定加“not”,加在何处,加在系动词的后面。 在句子相互转换的题型中,最难的要算“就下列划线部分提问”或是“看答句,写问句”这种题型了,其实,我们只要熟练掌握疑问词(what,what time, what colour, where, when, who, whose, which, how, how old ,how tall, how long, how big, how heavy , how much, how many等等)具体用法。

习题 一、选择正确的单词填空 (who, where, when) is that pretty girl She is my sister. are Jack and Tom They are behind you. do you go to school I go to school from Monday to Friday. has a beautiful flower John has a beautiful flower.

are they They are my parents. is my mother She is in the living room. are you going We are going to the bakery(面包坊). Jim and Wendy play ball They play ball in the afternoon. does he jog He jogs in the park. are you from I'm from Changchun city. 11. _______ is your birthday –On May 2nd. 12、_______ are you --- I`m in the office. 13. are you ---- I`m Alice. 二.用(what time, what color, what day, what)填空。 1. A: ______ _______ is it B: It is nine o’clock. 2. A: ______ _______ does your mother get up B: My mother gets up at 6:30. 3. A: ______ _______ do you go to bed B: I go to bed at 10:00. 4. A: ______ _______ do Diana and Fiona have supper B: Diana and Fiona have supper at 18:00. 5. A: ______ _______is it B: It is purple. 6. A: ______ _______ is the sky B: The sky is blue. 7. A: ______ _______ is your coat B: My coat is black. 8. A: ______ _______ is the dog B: The dog is white. 9. A: ______ _______ is today B: Today is Monday. 10. A: ______ _______ is tomorrow B: Tomorrow is Tuesday. 11. A: ______ _______ was yesterday B: Yesterday was Sunday. 12. A: ______ _______ do you like B: I like red. 13. A: ______ is this This is a computer. 14. A: ______ are you doing B: We are playing basketball.

初中化学反应类型归纳

初中化学反应类型归纳 一、分解反应 1、水在直流电的作用下分解 2、加热碱式碳酸铜 3、加热氯酸钾(有少量的二氧化锰) 4、加热高锰酸钾 5、碳酸不稳定而分解 6、高温煅烧石灰石 二、化合反应 (1)活泼金属+ 氧气 ------- 金属氧化物 1、镁与氧气 2、铁与氧气 3、铜与氧气 4、铝与氧气 (2)非金属单质+ 氧气 ------- 非金属氧化物 1、碳与氧气 2、硫与氧气 3、磷与氧气

(1)金属单质 +酸 -------- 盐+氢气(置换反应) 1、锌和稀硫酸 2、铁和稀硫酸 3、镁和稀硫酸 4、铝和稀硫酸 5、锌和稀盐酸 6、铁和稀盐酸 7、镁和稀盐酸 8、铝和稀盐酸 (2)金属单质 + 盐(溶液) ------- 另一种金属 + 另一种盐 1、铁和硫酸铜溶液反应 2、锌和硫酸铜溶液反应 3、铜和硝酸汞溶液反应 (3)非金属单质+ 金属氧化物=== 金属单质+ 非金属氧化物 1、氢气还原氧化铜 2、木炭还原氧化铜 3、焦炭还原氧化铁 4、焦炭还原四氧化三铁

(1)酸 + 碱 -------- 盐+ 水 1、盐酸和烧碱起反应 2、盐酸和氢氧化钾反应 3、盐酸和氢氧化铜反应 4、盐酸和氢氧化钙反应 5、盐酸和氢氧化铁反应 6、氢氧化铝药物治疗胃酸过多 7、硫酸和烧碱反应 8、硫酸和氢氧化钾反应 9、硫酸和氢氧化铜反应 10、硫酸和氢氧化铁反应 11、硝酸和烧碱反应 (2)酸 + 盐 -------- 另一种酸+ 另一种盐 1、石与稀盐酸反应 2、碳酸钠与稀盐酸反应 3、碳酸镁与稀盐酸反应 4、盐酸和硝酸银溶液反应 5、硫酸和碳酸钠反应 6、硫酸和氯化钡溶液反应

consider的基本用法及与regardthinkofabout

consider的基本用法及与regard,think ofabout和look(up)on as的区别 consider的基本用法及与regard,think of/about和look(up)on as的区别 consider一词在历年高考中是一个常考的要点,其用法应分为两部分来讲。第一、作“考虑、思考”时的搭配如下: 1.consider+n./pron.,例如: Have you considered the suggestion? That’s what we have to consider now. 2.consider+v-ing,但不能接不定式的一般式,例如: We considered going to see the doctor the next day. Have you considered moving to shanghai recently? You must consider to tell him something about it.(错误) 3.consider+疑问词+不定式,例如: He is considering how to improve his English. We must consider what to do next.

4.consider+从句,例如: We didn’t consider whether he should go or not. Have you considered when we should go there? 第二、作“认为、把……当作/看作”等意思时的搭配如下:1.consider+sb/sth+(to be/as)+n./adj.,例如: I consider him to(be/as)my best friend. Everyone considers him(to be)clever. He considered it much improved. 2.consider+sb./sth.+不定式短语(作宾语补足语),不能接不定式的一般式,例如: We consider them to be working very hard. We consider them to have finished the work. We consider him to be the clever in our class. We must consider him to go there at once.(错误) 3.consider+it+adj./n.+不定式短语,其中it为形式宾语,不定式短语为真正的宾语,例如: Jiao Yulu considered it his duty to serve the people heart and soul. They consider it necessary to set the slaves free.

英语一般疑问句用法总结

英语一般疑问句用法总结 1. 基本用法及结构 一般疑问句用于对某一情况提出疑问,通常可用yes和no来回答,读时用升调。其基本结构是“be / have / 助动词+主语+谓语(表语)”: Is he interested in going? 他有兴趣去吗? Have you ever been to Japan? 你到过日本吗? Does she often have colds? 她常常感冒吗? Did you ask her which to buy? 你问没问她该买哪一个? 2. 陈述句变一般疑问句的方法 (1) 动词be的否定式。动词be根据不同的时态和人称可以有am, is, are, was, were等不同形式,可用作连系动词(表示“是”、“在”等)和助动词(用于构成进行时态和被动语态等),但不管何种情况,构成疑问式时,一律将动词be的适当形式置于句首: Am I right? 我是对的吗? Are you feeling better today? 你今天感到好些了吗? Was he late for school? 他上学迟到了吗? (2) 动词have的疑问式。动词have根据不同的时态和人称可以有have, has, had等形式,可以用作实意动词和助动词,分以下情况讨论:

①用作实意动词表示状态,如表示拥有、患病或用于have to 表示“必须”等,在构成构成式时可以直接将have, has, had置于句首,也可根据情况在句首使用do, does, did: Does he have [Has he] anything to say? 他有什么话要说吗? Do you have [Have you] to leave so soon? 你必须这么早走吗? Did you have [Had you] any friends then? 他当时有朋友吗? ②用作实意动词表示动作,如表示“吃(=eat)”、“喝(=drin k)”、“拿(=take)”、“收到(=receive)”、“度过(=spend)”等,构成疑问式时不能将have提前至句首,而应在句首使用do, does, did: Does he have breakfast at home? 他在家吃早餐吗? Did you have a good time at the party? 你在晚会上玩得高兴吗? ③用作助动词构成完成时态,其疑问式总是将have等置于句首: Have you finished your work? 你的工作做完了吗? Has he left when you arrived? 你到达时他已离开了吗? (3) 情态动词的疑问式。情态动词的疑问式通常是将情态动词置于句首: Can you speak English? 你会说英语吗?

初三化学方程式总结(按反应类型)

说明:“﹡”代表了解,“★”代表重中之重,反复记忆 一、化合反应: 1、镁带燃烧:2Mg+O2===2MgO 现象:发出耀眼的强光,放出大量的热,生成白色固体。 2、铁丝在氧气中燃烧:3Fe+2O2===Fe3O4 现象:在氧气中剧烈燃烧,火星四射;生成黑色固体 > 3、铝在空气中与氧气反应:4Al+3O2===2Al2O3 4、木炭燃烧: 氧气充足:C+O2===CO2 现象:⑴木炭在空气中燃烧发红热; ⑵在氧气中剧烈燃烧发出白光,生成无色气体使澄清石灰水变浑浊。 氧气不充足:2C+O2===2CO 5、硫燃烧:S+O2===SO2 现象:⑴在空气中燃烧发出微弱的淡蓝色火焰; ⑵在氧气中剧烈燃烧,发出明亮的蓝紫色火焰,生成一种有刺激性气味的气体。 6、红磷燃烧:4P+5O2===2P2O5 现象:在氧气中剧烈燃烧,生成大量白烟,发出黄色火焰。 ) 7、氢气燃烧:2H2+O2===2H2O 现象:纯净的氢气在空气中安静燃烧,发出淡蓝色火焰,生成无色液滴。 8、一氧化碳燃烧:2CO+O2===2CO2 现象:产生蓝色火焰,生成无色气体使澄清石灰水变浑浊。 9、二氧化碳与水反应:CO2+H2O===H2CO3 现象:二氧化碳使紫色石蕊试剂变为红色。 10.氧化钙和水反应:CaO+H2O===Ca(OH)2 放热 | (CaO可用作干燥剂) 二、分解反应: 11、电解水:2H2O===2H2↑+ O2↑ 现象:两极都产生气泡 正极产生的气体和负极产生的气体体积比为1 :2; 12、实验室制氧气的反应原理:★ ⑴加热氯酸钾和二氧化锰的混合物:2KClO3===2KCl+3O2↑ ⑵加热高锰酸钾:2KMnO4===K2MnO4+MnO2+O2↑ ⑶双氧水分解:2H2O2=== 2H2O +O2↑ 13、碳酸不稳定分解:H2CO3===H2O+CO2↑ 。 三、置换反应: 14、实验室制氢气的反应原理:Zn+H2SO4===ZnSO4+H2↑ 15、金属与酸生成氢气的反应:(条件:金属活动性顺序中氢之前的金属) Fe+H2SO4===FeSO4+H2↑Fe+2HCl===FeCl2+H2↑ 现象:产生气泡,金属逐渐减少,溶液由无色变为浅绿色 Mg+H2SO4===MgSO4+H2↑Mg+2HCl===MgCl2+H2↑ 现象:产生气泡,金属逐渐减少 》 ﹡16、氢气还原氧化铜:H2+CuO===Cu+H2O 现象:黑色固体变为红色,生成无色液滴。 17、碳还原氧化铜:C+2CuO===2Cu+CO2↑ 现象:黑色固体变为红色,生成无色气体使澄清石灰水变浑浊。18、碳还原氧化铁:2Fe2O3+3C=== 4Fe+3CO2↑ 点燃 点燃 点燃 ~ 点燃 点燃 点燃 Δ Δ Δ 高温 # 高温 通电 MnO2 点燃

STRING类函数用法总结3

C++中的string类 前言:string的角色 1string使用 1.1充分使用string操作符 1.2眼花缭乱的string find函数 1.3string insert,replace,erase2string和C风格字符串 3string和Charactor Traits 4string建议 5小结 6附录前言:string的角色 C++语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触perl,php,和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。 举例来说,如果文本格式是:用户名电话号码,文件名name.txt Tom23245332 Jenny22231231 Heny22183942 Tom23245332 ... 现在我们需要对用户名排序,且只输出不同的姓名。 那么在shell编程中,可以这样用: awk'{print$1}'name.txt|sort|uniq 简单吧? 如果使用C/C++就麻烦了,他需要做以下工作: 先打开文件,检测文件是否打开,如果失败,则退出。 声明一个足够大得二维字符数组或者一个字符指针数组 读入一行到字符空间 然后分析一行的结构,找到空格,存入字符数组中。 关闭文件 写一个排序函数,或者使用写一个比较函数,使用qsort排序 遍历数组,比较是否有相同的,如果有,则要删除,copy... 输出信息 你可以用C++或者C语言去实现这个流程。如果一个人的主要工作就是处理这种

Consider的用法

Consider的用法: -Have you considered_____ the job ss a teacher? -Yes.I like it because a teacher is often considered _______ a gardener. A.to take,to be B.to take,being C.taking,being D.taking,to be 答案:d译文:你考虑过做老师的工作吗? 是的,我非常喜欢,因为老师通常被认为是园丁 一、consider作“考虑”解,常用于以下句型: 1.consider+名词/代词/动名词。 You'd better consider my suggestion. 你最好考虑我的建议。 I’m considering going abroad some day.我一直考虑有一天出国。 2.consider+从句或“疑问词+不定式”。 Have you considered what he suggested? 你们考虑他的建议了吗? We must consider what to do next. 我们必须考虑下一步要做什么。 二.consider作“认为”解时,常用于以下句型: 1.consider sb./sth+.(as)+形容词/名词。其中,as可以省略。 We consider him honest. 我们认为他很诚实。 At first they considered me as a doctor.起初他们认为我是医生。 2.consider+sb./sth.+不定式。其中,不定式通常是to be(可以省略)或其他动词的完成式。We consider this matter to be very important. 我们认为这件事很重要。 We all consider him to have stolen the bike.我们都认为他偷了自行车。 3.consider+it+形容词/名词+不定式短语。 We consider it hard to study English well.我们认为学好英语很难。 I consider it my duty to help you with your studies.我认为帮助你学习英语是我的职责。 4.consider+宾语从句。 We consider that the music is well worth listening to.我们这首音乐很值得一听。 在该题中,前一个句子中的consider作“考虑”解,后接动名词作宾语,但不可接不定式,由此可以排除A, B; 后一个句子中的consider作“认为”解,用到句型consider+sb./sth.+不定式,此处使用的是被动语态结构。故答案为D项。 请看下面两道考题,均考查“with+宾语+非谓语动词”结构: 1.—Come on, please give me some ideas about the project. —Sorry. With so much work _________my mind, I almost break down. A.filled B.filling C.to fill D.being filled 2.John received an invitation to dinner, and with his work _________, he gladly acc epted it. A.finished B.finishing C.having finished D.was finished 以上两题答案分别为B和A,均考查“with+宾语+非谓语动词”结构。该结果中的“非谓语动词”可以是不定式、现在分词、过去分词,它们在用法上的区别如下:

一般疑问句、选择疑问句的详细用法备课讲稿

一般疑问句、选择疑问句的详细用法

一般疑问句、 (一)一般疑问句 1、一般疑问句概述 一般疑问句(general questions),也可称为“yes/no” questions(是否型问句),因为它一般是由yes或no回答的,如: —Can you swim to the other side?你能游到对岸吗? —Yes, I can.是的,我能。 —No,I can’t.不,我不能。 —Have you locked the door?你锁门了吗? —Yes,I have.是的,锁了。 —No,I haven’t. 不,没有锁。 2一般疑问句的结构 (1)基本的结构为:be/助动词/情态动词+主语+谓语/表语+(其他),句子要读升调,如: Are they your friends?他们是你的朋友吗? Does he go to school on foot?他是步行去上学吗? Will you be free tonight?你今晚有空吗? Can you play basketball?你会打篮球吗? (2)陈述句亦可用作一般疑问句,多用在非正式文体中,句末有问号,用升调,如: Somebody is with you?有人和你一起吗? He didn’t finish the work?他没有做完活吗? You are fresh from America,I suppose?我猜,你刚从美国回来吧? 3、一般疑问句的答语 (1)一般疑问句一般由yes或no来回答,如: —Are you tired?你累了吗? —Yes,I am.是的,累了。 —No, I’m not.不,不累。 —Does she do the cleaning?她扫除了吗?

初中化学方程式分类总结

初中化学方程式分类总结 (一)化合反应A+B→C 多变一木炭完全燃烧:C+O2 CO2 (还记得什么情况下生成CO2 )木炭不完全燃烧:2C+O22CO 什么情况下生成CO吗?硫在氧气或者空气中燃烧:S+O2 SO2铁在氧气中燃烧:3Fe +2O2 Fe3O4 (黑)磷在氧气中燃烧:4P+5O22P2O5 (白)铜在空气中加热:2Cu+O22CuO(黑)一氧化碳在空气中燃烧:2CO+O22CO2二氧化碳通过灼热的碳层:CO2 +C2CO二氧化碳与水反应:CO2 +H2O===H2CO3氧化钠溶于水:Na2O +H2O ===2NaOH氧化钾与水反应:K2O + H2O===2KOH生石灰和水化合:CaO+H2O ===Ca(OH)2三氧化硫溶于水:SO3+H2O ===H2SO4 【SO3是H2SO4的酸酐二氧化硫溶于水:SO2+H2O===H2SO3 注意S元素化合价未变哦】 氢气在氧气中燃烧:2H2 +O22H2O氢气在氯气中燃烧:H2 + Cl22HCl铁在氯气中燃烧:2Fe +3 Cl22FeCl3铁生锈4Fe +3O2 +2n H2O===2Fe2O3nH2O铜生锈2Cu + O2 + H2O + CO2 ===Cu2(OH)2CO3白色无水硫酸铜遇水变蓝:CuSO4+5H2O ===CuSO45H2O (蓝)铝在纯氧中燃烧4Al+3O22Al2O3 铝在空气耐腐蚀的原因:4Al +3O2 ===2Al2O3 (不用写条件)镁条可以与氮气反应:3Mg + N2 Mg3N2镁在空气中燃烧:2Mg+O22MgO (白)(二)分解反应:

C→A+B 一变多氯酸钾与二氧化锰共热实验室制O22KClO32KCl +3O2↑加热高锰酸钾制O2 :2KMnO4 K2MnO4+MnO2+O2↑(注意会画这三种制取氧气方法的实验装置图)MnO2催化分解双氧水制 O2 :2H2O22H2O +O2↑加热铜绿:Cu2(OH)2CO32CuO+H2O +CO2 ↑电解水:2H2O2H2 ↑+ O2↑碳酸不稳定分解:H2CO3===H2O+CO2↑高温煅烧石灰石:CaCO3 CaO+CO2 ↑硫酸铜晶体受热失水: CuSO45H2O CuSO4 +5H2O氢氧化铜受热分解:Cu(OH)2 CuO + H2O 加热分解氧化汞:2HgO2Hg + O2↑工业制铝:2Al2O32Al +3O2 ↑碳酸氢铵的分解 NH4HCO3 NH3 ↑ + H2O +CO2 ↑碳酸氢钙的分解Ca(HCO3)2 CaCO3 ↓ + CO2 ↑ + H2O (三)置换反应 A + BC → B + AC 单质和化合物反应生成 另一种单质和另一种化合物 B的位置被A替换了(注意定义和观察置换的位置)注意置换反应是两种反应物两种生产物,近几年来,在物质推断题中经常考察置换反应,基本的设置是两种反应物,两种生产物,反应物中有种是单质,生产物有种是单质,那 就是置换嘛。但涉及到置换反应的分类。 1、金属与液态物质的置换反应①活波金属与酸(溶液)实验室用锌和硫酸制H2:Zn+H2SO4 = ZnSO4+H2↑ (为什么用锌呢?)锌和稀盐酸的:Zn+2HCl=ZnCl2+H2↑(因为锌的速度适中 那为什么不用盐镁与稀硫酸:Mg + H2SO4 = MgSO4 + H2↑ 酸 呢?盐酸挥发出HCl气体)镁与稀盐酸:Mg + HCl== MgCl2+ H2↑铁和稀盐酸:Fe+2HCl=FeCl2+H2↑ (注意是+2价的铁)铁和

consider的用法归纳有哪些

consider的用法归纳有哪些 consider的用法:作名词 consideration作名词,意为careful thought and attention斟酌,考虑 Several considerations have influenced my decision.好几个因素影响了我的决定。 1.Consideration for顾及,体贴 He has never shown much consideration for his wife’s needs.他从来不顾及他妻 子的需要。 2.Under consideration在讨论/考虑中 Several projects are under consideration.好几个项目在讨论中。 There are some proposals under consideration. 有几个建议在审议中。 3.Take sth. into consideration考虑到某事,体谅 Your teachers will take your recent illness into consideration when marking your exams. 你的几位老师在给你的考试评分时,会考虑你最近生病这一情况的。 4.Leave sth. out of consideration 忽略/不重视某事 It was wrong to leave my feelings out of consideration.不顾及我的情感是不对的。 5.Show consideration for体谅,顾及 Jeff never shows any consideration for his mother’s feelings.杰夫从来不体谅他 母亲的感受。 6.of. No / little consideration无关紧要的,不重要的 Whether he would go with us or not was of no consideration. 他是否跟我们一起 去是无关紧要的。 7.In consideration of sth.作为对……的汇报,考虑到 It’s a small payment in consideration of your services.这是答谢您服务的微薄酬金。 consider的用法:作动词 1.Consider作动词,意为think about sth.考虑,斟酌 常用搭配:consider sth. / doing sth. / where(how, why)+to do /that clause; all things considered通盘考虑,考虑到问题的各个方面。如:

string类的使用教程

这个是string类的使用教程,可以参考一下 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用= 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……… 首先,为了在我们的程序中使用string类型,我们必须包含头文件。如下:#include //注意这里不是string.h string.h是C字符串头文件 1.声明一个C++字符串 声明一个字符串变量很简单: string Str; 这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下: a) string s; //生成一个空字符串s b) string s(str) //拷贝构造函数生成str的复制品 c) string s(str,stridx) //将字符串str内“始于位置stridx”的部分当作字符串的初值 d) string s(str,stridx,strlen) //将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值 e) string s(cstr) //将C字符串作为s的初值 f) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s 的初值。 g) string s(num,c) //生成一个字符串,包含num个c字符 h) string s(beg,end) //以区间beg;end(不包含end)内的字符作为字符串s的初值 i) s.~string() //销毁所有字符,释放内存 都很简单,我就不解释了。 2.字符串操作函数 这里是C++字符串的重点,我先把各种操作函数罗列出来,不喜欢把所有函数都看完的人可以在这里找自己喜欢的函数,再到后面看他的详细解释。 a) =,assign() //赋以新值 b) swap() //交换两个字符串的内容 c) +=,append(),push_back() //在尾部添加字符 d) insert() //插入字符 e) erase() //删除字符 f) clear() //删除全部字符 g) replace() //替换字符 h) + //串联字符串 i) ==,!=,<,<=,>,>=,compare() //比较字符串 j) size(),length() //返回字符数量

特殊疑问句和一般疑问句的用法

(一)由be(am,is,are)引导的一般疑问句 1、Am I a student? 我是学生吗? Yes,you are./ No,you aren’t. 2、Is this /that/it a chair?这/那/它/是一把椅子吗? Yes,it is. /No,it isn’t. 3、Is she/Amy your sister?她/艾米是你的妹妹吗?Yes,she is ./ No,she isn’t. 4、Is he/Mike your brother?他/迈克是你的哥哥吗?Yes,he is./No,he isn’t. 5、Is your brother helpful at home? 你哥哥在家有用吗?Yes, he is./ No, he isn’t. 6、Is there a forest in the park? 在公园有一个森林吗? Yes,there is./No,there isn’t. 是的,有。/不,没有。 7、Are there any panda s in the mountains?在山上有熊猫吗? Yes,there are./No,there aren’t.是的,有。/不,没有。 8、Are they dusk s? 它们是鸭子吗?(问物) Yes, they are. /No,they aren’t.是的,它们是。/不,它们不是。 9、Are they famers? 他们是农民吗?(问人) Yes, they are. /No,they aren’t. 是的,他们是。/不,他们不是。 10、Are you a teacher?你是一个老师吗?(问you 用I回答) Yes, I am./No,I’m not.是的,我是。/不,我不是。 11、Are you teacher s?你们是老师吗? Yes,we are./No,we aren’t.是的,我们是。/不,我们不是。 (二)、由do引导的一般疑问句

最新高中化学反应类型归纳

1、卤代反应:有烃与卤素单质反应 如423CH Cl CH Cl HCl +?? →+光(烷烃:光照) 2Fe Br +?? →Br -HBr +(芳香烃:催化剂) 醇与氢卤酸反应 例:25252C H OH HBr C H Br H O +→+ 2、硝化反应: 如 3|CH 2433H SO HNO +????→浓2O N -2 NO -2| NO 3 | CH 23H O + 3、碘化反应: 如:()24H SO ?+??→浓3SO H -2H O + 4、有机物的水解(卤代烃水解和酯的水解) 例:25225C H Br H O C H OH HBr ?+?? →+ 3252325H CH COOC H H O CH COOH C H OH + ++垐垎噲垐 5、分子间脱水(酯化反应,醇分子间脱水) 例如:24 3253252H SO CH COOH C H OH CH COOC H H O ?+????→+浓 24025252521402H SO C C H OH C H OC H H O ????→+浓

1、不饱和烃与H 2、X 2、HX 、H 2O 等加成 如2332Ni CH CH H CH CH ? ≡+??→ 22222|| CH CH Br CH CH Br Br =+→- 2、芳香烃与X 2、H 2加成 例: 23Ni H ?+??→ 3、||O C --与H 2加成(包括醛、酮单糖与H 2加成) 如3232Ni CH CHO H CH CH OH ? +??→ 三、消去反应: 1、卤代烃消去:X 所连碳原子上连有H 原子的卤代烃才能消去(NaOH 醇溶液)。 如:322322CH CH CH X NaOH CH CH CH NaX H O ? -+??→=++醇 2、醇消去:羟基所连碳原子上的相邻碳原子上必须连有H 原子的醇才能消去(浓H 2SO 4,加热)。 如:2403232217033 ||| H SO C CH CH CH CH C CH H O CH CH OH --????→-=+浓 四、聚合反应: 1、加聚反应:不饱和有机物彼此加成而生成高分子化合物的反应。

否定疑问句的构成和用法

否定疑问句的构成和用法 反意疑问句是在陈述句后边加上一个简短问句,对陈述句所叙述的内容提出相反的疑问,这种句子就叫作反意疑问句。反意疑问句可以表示真实的疑问,也可以表示提问人的倾向、强调或反问。如果陈述句是肯定句时,后边的反意疑问句通常要用否定式;反之,如果陈述句是否定句时,后边的反意疑问句通常要用肯定式。陈述句和后边的反意疑问句的主语以及谓语动词的人称、数、时态通常要保持一致。例如: He speaks English, doesn't he? Mary won't do it, will she? Lies cannot cover up the facts, can they? 回答反意疑问句和回答一般疑问句一样,肯定回答用"Yes, +肯定结构";否定回答用"No, +否定结构"。这与汉语习惯有所不同。例如: -He's a doctor, isn't he?他是医生,对吧? -Yes, he is.对,他是医生。(No, he isn't.不,他不是医生。) -He isn't a doctor, is he?他不是医生,对吧? -Yes, he is.不,他是医生。(No, he isn't.对,他不是医生。) 在使用反意疑问句时,特别要注意以下几点: 1.当动词have作"有"讲时,可以有两种反意疑问句形式。例如: He hasn't any sisters, has he? He doesn't have any sisters, does he? 当have表示其它含义(如:经历、遭受、得到、吃……)讲时,只有一种反意疑问句形式: You all had a good time, didn't you? He often has colds, doesn't he? They had milk and bread for breakfast, didn't they? 2.如果陈述句的谓语动词含有have to, had to时,反意疑问句通常用其适当形式。例如: We have to get there at 8 a.m. tomorrow, don't we? They had to take the early train, didn't they? 3. need和dare既可以作情态动词,又可以作实义动词,注意有两种反意疑问句形式。例如: You needn't hand in your paper today, need you? You don't need to hand in your paper today, do you? He dare ask the teacher, dare not he? He doesn't dare to ask the teacher, does he? 4.如果陈述句的谓语动词含有used to时,也可以有两种反意疑问句形式。例如: He used to live in London, usedn't/ didn't he? 5.如果陈述句中出现never, seldom, hardly, scarcely, rarely, few, little, nobody, no one, nothing等含有否定意义的词时,反意疑问句通常要用肯定式。例如: She seldom goes to the concert, does she? He has few good reasons for staying, has he? 6.如果陈述句中的主语是不定式短语、动名词短语、从句、everything或nothing时,反意疑问句通常要用it作主语。例如: To sell/ Selling newspaper was his job, wasn't it? What he said is true, isn't it? Everything is all right, isn't it? 7.如果陈述句中的主语是不定代词everybody, everyone, somebody, someone, nobody, no one, each of等时,反意疑问句通常要用they或he作主语。例如: Somebody borrowed my bike, didn't they/ he? Each of them passed the exam, didn't they?

有机化学反应类型总结

有机化学反应类型总结 1、取代反应 定义:有机物分子里的某些原子或原子团被其它原子或原子团所代替的反应称为取代反应。 (1)能发生取代反应的官能团有:醇羟基(-OH)、卤原子(-X)、羧基(-COOH)、酯基(-COO-)、肽键(-CONH-)等。 (2)能发生取代反应的有机物种类如下图所示: 2、加成反应 定义:有机物分子里不饱和的碳原子跟其他原子或原子团直接结合,生成别的物质的反应,叫加成反应。分子结构中含有双键或三键的化合物,一般能与H2、X2(X为Cl、Br、I)、HX、H2O、HCN等小分子物质起加成反应。 1.能发生加成反应的官能团:双键、三键、苯环、羰基(醛、酮)等。 2.加成反应有两个特点: ①反应发生在不饱和的键上,不饱和键中不稳定的共价键断裂,然后不饱和原子与其它原子或原子团以共价键结合。 ②加成反应后生成物只有一种(不同于取代反应)。 说明: 1.羧基和酯基中的碳氧双键不能发生加成反应。 2.醛、酮的羰基只能与H2发生加成反应。 3.共轭二烯有两种不同的加成形式。 3、消去反应 定义:有机化合物在适当条件下,从一个分子相邻两个碳原子上脱去一个小分子(如H2O、HX等)而生成不饱和(双键或三键)化合物的反应称为消去反应。发生消去反应的化合物需具备以下两个条件: (1)是连有—OH(或—X)的碳原子有相邻的碳原子。 (2)是该相邻的碳原子上还必须连有H原子。

(1)能发生消去反应的物质:醇、卤代烃;能发生消去反应的官能团有:醇羟基、卤素原子。 (2)反应机理:相邻消去 发生消去反应,必须是与羟基或卤素原子直接相连的碳原子的邻位碳上必须有氢原子,否则不能发生消去反应。如CH3OH,没有邻位碳原子,不能发生消去反应。 4、聚合反应 定义:有许多单个分子互相结合生成高分子化合物的反应叫聚合反应。 聚合反应有两个基本类型:加聚反应和缩聚反应 (1)加聚反应: 由许多单个分子互相加成,又不缩掉其它小分子的聚合反应称为加成聚合反应。烯烃、二烯烃及含C=C的物质均能发生加聚反应。 烯烃加聚的基本规律: (2)缩聚反应: 单体间相互结合生成高分子化合物的同时,还生成小分子物质的聚合反应,称为缩合聚合反应。 酚和醛、氨基酸(形成多肽)、葡萄糖(形成多糖)、二元醇与二元酸、羟基羟酸等均能发生缩聚反应。 (1)二元羧酸和二元醇的缩聚,如合成聚酯纤维: (2)醇酸的酯化缩聚: (3)氨基与羧基的缩聚 (1)氨基酸的缩聚,如合成聚酰胺6: (2)二元羧酸和二元胺的缩聚: nHOOC-(CH2)4-COOH+nNH2(CH2)6NH2 =[CO(CH2)4CONH(CH2)6NH]n+2nH2O 5、氧化反应与还原反应 1.氧化反应就是有机物分子里“加氧”或“去氢”的反应。 能发生氧化反应的物质和官能团:烯(碳碳双键)、醇、酚、苯的同系物、含醛基的物质等。

相关文档
相关文档 最新文档