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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

编程入门基础知识总结文档格式.docx

1、默认为双精度型double后面加 f 或 F 则为单精度float后面加 l 或 L 则为长精度型long double指数形式数符 数字部分 指数部分a = 3.14e2 a=0.314e4 a=31.4e1 a=3140e-1浮点数,不管是用小数形式还是指数形式表示,在内存中都是以指数形式表示的,且数字部分必须小于1如3.14159 在内存中表示为 + .314159 3 ,数字部分为.314159,是小于1的字符型字符型在内存中存储的是ASCII码,也是整型,故而可以把字符型赋给整型字符串后面,编译系统会加个0作为结束符符号常量用符号代表一个常量,如#define PI 3.14159在

2、编译时,系统会把符号常量替换成具体的值2.变量变量:程序运行期间,值可变的量变量名:代表内存中的一个存储单元,在编译连接时由系统给每一个变量分配一个地址标识符:标识实体名字的有效字符序列,字母、数字、下划线常变量:定义变量时加上const,运行期间值不可变,也即只读变量区别#define 定义的符号常量与const定义的常变量符号常量只是用一个符号代表一个常量,在编译时把所有符号常量替换为指定的值,它没有类型,在内存中不存在以符号常量命名的存储单元常变量具有变量的特征,具有类型,在内存中有以它命名的存储单元,与一般变量不同的是,常变量代表的存储单元值不可变。强定义的好处1.保证变量名使用的正确

3、,不正确会在编译时报错2.每个变量指定为一确定类型,在编译时就能为其分配存储单元3.编译时即可检查变量进行的运算是否合法。3. 运算符二进制位运算& 二进制 按位与| 二进制按位或 按位异或 右移位 + - 自加自减运算符+i 使用i之前,i先自加i+ 使用i之后,i再自加+ - 结合方向为自右向左例:!x+ 先取非,再+(i+)+6 先i+6,后i+,不管有无括号,都是先运算,再自加(+i)+6 先自加,再加6-i+ :i左面是符号运算符,右面是自加运算符,设i等于3,运算过程相当于 -(i+),即 -i=-3 -3+1=-2a = -i+:a结果为-3,先赋值,再自加;5-i+ =? 答案

