第二章 C++简单程序设计.ppt
《第二章 C++简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第二章 C++简单程序设计.ppt(164页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章 C+简单程序设计C+语言程序设计本章主要内容vC+语言概述v基本数据类型和表达式v数据的输入与输出v算法的基本控制结构v自定义数据类型语言简洁灵活。运算符和数据结构丰富,具有结构化控制语句,程序执行效率高。与高级语言相比,具有可以直接访问物理地址,能进行位运算的优点。与汇编语言相比,又具有良好的可读性和可移植性。C语言的特点C+语言概述C+语言的产生vC+是从C语言发展演变而来的,首先是一个更好的Cv引入了类的机制,最初的C+被称为“带类的C”v1983年正式取名为C+v从1989年开始C+语言的标准化工作v于1994年制定了ANSIC+标准草案v于1998年11月被国际标准化组织(I
2、SO)批准为国际标准,成为目前的C+C+语言概述C+的特点全面兼容C它保持了C的简洁、高效和接近汇编语言等特点对C的类型系统进行了改革和扩充C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言支持面向对象的方法C+语言概述C+首先保持了语言的简洁、高效和接近汇编语言等优点,同时又给语言的不足和问题作了很多改进。下面列出一些重要改进之处。v增加了一些在新的运算符,使得C+应用起来更加方便。例如::,new,delete,-.等。v改进了类型系统,增加了安全性,C语言种类型转换很不严格。C+规定类型转换多采用强制转换。又规定函数的说明必须用原型。对缺省类型作了些限制。v增加了引用概念,使得引
3、用函数参数带来了很大方便。v允许函数重载,允许设置缺省参数,这些措施提高了编程的灵活性,减少了冗余性。又引进了内联函数的概念,提高了程序的效率。v对变量说明更加灵活了。C语言只允许在函数体或分程序内,显示对变量的说明语句,再是执行语句,两者不可交叉使用。C+打破了这一限制,可以对变量随时进行说明。C与C+的区别图典型的命令行程序的构成C+程序实例例2-1/2_1_1.cpp#includeusingnamespacestd;intmain()coutHello!n;coutWelcometoc+!n;return0;运行结果:Hello!Welcometoc+!C+语言概述/2_1_2.cpp
4、#includeusingstd:cout;usingstd:endl;intmain()intapples,oranges;/Declaretwointegervariablesintfruit;/thenanotheroneapples=5;oranges=6;/setinitialvaluesfruit=apples+oranges;/getthetotalfruitcoutendl;/startoutputonanewlinecout“orangesarenottheonlyfruit;endl“-andwehave”fruit;cout“fruitsinall”;coutendl;r
5、eturn0;/exittheprogramv这里main是主函数名,函数体用一对大括号括住。函数主体的意思。C+程序由函数构成。在C+程序中,必须有且只能有一个名为main()的函数,因为程序总是从main()开始执行的。main()函数之前的void表示main()函数没有返回值。v程序由语句组成,每条语句由分号“;”作为结束符。C+语言概述vcout是一个输出流对象,它是C+系统预定义的对象,其中包含了许多有用的输出功能。输出操作由操作符“”来表达,其功能是将紧随其后的双引号中的字符串输出到标准输出设备(显示器)上。C+语言概述v程序中的includeiostream的作用是在编译之前,
6、将文件iostream中的代码嵌入到程序中该指令所在的地方。作为程序的一部分,iostream文件中声明了程序所需要的输入和输出操作的有关信息。cout和“”操作的有关信息就是在该文件中声明的。由于这类文件常被嵌入在程序的开始处,所以称之为头文件。在C+程序中如果使用了系统中提供的一些功能,就必须嵌入相关的头文件。C+语言概述v当我们编写完程序文本后,要将它存储为后缀为.cpp的文件,此文件称为C+源文件,再经过编译系统的编译、连接后,最后产生出后缀为.exe的可执行文件。通过以上程序可以看出,C+的程序结构由编译预处理、程序主体和注释组成,其特点如下:v每个以符号“”开头的行,称为编译预处理
7、语句。C+语言概述v一个C+程序可以由一个或多个函数组成。任何一个完整的C+程序,都必须包含一个且只能包含一个名为main()的函数,程序总是从main()函数开始执行,而不管main()函数处于程序的什么位置。v函数体应由“”括起来。函数体一般包括变量的定义部分和执行部分。所有的变量要先定义后使用。C+语言概述v注释是程序员为读者写的说明,是提高程序可读性的一种手段。一般可将注释分为两种:序言注释和注解注释。前者用于程序开头,说明程序或文件的名称、用途、编写时间、编写人以及输入、输出等,后者用于程序难懂的地方。vC+的注释为“/”之后的内容,直到换行。注释仅供阅读程序使用,是程序的可选部分。
8、在生成可执行程序之前,C+忽略注释,并把每个注释都视为一个空格。另外,C+还兼容了C语言的注释。C+语言概述v每个语句和数据定义的后面都要有一个分号。这一点初学者尤其要注意。vmain函数名和关键字(如void、int、float等)都是小写字母构成。C+程序中的标识符是大小写“敏感”的,所以,在书写标识符的时候要注意其大小写。C+语言概述C+字符集构成C+语言的基本元素大小写的英文字母:AZ,az数字字符:09特殊字符:空格空格!#%&*_ _(下划线下划线)+=-/;.,()()C+语言概述词法记号关键字关键字C+预先声明的单词预先声明的单词标识符标识符程序员声明的单词,它命名程序正文中的
9、一些实程序员声明的单词,它命名程序正文中的一些实 体函数名、变量名、类名、对象名等体函数名、变量名、类名、对象名等文字文字在程序中直接使用符号表示的数据在程序中直接使用符号表示的数据操作符操作符用于实现各种运算的符号用于实现各种运算的符号+-*/分隔符分隔符 (),:;用于分隔各个词法记号或程序正文用于分隔各个词法记号或程序正文空白符空白符空格、制表符(空格、制表符(TAB键产生的字符)、换行符键产生的字符)、换行符(Enter键所产生的字符)和注释的总称键所产生的字符)和注释的总称C+语言概述标识符的构成规则即命名规则以大写字母、小写字母或下划线(_)开始。可以由以大写字母、小写字母、下划线
10、(_)或数字09组成。大写字母和小写字母代表不同的标识符。不能是C+关键字。标识符的有效长度为1247个字符。超过限度的字符无效。标识符的命名方法:匈牙利命名法;采用表示标识符含义的英文单词或汉语拼音。C+语言概述v例如,Richad、red_line、_Nol都是合法的标识符,而No.1、1st则是不合法的标识符。v在标识符的命名中要特别注意:C+是大小写敏感的,即大写和小写字母被认为是不同的 字 母。例 如,标 识 符 something、Something、SOMETHING、SomeThing都被视为不同的名字。C+语言概述标识符v关键字v也称为保留字。关键字是C+预定义好的标识符,这
11、些标识符对C+编译系统有着特殊的含义。如例1-1中的void,后面将逐步介绍到的数据定义语句int、float、long及double等等,它们都是C+的关键字。vC+中的所有关键字如下表所示。共有48个,其中有5个不适用于VC+(下表中带星号的关键字)。另一方面,在VC+中有19个专用关键字不适用于C+(以双下划线开头)。关键字C+语言概述关键字asm*autobreakcasecatch*charclass*constcontinuedefaultdelete*dodoubleelseenumexternfloatforfriend*gotoifinline*intlongnewopera
12、tor private*protected*public*registerreturn shortsignedsizeofstaticstructswitchtemplate*this*throw*trytypedefunionunsigned vitural*voidvolatilewhileC+语言概述文字是在程序中直接使用符号表示的数据,包括数字、字符、字符串和布尔文字。C+语言概述文字操作符是用于实现各种运算的符号,例如、*、等。C+语言概述操作符(运算符)v分隔符用于分隔各个词法记号或程序正文。C+的分隔符如下:(),:;v这些分隔符不表示任何实际的操作,仅用于构造程序。例如“”用于
13、分隔函数体,“;”作为语句的分隔符。vC+中的标点符号共有9个:v#(),:;v在程序中,每个标点符号各有其不同的作用。v分隔符的作用是将程序中的词法符号分隔开来。C+中的分隔符有:运算符、空格、标点符号、回车键和Tab键等。C+语言概述分隔符v在程序编译时的词法分析阶段将程序正文分解为词法记号和空白。空白是空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称。v空白符用于指示词法记号的开始和结束位置,但除了这一功能之外,其余的空白将被忽略。因此,C+程序可以不必严格地按行书写,凡是可以出现空格的地方,都可以出现换行C+语言概述空白符v例如:intj;v与vint
14、j;v或与vintvjv;v是等价的。但是尽管如此,我们在书写程序时,仍要力求清晰、易读。因为一个程序不仅要让机器执行,还要让人阅读的同时便于修改、维护。C+语言概述空白符数据类型数据是程序处理的对象,有很多种。C+中的数据类型分为基本类型和非基本类型。基本类型是C+编译系统内置的,非基本类型也称为用户定义数据类型或结构类型。基本数据类型和表达式图1-1C+的数据类型数据类型基本数据类型和表达式表1-1常用基本数据类型描述类型说明长度表示范围备注bool逻辑型1false,truechar字符型1-128127-27(27-1)unsignedchar无符号字符型102550(28-1)sho
15、rt(signedshort)短整型2-3276832767-215(215-1)unsignedshort无符号短整型20655350(216-1)int整型4-21474836482147483647-231(231-1)unsignedint无符号整型4042949672950(232-1)long长整型4-21474836482147483647-231(231-1)unsignedlong无符号长整型4042949672950(232-1)float浮点型4-3.410383.410387位有效位double双精度8-1.6103081.61030815位有效位longdouble长
16、双精度8-1.6103081.61030815位有效位#includeusingnamespacestd;intmain(void)constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;整型常量shortunsignedshort2字节int、unsignedint4字节longunsignedlong4字节整型变量整型变量声明基本数据类型和表达式整型变量整型变量shortunsignedshort2字节int、uns
17、ignedint4字节longunsignedlong4字节整型变量v整型常量即以数码形式出现的整数,包括正整数、负整数和零。整型常量的表示形式有十进制、八进制和十六进制。十进制整型常量的一般形式与数学中我们所熟悉的表示形式是一样的:若干个09的数字即符号加若干个09的数字,但数字部分不能以0开头,正数前边的正号可以省略。整型常量基本数据类型和表达式v八进制整型常量的数字部分要以数字0开头,一般形式为:0若干个07的数字v十六进制整型常量的数字部分要以0 x开头,一般形式为:0 x若干个09的数字及AF的字母(大小写均可)v整型常量可以用后缀字母L(或l)表示长整型,用后缀字母U(或u)表示无
18、符号型,也可同时使用后缀L和U(大小写无关)。例如,123、0123、-0 x5af都是合法的常量形式整型常量基本数据类型和表达式类型说明符 位数数值范围短整短整shortshort1616-32768-327683276732767基本基本 intint32 32 -2-23131(2(23131-1)-1)长整长整longlong3232-2-23131(2(23131-1)-1)无符号无符号unsigned shortunsigned short16160 065535 65535 unsigned unsigned intint 32320 0(2(23232-1)-1)unsigne
19、d longunsigned long32320 0(2(23232-1)-1)基本数据类型和表达式#includeusingnamespacestd;intmain(void)constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;实型常量float 4float 4字节字节 3.41038 7位有效数字double 8double 8字节字节 1.710308 15位有效数字long double 8 8字节字节1.
20、710308 15位有效数字实型变量缺省为double型后缀 F(或 f)为 float型后缀 L(或 l)为 long double型基本数据类型和表达式v实型常量又称浮点小数。在C+语言中,实型常量只使用十进制表示,有两种表示形式:一般形式和指数形式。一般形式:例如,16.5、-13.5等。v指 数 形 式:例 如,0.565E 2表 示 0.565102,-34.4E-3表示-34.410-3,其中,字母E可以大写或小写。当以指数形式表示一个实数时,整数部分和小数部分可以省略其一,但不能都省略。例如,.234E-1和12.E2都是正确的,但不能写成E-3这种形式。v实型常量默认为doub
21、le型,如果后缀为F(或f)则为float型。基本数据类型和表达式实型常量v字符常量单引号括起来的一个字符,如:a,D,?,$v字符变量用来存放字符常量例:charc1,c2;c1=a;c2=A;v字符数据在内存中的存储形式以ASCII码存储,占1字节,用7个二进制位Page36基本数据类型和表达式字符形式ASCII码(十六进制)功能n0A换行t09横向跳格(即跳到下一个输出区)v0B竖向跳格b08退格r0D回车a07响铃5C反斜杠字符“”27单引号22双引号dddddd(八进制)1到3位八进制数所代表的字符xhhHh1到2位十六进制数所代表的字符基本数据类型和表达式C+预定义的转义序列v反斜
22、杠+字母:表示控制字符,比如a表示响铃,n表示回车符。v 反斜杠+特殊字符(,“,),表示该字符。比如,表示反斜杠“”,表示单引号“”。v反斜杠+整型常量:此时整型常量必须是一个八进制或十六进制数(以X或x开头),其取值通常在0255之间,此时,如果在整数之前没有0,表示八进制。比如:141、X61都与a等价。基本数据类型和表达式C+预定义的转义序列v字符数据的使用方法字符数据和整型数据之间可以运算。字符数据与整型数据可以互相赋值。v字符串常量例:CHINAaa所以:charc;c=a;CHINA0a 0aPage39基本数据类型和表达式v字符当双引号(“)或反斜杠()作为字符串中的一个字符时
23、,必须采用转义序列法;而单引号()出现在字符串中时,可采用或不采用转义序列法。v字符串常量和字符常量的区别:v(1)在每一个字符串常量的末尾,存储时都要存放一个“0”,表示字符串的结束符。v(2)字符串常量不能直接运用一些运算,比如算术运算、比较运算等,而字符常量可以。Page40基本数据类型和表达式字符串常量数据类型 布尔型数据v布尔型变量的说明:例:boolflag;v布尔型数据的取值:只有false和true两个值基本数据类型和表达式#includeusingnamespacestd;intmain(void)constintPRICE=30;intnum,total;floatv,r,
24、h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;常量变量变量先声明后使用符号常量Page42基本数据类型和表达式用标识符表示的常量。可用两种方法定义标识符常量:(1)利用编译预处理指令。利用关键字 define,以如下形式定义常量:#definePI=3.14159(2)利用常量说明符const。比如:constI=2;注意注意,标识符常量(符号常量)一经定义,在其后继的程序中就不能改变其值。基本数据类型和表达式标识符常量例:inta=3;doublef=3.56;charc=a;intc
25、(5);Page44基本数据类型和表达式变量的存储类型vauto属于一时性存储,其存储空间可以被若干变量多次覆盖使用。vregister存放在通用寄存器中。vextern在所有函数和程序段中都可引用。vstatic在内存中是以固定地址存放的,在整个程序运行期间都有效。基本数据类型和表达式运算符具有优先级与结合性。优先级决定运算的优先顺序优先级高的运算符先运算,优先级低的运算符后运算。其意义和作用与数学中的优先级类似。如果表达式中出现了多个相同优先级的运算,运算顺序就要看运算符的结合性了。所谓结合性,是指当一个操作数左右两边的运算符优先级相同时,按什么样的顺序进行运算,是自左向右,还是自右向左。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二章 C+简单程序设计 第二 C+ 简单 程序设计
限制150内