您好,欢迎访问三七文档
程序是指令的集合指令是计算机可以识别的命令由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言。汇编语言将机器指令映射为一些可以被人读懂的助记符面向对象的软件工程是面向对象方法在软件工程领域的全面应用。它包括:面向对象的分析(OOA)面向对象的设计(OOD)面向对象的编程(OOP)面向对象的测试(OOT)面向对象的软件维护(OOSM)编译过程源程序(文本文件)*.CPP目标文件(二进制文件)*.OBJ可执行文件(二进制文件)*.EXE库文件(各种函数)编译连接可直接从源程序编译连接至可执行程序,但依然要生成*.OBJ及*.EXE这两个文件数据类型—整型数据及取值范围类型说明符位数数值范围短整short2-32768~32767整形int4-231~(231-1)长整long4-231~(231-1)无符号unsignedshort20~65535unsignedint40~(232-1)unsignedlong40~(232-1)数据类型——实型数据说明符位数数值范围float23.4×10-38~3.4×10+38double41.7×10-308~1.7×10+308longdouble41.7×10-308~1.7×10+308词法记号关键字C++预定义的单词标识符程序员声明的单词,它命名程序正文中的一些实体文字在程序中直接使用符号表示的数据操作符用于实现各种运算的符号分隔符(){},:;用于分隔各个词法记号或程序正文空白符空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称标识符的构成规则以大写字母、小写字母或下划线(_)开始。可以由以大写字母、小写字母、下划线(_)或数字0~9组成。大写字母和小写字母代表不同的标识符。变量的存储类型auto属于一时性存储,其存储空间可以被若干变量多次覆盖使用。register存放在通用寄存器中。extern在所有函数和程序段中都可引用。static在内存中是以固定地址存放的,在整个程序运行期间都有效赋值运算符和赋值表达式简单的赋值运算符“=”有10种复合运算符:+=,-=,*=,/=,%=,=,=,&=,^=,|=如a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)关系运算与逻辑运算与关系运算是比较简单的一种逻辑运算,优先次序为:====!=优先级相同(高)优先级相同(低)关系表达式是一种最简单的逻辑表达式其结果类型为bool,值只能为true或false。例如:ab,c=a+b,x+y==3逻辑运算符!(非)&&(与)||(或)优先次序:高→低逻辑表达式例如:(ab)&&(xy)其结果类型为bool,值只能为true或falsesizeof运算符和位运算语法形式sizeof(类型名)或sizeof(表达式)结果值:“类型名”所指定的类型或“表达式”的结果类型所占的字节数。位运算运算规则与:将两个运算量的每一个位进行逻辑与操作或:将两个运算量的每一个位进行逻辑或操作异或:使特定位翻转(与0异或保持原值,与1异或取反)取反:单目运算符,对一个二进制数按位取反。移位:左移后,低位补0,高位舍弃。右移后,低位舍弃,高位无符号数补0运算符优先级括号++,--,sizeof*,/,%+,-==,!=位运算&&||?:赋值运算逗号运算低高语句简单的输入、输出:cinx;cout“x=“x;表达式语句:表达式可以包含在其它表达式中,而语句不可。复合语句:将多个语句用一对大括号包围,便构成一个复合语句例如{sum=sum+i;i++;}if语句if(表达式)语句例:if(xy)coutx;if(表达式)语句1else语句2例:if(xy)coutx;elsecouty;if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3…else语句nif语句的嵌套一般形式if()if()语句1else语句2elseif()语句3else语句4注意语句1、2、3、4可以是复合语句,每层的if与else配对switch语句一般形式switch(表达式){case常量表达式1:语句1case常量表达式2:语句2┆case常量表达式n:语句ndefault:语句n+1}case分支可包含多个语句,且不用{}。表达式可以是整型、字符型或枚举型。若干分支执行内容相同可共用一组语句。每个常量表达式的值不能相同,次序不影响执行结果while语句形式while(表达式)语句语句可以是复合语句,其中必须含有改变条件表达式值的语句先判断表达式的值,为true时,再执行语句。do-while语句一般形式do语句while(表达式)先执行循环体语句,后判断条件。表达式为true时,继续执行循环体与while语句的比较:执行顺序不同for语句形式for(表达式1;表达式2;表达式3)语句循环前先求表达式1的解,表达式1为true时执行表达式2(循环体),每次执行完循环体后求表达式3解break和continue语句break语句使程序从循环体和switch语句内跳出,继续执行逻辑上的下一条语句。不宜用在别处continue语句结束本次循环,接着判断是否执行下一次循环。结构体结构的概念结构是由不同数据类型的数据组成的集合体。声明结构类型struct结构名{数据类型成员名1;数据类型成员名2;:数据类型成员名n;};举例:structstudent//学生信息结构体{intnum;//学号charname[20];//姓名chargender;//性别intage;//年龄floatscore;//成绩charaddr[30];//住址}函数的声明函数声明的语法形式类型标识符函数名(形式参数表){语句序列}函数的返回值由return语句给出,例如:return0无返回值的函数(void类型),不必写return语句。函数的调用调用前先声明函数原型:在调用函数中,或程序文件中所有函数之外,按如下形式说明:类型标识符被调用函数名(含类型说明的形参表);调用形式函数名(实参列表)嵌套调用:函数可以嵌套调用,但不允许嵌套定义递归调用:函数直接或间接调用自身函数调用的执行过程main()调fun()结束fun()返回①②④⑥⑦保存:返回地址当前现场③恢复:主调程序现场返回地址⑤嵌套调用main{}调fun1()结束fun1()调fun2()返回fun2()返回①②③⑦④⑤⑥⑧⑨函数参数的传递在函数被调用时才分配形参的存储单元。实参可以是常量、变量或表达式。实参类型必须与形参相符。传递时是传递参数值,即单向传递。函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。默认形参值必须从右向左顺序声明,并且在默认形参值的右面不能有非默认形参值的参数。因为调用时实参取代形参是从左向右的顺序。C++系统函数C++的系统库中提供了几百个函数可供程序员使用。例如:求平方根函数(sprt)、求绝对值函数(abs)等。使用系统函数时要包含相应的头文件。例如:math.h或cmath类的声明形式类是一种用户自定义类型,声明形式:class类名称{public:公有成员(外部接口)private:私有成员protected:保护型成员}一维数组一维数组的声明类型说明符数组名[常量表达式];例如:inta[10];表示a为整型数组,有10个元素:a[0]...a[9]引用必须先声明,后使用。只能逐个引用数组元素,而不能一次引用整个数组数组元素在内存中顺次存放,它们的地址是连续的。二维数组的声明及引用二维数组的声明类型说明符数组名[常量表达式1][常量表达式2]…;例:inta[5][3];表示a为整型二维数组,其中第一维有5个下标(0~4),第二维有3个下标(0~2),数组的元素个数为15,可以用于存放5行3列的整型数据表格指针变量的概念概念指针:内存地址,用于间接访问内存单元指针变量:用于存放地址的变量声明例:staticinti;staticint*i_pointer=&i;语法形式存储类型数据类型*指针名=初始地址;注意事项用变量地址作为初值时,该变量必须在指针初始化之前已说明过,且变量类型应与指针类型一致。可以用一个已赋初值的指针去初始化另一个指针变量。不要用一个内部auto变量去初始化static指针。“地址”中存放的数据类型与指针类型必须相符。向指针变量赋的值必须是地址常量或变量,不能是普通整数。但可以赋值为整数0,表示空指针。指针的类型是它所指向变量的类型,而不是指针本身数据值的类型,任何一个指针本身的数据值都是unsignedlongint型。允许声明指向void类型的指针。该指针可以被赋予任何类型对象的地址。用字符数组存储和处理字符串字符数组的声明和引用字符串字符串常量,例如:china没有字符串变量,用字符数组来存放字符串字符串以'\0'为结束标志字符数组的初始化例:staticcharstr[8]={112,114,111,103,114,97,109,0};staticcharstr[8]={'p','r','o','g','r','a','m','\0'};staticcharstr[8]=program;staticcharstr[]=program;字符串的输入/输出方法逐个字符输入输出将整个字符串一次输入或输出例:charc[]=China;coutc;注意输出字符不包括'\0'输出字符串时,输出项是字符数组名,输出时遇到'\0'结束。输入多个字符串时,以空格分隔;输入单个字符串时其中不能有空格。
本文标题:C++学习总结
链接地址:https://www.777doc.com/doc-3357974 .html