4、2 ?待测试i=1,j=2,则a = i+j ? 答案:3 因为相当于a=(i+)+j;i=1,j=2,则a=i+(+j)?4赋值运算符=的优先级小于+ - 运算符示例:int arr = 6,7,8,9,10; sint *ptr = arr; *(ptr+) += 123; printf(%d,%d,*ptr,*(+ptr);解:*(ptr+) += 123; 相当于 *ptr +=123; *ptr+; 故arr0 = 129; ptr指向arr1 printf函数从右向左压栈,运算顺序:+ptr; 输出结果: 8 8cout也是自右向左压栈。逗号运算符又称顺序求值运算符a = 3*4,

5、a*5 则 a=? 答案 12 ? 注意逗号运算符优先级最低。注:整个逗号表达式的值为60(a=3*4=12,12*5 =60)x=(a=3,6*3) 则 x=18x=a=3,6*a 则 x=33.内存存储浮点数在内存里和整数存储方式不同float a =1.0f;cout(int)a=(int&a); (int&a) 相当于把该浮点数地址开始的sizeof(int)个字节当成int型数据输出,其值并不为1(int)a显示转换等于14.类型转换转换本质:按存储单元中的存储形式直接传送(1)浮点型赋给整型,舍弃小数部分(2)double型赋给float,防止溢出错误(3)int, short,

6、long赋给char,原封不动取低八位(4)signed赋给unsigned,符号位照搬。负数以补码形式存放,-1赋给unsigned int,结果为65536.整数不会变,除非两个长度不同(int,long)发生截断5.C+输入输出C+输入输出包含三个方面的内容(1)对系统指定的标准设备的输入输出。即从键盘输入、输出到显示器屏幕,称标准输入输出,简称标准I/O(2)以外出磁盘文件为对象进行输入输出,称文件I/O(3)对内存中指定空间进行输入输出,通常指定一个字符数组作为存储空间,称字符串输入输出,简称串I/O在C+中,输入输出流被定义为类。C+的I/O库中的类称为流类,用流类定义的对象称流对

7、象。C+中输入输出是调用输入输出流库中的流对象cin、cout实现的,即I/O不是C+本身定义的,而是编译系统的I/O库中定义的。I/O控制符#include setprecision(n) 设置精度为n,十进制输出时,n代表有效数字位数包括整数和小数;fixed(固定小数位数)和scientific(指数)形式输出时,n指小数位数(不包括整数部分)double a = 123.4567890123456cout a; /十进制输出,输出123.456 默认精度为6setprecision(9)a; /十进制,输出123.456789 精度为9setprecision(6); /恢复默认精度s

8、etioflags(iOS:fixed) /固定位数,123.456789 ,此时精度表示小数位数,精度为默认的66.getchar() 和 putchar()getchar(); /读入的实际是ASCII码,故输出为字符ASCII码,97,而非读入的字符(c=getchar(); /输出为字符while(c=getchar()!=n) /循环读入字符的控制7.函数与模版函数原型:不同具体形参的函数声明如:float add(float,float)主要作用:根据函数原型,在程序编译阶段对调用函数的合法性进行全面检查。函数重载:同一函数名定义的多个函数,这些函数的参数个数,参数类型,参数顺序至

9、少有一项不同,一个函数不能既是重载函数,又是带默认参数的函数。函数模版:适用于函数个数相同,函数体相同,而只有类型不同的情况cpp view plain copy 01.#include 02.using namespace std;03.template / template 04.T max(T a, T b, T c) 05. 06. if(ba) a = b;07. if(ca) a = c;08. return a;09. 10.int main() 11. 12. int a=1,b=2,c=3;13. coutT(a,b,c);14. float d=1.1,e=2.2,f=3.

10、3;15. cout T(d,e,f);16. 变量作用域:变量有效范围,有四种:文件作用域 file scope 函数作用域 function scope块作用域 block scope 函数原型作用域 function prototype scope递归函数:函数体中,直接或间接调用函数本身的函数。变量的存储类别:外部、局部(相对于函数而言)全局变量(也即外部变量)静态局部变量(static)自动变量(不加static的局部变量)寄存器变量(register) 存放在CPU中,而非内存中,这样在使用时就省去了从内存中载入寄存器的过程。但只是建议性的,优化编译系统自动识别使用频繁的变量,从而

11、自动将变量放入寄存器中。extern声明的外部变量即提前引用申明,表示该变量是将在下面定义的全局变量或在其它文件中定义(本文件中不用extern,引用该变量的外部文件用extern进行声明)static声明的静态外部变量只能被本文件使用,而不能被外部文件使用的全局变量,这样不同文件中的全局变量不会相互干扰,为程序模块化、通用化提供方便。全局变量也是静态存储的。内部函数与外部函数内部函数:static 声明,文件内使用外部函数:另一个文件里extern声明,表示是其它文件的函数,extern可以省略宏定义#define PI 3.14 定义符号常量#define Area(a,b) a*b /定

12、义函数功能,下面当作函数来用。#include iostream 区别 在系统目录寻找,找不到报错 在当前目录寻找,找不到报错 字符数组(1) char str = i am happy;数组长度为11,而非10,因为后面有一个(2) char str = i,amhy数组长度为5,系统不会自动为其在后面加因此,(1),(2)是不同的输出字符数组:str;string类字符数组是C中的处理方式,C+中用string类,#include 字符串变量中不会存放,只存放字符串本身,故string str =hello 的长度为5,要注意。字符串变量存储的实际是字符串的指针,4个字节,sizeof(s

13、tring) = 4;string name=i,amhappy; sizeof(name) = 3*4 = 12;变量与指针:int *p = &i; /int型指针变量,定义时的*只是表示指针类型p是指针变量,其值是变量i的地址,*p则是存储单元,*&a与*p同,都表示变量a指向数组的指针int a10 = ;int *p;p = &a0; /与下面等价,都指向数组第一个元素,因为数组名本身就是表示数组的地址p = a;*p+ 相当于*(p+),先得到*p的值,p再+移到下一个元素(*p)+则是使*p的值+1二维数组的指针表示: *(*(p+i)+j) 表示 ai,jint (*p)n p

14、为指向含n个元素的数组的指针int *pn 定义指针数组P函数指针 指向函数的指针,主要用作形参int max(int,int);int (*p)(int,int);p = max; 赋值(地址)p(1,2) /调用引用int a = 10;int &b = a; b是对a的引用引用传递,引用型变量作为函数形参01./值会改变 02.main 03. int i=5,j=6;04. swap(i,j) 05. 06.void swap(int &a, int &b) /这里的&不是“a的地址”,而是指“a是一个引用型变量”,&是个声明符 07. 08. int temp;09. temp =

15、a;10. a= b;11. b=temp;12. 传递变量地址:形参是指针变量,实参是变量地址,这种虚实结合的方法仍然是“值传递”方式,只是实参的值是变量地址而已。02.main() 03. 04. int i=5,j=6;05. swap(&i,&j) 06. 07.void swap(int *p1, int *p2) /这里的*号也只表示是指针类型 08. 09. int temp;10. temp = *p1;11. *p1 = *p2;12. *p2 = temp;13. 结构体变量 struct作函数参数时有三种形式(1)用结构体变量名作形参这时形参要开辟内存单元,实参中全部内容

16、通过值传递方式一一传递给形参,时空开销大,效率低(2)用指向结构体变量的指针作形参,只有四个字节void printed(student *p) coutnum;(3)用结构体变量的引用变量作形参Student stu;print(stu);void print(Student &stu)stu.num;new delete 动态内存分配new 类型(初值),返回地址,分配失败返回NULLfloat *f = new float(3.14);int *i = new int(6);int *k = new int54; /数组delete 变量 delete f; delete i; 数组 d

17、elete k;Enum 枚举类型声明枚举类型 enum weekdaysun,mon,tue,wed,thu,fri,sat;定义枚举变量 weekday workday,week_end;变量赋值: workday = mon; 或 workday = weekday(2);枚举常量对应值从0开始,0,1,2,3.typedef 声明新类型typedef int INTEGER ,相当于为int起了个别名,下面程序中就可以直接用INTEGER作int用了主要为了方便系统移植,如long int在VC中4个字节,在GCC中占8个字节,直接用int的话可能会溢出,用INTEGER就不用担心了,

18、只要把ypedef int INTEGER 声明语句一改就行运算符重载方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现响应运算。即运算符重载是通过定义函数实现的,运算符重载实际上是函数重载。格式:函数类型 operator 运算符名称 (形参表列)对运算符的重载处理例如:将 + 用于Complex类(复数)的加法运算,函数原型如下:Complex operator + (Complex& c1, Complex& c2);operator 是关键字, operator + 就是函数名,可以描述为: 函数operator +重载了运算符+整数加可以想象为调

19、用如下函数int operator + (int a,int b) return a+b; 03.class Complex 04. 05. public:06. Complex()real=0;imag=0; 07. Complex(double r, double r)real=r;imag=i;08. Complex operator + (Complex &c2); /声明重载运算符的函数 09. void display();10. private:11. double rea;12. double imag;13.;14.Complex Complex:operator + (Co

20、mplex &c2) /定义重载运算符的函数 15. 16. Complex c;17. c.real = real + c2.real;18. c.imag = imag + c2.imag;19. return c;20. 21.void Complex:display() 22. 23. coutrealimag;24. 25.int main() 26. 27. Complex c1(3,4), c2(5,-10),c3;28. c3 = c1 +c2; /运算符+ 用于复数运算 29. coutc1=c1.display;30. coutc2=c2.display;31. coutc

21、1+c2=c3.display;32. return 0;33. 34.运行结果:35.c1 = (3,4i) 36.c2 = (5,-10i) 37.c1+c2 = (8,-6i) 重载运算符的规则 (1)C+不允许用户自己定义新的运算符,只能对已有的C+运算符进行重载。 (2)C+允许重载绝大部分的运算符 (3)重载不能改变运算符运算对象的个数 (4)重载不能改变运算符的优先级别 (5)重载不能改变运算符的结合性 (6)重载运算符的函数不能有默认的参数 (7)重载的运算符必须和用户定义的自定义类型的对象一起使用,其参数至少一个是类对象(或类对象的引用)。也就是说参数不能全部是C+的标准类型,以防止用户修改用于标准类型数据的运算符的性质。(8)用于类对象的运算符一般必须重载,但有两个例外,运算符“=”和“&”不必用户重载(9)应当使重载运算符的功能类似于该运算符作用于标准类型数据时所实现的功能,否则不易使人理解程序(10)运算符重载函数可以是类的成员函数,也可以是类的友元函数,还是计费成员函数也非友元函数的普通函数。

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

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