第二章 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型赋值号两边的数据类型不同时,右边的类型将转换为左边的charshortintunsignedlongunsignedlongfloatdouble例如: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);18typedeftypedef:为一个已有的数据类型另外命名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

1 / 53
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功