ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:121.53KB ,
资源ID:10229099      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10229099.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(cc++笔记《吴》.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

cc++笔记《吴》.docx

1、cc+笔记吴目录【3】常用打印输出表格 - 2 -【5】/*设置延迟*/ - 3 -【6】t - 4 -【7】C和C+混合编程问题 - 4 -【8】标准C+中的string类的用法总结 - 8 -【9】C语言二维数组int aNN=0;是什么意思? - 14 -【10】指针 - 15 -【11】rand函数 - 15 -11.3例子 - 17 -【12】scanf(%i,&j)中,%i是什么数据类型阿? - 18 -【13】 system(cls); - 18 -【1】switch中的break;只是跳出switch不执行下面的case ,但是不能跳出switch外面的while或者for循环

2、switch(m) /m必须是整型,字符型,或enum类型,所以使用范围较小。case 1: coutgo!; break;case 2: coutin!; break;case 3: coutcome!; break;default: couterror!; break;【2】b是退格键,输出内容后会把光标向前移,如果再有输出会覆盖前面的输出printf和cout都会输出字符串并且移动当前光标到行的末位这样当你继续输出的时候新的字符就会接在以前的输出后面.如果你使用b移动光标那么后来输出的文字会覆盖当前光标后面的字符比如asdfbbc会导致光标停在asdf的倒数第二个字符之前,然后输出的c就

3、会覆盖d但是f没被影响。 你也可以做实验 printf(asdfbbbn);/输出asdf printf(asdfbbb); printf(1234bbcn);/以上两句输出a12c4【3】常用打印输出表格printf(n); printf( 课题四:页面置换算法 n); printf( 学号:20121344017 n); printf( 姓名:吴贝贝 n); printf(n);printf(请按任意键进行初始化操作. n); printf(n); printf( ); getchar(); printf(n); printf(正在载入数据,请稍候 !n); printf(n);【4】CO

4、LORattr制定控制台输出颜色属性COLOR 1F背景是蓝色,显示字是亮白色程序中的颜色用法;system(color 1F);【5】/*设置延迟*/void mDelay(unsigned int Delay) unsigned int i; for(;Delay0;Delay-) for(i=0;i124;i+) printf( b); 【6】t表示制表符,相当于打字的时候按以下Tab键的效果,当你需要输出数据比较整齐的时候用比如printf(%dt%dt%dtn,1,35,222);printf(%dt%dt%dtn,231,25,22);则输出1 35 222231 25 22追问每

5、个数据之间空几位?回答默认是8个字符,上面的显示错位了,实际上每个数字开头是对齐的。和空格不一样,制表符是按一行的第一个字符起,按8个字符的倍数跳,比如在1或者11或者111后面加t,跳到的位置都一样的随笔 - 172, 文章 - 0, 评论 - 29, 引用 - 0【7】C和C+混合编程问题 分析以下一段代码:/*=sum.h=*/#ifndef SUM_H#define SUM_H#include int sum(int a,int b);#endif;/*=sum.c=*/#include sum.hint sum(int a,int b)int c=a+b;return c;/*=ma

6、in.cpp=*/#include sum.hvoid mian()cout sum(1,2)endl;调用以上三个文件,编译通过,但是执行是出现以下问题:obj : error LNK2001: 无法解析的外部符号 int _cdecl sum(int,int) (?sumYAHHHZ)E:ProgrammingGrapictestDebugtest.exe : fatal error LNK1120: 1 个无法解析的外部命令问题出在哪里呢? 在main.cpp里调用了sum.c,也就是说在C+程序里调用了C程序,此时如果没有作相应处理将会出现链接错误。extern C表示编译生成的内部符

7、号名使用C约定。C+支持函数重载,而C不支持,两者的编译规则也不一样。函数被C+编译后在符号库中的名字与C语言的不同。例如,假设某个函数的原型为:void foo( int x, int y );该函数被C编译器编译后在符号库中的名字可能为_foo,而C+编译器则会产生像_foo_int_int之类的名字(不同的编译器可能生成的名字不同,但是都采用了相同的机制,生成的新名字称为“mangled name”)。_foo_int_int这样的名字包含了函数名、函数参数数量及类型信息,C+就是靠这种机制来实现函数重载的。那么如果在C中调用C+代码,以及如何在C+中调用C的代码呢?extern C表示

8、编译生成的内部符号名使用C约定。1. 如何在C+中调用C呢?C+调用C,extern C的作用是:让C+连接器找调用函数的符号时采用C的方式本文开头提出的笔试题可以这样修改:/*=sum.h=*/#ifndef SUM_H#define SUM_H#include int sum(int a,int b);#endif;/*=sum.c=*/#include sum.hint sum(int a,int b)int c=a+b;return c;/*=main.cpp=*/extern C#include sum.hvoid mian()cout sum(1,2)endl;执行成功相信到这里差

9、不多明白了2. 怎样在C里调用C+呢? 在C中引用C+函数(C调用C+,使用extern C则是告诉编译器把cpp文件中extern C定义的函数依照C的方式来编译封装接口,当然接口函数里面的C+语法还是按C+方式编译)执行:test1.obj : error LNK2019: 无法解析的外部符号 _sum,该符号在函数 _main 中被引用E:ProgrammingGrapictestDebugtest.exe : fatal error LNK1120: 1 个无法解析的外部命令/*=sum.h=*/#ifndef SUM_H#define SUM_H#include int sum(in

10、t a,int b);#endif;/*=sum.cpp=*/#include sum.hextern Cint sum(int a,int b)int c=a+b;return c;/*=main.c=*/#include sum.hvoid mian()cout sum(1,2)endl;3. 标准规范写法一般我们都将函数声明放在头文件,当我们的函数有可能被C或C+使用时,我们无法确定被谁调用,使得不能确定是否要将函数声明在extern C里,所以,我们可以添加#ifdef _cplusplusextern C#endif/函数声明#ifdef _cplusplus#endif利用以上声明

