您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第二章 C++简单程序设计 CUMT 12-01-15.ppt
1第二章C++简单程序设计2主要内容2.1C++语言概述2.2C++编程基础2.3数据的简单输入输出2.4选择与循环32.1C++语言概述C++的发展-C++是从C语言发展演变而来的,是一个更好的C-1980年由BjarneStroustrup开发创建-1983年正式取名为C++-1989年开始C++语言的标准化工作-1994年制定了ANSIC++标准草案-1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的C++4一个简单的C++程序#includeiostreamusingnamespacestd;intmain(){couthello!endl;coutWelcometoC++!endl;system(pause);return0;}运行结果:Hello!Welcometoc++!5#includeiostream.hvoidmain(void){inta,b,sum;coutpleaseinputa:\n;cina;cout“a=”aendl;coutpleaseinputb:\n;cinb;cout“b=bendl;sum=a+b;coutresult:\na+b=sum\n;}6C++程序结构C++源程序结构一个C++源程序由一个或多个源文件组成每个源文件可由一个或多个函数组成一个源程序有且只能有一个main函数,即主函数程序执行从main开始,在main中结束源程序中可以有预处理命令,通常应放在源文件或源程序的最前面一行可以写多个语句,一个语句可以分几行书写7C++程序书写规范每个说明和每个语句都必须以分号“;”结尾,但预处理命令,函数头和花括号“}”之后不能加分号标识符,关键字之间必须至少加一个空格表示间隔,若已有明显的间隔符,也可不再加空格来间隔习惯用小写字母,区分大小写注释://和/**/为注释符常用锯齿形书写格式所有标点符号必须在英文状态下输入源程序书写规范C++的书写比较自由,同一个功能可能有多种写法8书写漂亮的程序:{}要对齐一行写一个语句,一个语句写一行不使用TAB,而用空格缩进有足够的注释有合适的空行编码书写规范(华为)9程序分析//2_1.cpp#includeiostream//预处理指令,载入头文件usingnamespacestd;//使用标准的命名空间intmain(){couthello!endl;coutWelcometoC++!endl;system(pause);//暂停return0;//返回的值}cout:标准输出,通常指屏幕主函数endl:换行并刷新流解决屏幕一闪而过,看不清输出的问题,也可使用getchar();:插入10C++编译器编译器就是将“高级语言”翻译为“机器语言”的程序编译器常见的C++编译器源代码目标代码可执行程序编译链接一个现代编译器的主要工作流程:VisualC++Windows平台上最流行的编译器,集成在VisualStudio中GNUC++开源免费,Linux/Unix平台上的首选,非常优秀的编译器IntelC++Intel自家的编译器,对自家硬件的支持很好,Win/Linux都可用112.2C++编程基础字符集基本数据类型常量符号常量变量运算符表达式语句12字符集字母(大写和小写,共52个)数字(0到9共10个)空白符(空格符、制表符、换行符)标点和特殊字符这里的标点符号都是指在英文状态下的标点!#%^&*()[]{}_+=-~/\';.,13词法记号/词汇标识符:用来标识变量名、函数名、对象名等的字符序列-由字母、数字、下划线组成,第一个字符必须是字母或下划线-区分大小写,不能用关键字-C++不限制标识符长度,实际长度与编译器有关,通常不要超过32个-命名原则:见名知意、不宜混淆关键字:具有特定意义的字符串,通常也称为保留字-类型说明符、语句定义符(控制命令)、预处理命令字等运算符分隔符:逗号、冒号、分号、空格、()、{}注释符:以“/*”开头并以“*/”结尾;或“//”开头文字:直接用字符表示的数据,即常量,如数字、字符串等14C++数据类型整型实型字符型(char)整型(int)短整型(short)长整型(long)单精度(float)双精度(double)基本类型C++数据类型布尔型(bool)无符号(unsigned)有符号自定义类型枚举型(enum)结构型数组型……15基本数据类型类型关键字所占字节数表示范围整型short2-215~215-1int2-215~215-1long4-231~231-1unsignedint20~216-1unsignedshort20~216-1unsignedlong40~232-1实型float4(6-7)10-38~1038double8(15-16)10-308~10308longdouble16(18-19)10-4932~104932布尔型bool1true,false字符型char1C++每个规定每种数据类型的字节数和表示范围,只规定大小顺序,具体长度由处理器和编译器决定ex_sizeof.cpp16类型转换自动转换/隐式转换不同类型的数据进行运算,需先转换成同一类型转换按数据长度增加的方向进行,以保证精度不降低所有的浮点运算都是以双精度进行的char型和short型参与运算时,必须先转换成int型赋值号两边的数据类型不同时,右边的类型将转换为左边的charshortintunsignedlongunsignedlongfloatdouble例如:inti=2;doublex=3.2,y;y=i+x;ex_datetype_01.cpp17强制转换/显式转换类型说明符(表达式)//C++风格(类型说明符)表达式//C风格将表达式的值转换成指定的类型例如:inti=2,a=3;doubley,z;y=double(i)/a;z=double(i/a);18typedeftypedef:为一个已有的数据类型另外命名typedef已有类型名新类型名表;例如:typedefdoublearea,volume;typedefintnatural;naturali1,i2;areaa;volumev;19枚举类型enum:枚举类型enum枚举类型名{变量值列表};例如:enumweekday{sun,mon,tue,wed,thu,fri,sat};-将变量所能取的值一一列举出来几点说明:•对枚举元素按常量处理,不能对它们赋值•枚举元素具有默认值,依次为:0,1,2,......•也可以在声明时指定枚举元素的值,如:enumweekday{sun=7,mon=1,tue,wed,thu,fri,sat};•枚举值可以进行关系运算•整数值不能直接赋给枚举变量,需进行强制类型转换20例:设某次体育比赛的结果有四种可能:胜(win)、负(lose)、平局(tie)、比赛取消(cancel),编写程序顺序输出这四种情况。分析:由于比赛结果只有四种可能,所以可以声明一个枚举类型,声明一个枚举类型的变量来存放比赛结果。21#includeiostream.henumgame_result{WIN,LOSE,TIE,CANCEL};intmain(){game_resultresult;enumgame_resultomit=CANCEL;intcount;for(count=WIN;count=CANCEL;count++){result=(game_result)count;if(result==omit){coutThegamewascancelled\n;}22else{coutThegamewasplayed;if(result==WIN)coutandwewon!;if(result==LOSE)coutandwelost.;cout\n;}}return0;}23运行结果Thegamewasplayedandwewon!Thegamewasplayedandwelost.ThegamewasplayedThegamewascancelled24常量整型常量:整数,后面加l或L表示长整型,后面加u或U表示无符号整型实型常量:双精度实数,后面加f或F表示单精度字符型常量:用单引号括起来的单个字符和转义字符字符串常量:用双引号括起来的字符序列布尔常量:true和false在程序运行中值不能改变的量符号常量:用标识符代表常量const数据类型标识符=常量值;例如:constfloatPI=3.1415926;25变量变量名:要求与标识符相同变量类型:整型、实型、字符型、布尔型变量必须先声明,后使用值可以改变的量变量的声明数据类型变量名列表;inti,j,k=0;doublea,b=3.1415,x(3);charc;变量声明时可以进行初始化(两种方式)26变量的存储方式用户使用的存储空间:由程序区、静态存储区和动态存储区三部分组成程序区存储空间静态存储区动态存储区存放全局变量、静态局部变量等存放全函数的形式参数、自动变量等-静态存储方式:在程序运行期间分配固定的存储空间;-动态存储方式:在程序运行期间根据需要进行动态的分配存储空间根据变量值在内存中的存在时间来,可分为:27变量的存储类型变量属性:数据类型和存储类型变量的存储类型:auto、static、register、extern-auto:在内存中动态存储,局部变量的缺省类型-static:在内存中是以固定地址存放,在整个程序运行期间都有效。-register:存放在寄存器中,提高效率-extern:全局/外部变量,所有函数和程序段中都可引用28运算符算术运算符:+、-、*、/、%、++(自增)、--(自减)赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、=、=逗号运算符:,(把若干表达式组合成一个表达式)关系运算符:用于比较运算,、、==、=、=、!=逻辑运算符:用于逻辑运算,&&、||、!条件运算符:是一个三目运算符,用于条件求值(?:)求字节数运算符:sizeof(计算数据类型所占的字节数)位操作运算符:按二进制位进行运算,&、|、~、^(异或)、(左移)、(右移)指针运算符:*(取内容)、&(取地址)29运算优先级()[]–.++--(后置)!~++––(前置)*&sizeof+(正号)–(负号)强制类型转换*/%+–====!=&^|&&||?:=+=–=*=/=等,高低30-空语句(只有分号)-声明语句-表达式语句(赋值表达式)-复合语句(将多个语句用{}括起来组成的一个语句)-选择语句-循环语句-跳转语句-......语句程序由语句构成,C++的语句包括:31表达式语句表达式与表达式语句-表达式:运算符连接常量、变量、函数所组成的式子-表达式语句:表达式;a+b*ca+b*c;-表达式可以包含在其它表达式中,但表达式语句不行!a+(b=3;)*cX-表达式中的运算符含赋值运算符a+(b=3)*c32举例赋值语句:变量=表达式inti=10,j,k;j=i++;k=++i;ex_datatype_02.cppinta,b,c,d,e;a=5;b=a+3;a=a+(c=6);d=e=f=a;e*=d;f/=c-2;ex_datatype_03.cpp逗号运算符:表达式1,表达式2inta,b;a=3*5,a+10;b=(3*5,a+10);ex_datatype_04.cpp-依次计算表达式的值,并将表达式2的值作为整个运算结果33举例求字节数运算符:sizeof(数据类型)sizeof(表达式)inta,b,c;a=sizeof(int);b=s
本文标题:第二章 C++简单程序设计 CUMT 12-01-15.ppt
链接地址:https://www.777doc.com/doc-3598365 .html