11、形式就可以综合运用了。在C中引用C+语言中的函数和变量时,C+的函数或变量要声明在extern C里,但是在C语言中不能使用extern C,否则编译出错。(出现错误:error C2059: syntax error : string,这个错误在网上找了很久,国内网站没有搜到直接说明原因的,原因是extern C是C+中的关键词,不是C的,所有会出错。/*=sum.h=*/#ifndef SUM_H#define SUM_H#include int sum(int a,int b);#endif;/*=sum.cpp=*/#include sum.hint sum(int a,int b)i

12、nt c=a+b;return c;/*=main.c=*/#include sum.hvoid mian()cout sum(1,2)endl;【8】标准C+中的string类的用法总结相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C+中string类的使用。标准C+中提供的string类得功能也

13、是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C+中string类,必须要包含#include / 注意是,不是,带.h的是C语言中的头文件using std:string;using std:wstring;或using namespace std;下面你就可以使用string/wstring了,它们两分别对应着char和wchar_t。string和wstring的用法是一样的,以下只用string作介绍:string类的构造函数:string(const char *s); /用c字符串s

14、初始化string(int n,char c); /用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2=hello;都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 ;string类的字符操作:const char &operator(int n)const;const char &at(int n)const;char &operator(int n);char &at(int n);operator和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_o

15、f_range异常,下标运算符不提供检查访问。const char *data()const;/返回一个非null终止的c字符数组const char *c_str()const;/返回一个以null终止的c字符串int copy(char *s, int n, int pos = 0) const;/把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目string的特性描述:int capacity()const; /返回当前容量(即string中不必增加内存即可存放的元素个数)int max_size()const; /返回string对象中可存放的最大字符

16、串的长度int size()const; /返回当前字符串的大小int length()const; /返回当前字符串的长度bool empty()const; /当前字符串是否为空void resize(int len,char c);/把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator用于输入,同样重载运算符operator,=,时返回1,时返回-1,=时返回0 string的子串:string substr(int pos = 0,int n = npos) const;/返回pos开始的n个字符组成的字符串stri

17、ng的交换:void swap(string &s2); /交换当前字符串与s2的值string类的查找函数: int find(char c, int pos = 0) const;/从pos开始查找字符c在当前字符串的位置int find(const char *s, int pos = 0) const;/从pos开始查找字符串s在当前串中的位置int find(const char *s, int pos, int n) const;/从pos开始查找字符串s中前n个字符在当前串中的位置int find(const string &s, int pos = 0) const;/从pos

18、开始查找字符串s在当前串中的位置/查找成功时返回所在位置,失败返回string:npos的值 int rfind(char c, int pos = npos) const;/从pos开始从后向前查找字符c在当前串中的位置int rfind(const char *s, int pos = npos) const;int rfind(const char *s, int pos, int n = npos) const;int rfind(const string &s,int pos = npos) const;/从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功

19、返回所在位置,失败时返回string:npos的值 int find_first_of(char c, int pos = 0) const;/从pos开始查找字符c第一次出现的位置int find_first_of(const char *s, int pos = 0) const;int find_first_of(const char *s, int pos, int n) const;int find_first_of(const string &s,int pos = 0) const;/从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回string

20、:npos int find_first_not_of(char c, int pos = 0) const;int find_first_not_of(const char *s, int pos = 0) const;int find_first_not_of(const char *s, int pos,int n) const;int find_first_not_of(const string &s,int pos = 0) const;/从当前串中查找第一个不在串s中的字符出现的位置,失败返回string:npos int find_last_of(char c, int pos

21、= npos) const;int find_last_of(const char *s, int pos = npos) const;int find_last_of(const char *s, int pos, int n = npos) const;int find_last_of(const string &s,int pos = npos) const; int find_last_not_of(char c, int pos = npos) const;int find_last_not_of(const char *s, int pos = npos) const;int fi

22、nd_last_not_of(const char *s, int pos, int n) const;int find_last_not_of(const string &s,int pos = npos) const;/find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找string类的替换函数: string &replace(int p0, int n0,const char *s);/删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n

23、0,const char *s, int n);/删除p0开始的n0个字符,然后在p0处插入字符串s的前n个字符string &replace(int p0, int n0,const string &s);/删除从p0开始的n0个字符,然后在p0处插入串sstring &replace(int p0, int n0,const string &s, int pos, int n);/删除p0开始的n0个字符,然后在p0处插入串s中从pos开始的n个字符string &replace(int p0, int n0,int n, char c);/删除p0开始的n0个字符,然后在p0处插入n个字符cstring &replace(iterator first0, iterator last0,const char *s);/把first0,last0)之间的部分替换为字符串sstring &replace(iterator first0, iterator last0,const char *s, int n);/把first0,last0)之间的部分替换为s的前n个字符string &replace(iterator first0, iterator last0,const string &s);/把first0,last0)之间的部分替换为串s

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1