通过例子学习.pptx

上传人:莉*** 文档编号:80066233 上传时间:2023-03-22 格式:PPTX 页数:79 大小:379.87KB
返回 下载 相关 举报
通过例子学习.pptx_第1页
第1页 / 共79页
通过例子学习.pptx_第2页
第2页 / 共79页
点击查看更多>>
资源描述

《通过例子学习.pptx》由会员分享,可在线阅读,更多相关《通过例子学习.pptx(79页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、会计学1通过例子学习通过例子学习C+程序的基本组成程序的基本组成n n基本的C+程序结构/File:hello.cpp/this program prints the message/“hello everyone”on the screen#include int main()std:cout “hello everyone”std:endl;return 0;程序注释程序注释预处理命令预处理命令主程序主程序第1页/共79页注释注释n nC+C+的注释是从的注释是从/开始到本行结束开始到本行结束 ,也可以,也可以采用采用C C风格的注释,即从风格的注释,即从/*/*与与*/之间所有的文之间所

2、有的文字都是注释,可以是连续的几行。字都是注释,可以是连续的几行。n n注释是写给人看的,而不是写给计算机的。注释是写给人看的,而不是写给计算机的。n n程序注释程序注释 :从整体描述程序操作过程:从整体描述程序操作过程 n n注释也可以出现在主程序中,解释主程序中注释也可以出现在主程序中,解释主程序中一些比较难理解的部分。一些比较难理解的部分。n n给程序添加注释是良好的程序设计风格给程序添加注释是良好的程序设计风格 第2页/共79页C程序的基本组成程序的基本组成n n基本的C程序结构/File:hello.cpp/this program prints the message/“hello

3、 everyone”on the screen#include int main()std:cout “hello everyone”std:endl;return 0;程序注释程序注释预处理命令预处理命令主程序主程序第3页/共79页编译预处理编译预处理n nC+C+的编译分成两个阶段:预编译和编译的编译分成两个阶段:预编译和编译 n n预编译处理程序中的预编译命令,即那些以预编译处理程序中的预编译命令,即那些以#开头的指令开头的指令 n n编译预处理主要有:编译预处理主要有:n n库包含:用库包含:用#include#include实现,表示程序使用了某个实现,表示程序使用了某个库库n n宏

4、定义宏定义 :用:用#define#define实现。宏包括不带参数的宏和实现。宏包括不带参数的宏和带参数的宏。不带参数的宏通常用来定义符号常带参数的宏。不带参数的宏通常用来定义符号常量。带参数的宏用来定义一些较为复杂的操作。量。带参数的宏用来定义一些较为复杂的操作。第4页/共79页库包含的格式库包含的格式n n库是预先做好的一些工具程序。库是预先做好的一些工具程序。n n每个库要提供一个接口,告诉库的用户如何使每个库要提供一个接口,告诉库的用户如何使用库提供的功能。用库提供的功能。n n 库包含就是把库的接口文件放入源文件,以便库包含就是把库的接口文件放入源文件,以便编译器检查程序中对库的调

5、用是否正确。编译器检查程序中对库的调用是否正确。n n库包含格式:库包含格式:n n#include#include:包含了一个系统库:包含了一个系统库n n#include“filename”#include“filename”:包含了一个用户自定义的库:包含了一个用户自定义的库第5页/共79页宏定义宏定义n n不带参数的宏定义通常用于为程序中的常量取一不带参数的宏定义通常用于为程序中的常量取一个名字,称为符号常量。格式:个名字,称为符号常量。格式:#define#define 标识符标识符 替换文本替换文本 如:如:#define RADIUS 5#define RADIUS 5#defi

6、ne PI 3.14159#define PI 3.14159#define AREA PI*RADIUS*RADIUS#define AREA PI*RADIUS*RADIUSn n用用definedefine定义宏是定义宏是C C语言的习惯,在语言的习惯,在C+C+中有更好中有更好的解决方案的解决方案第6页/共79页使用符号常量的好处使用符号常量的好处n n含义清楚,提高了程序的可读性。n n在需要改变一个常量时能做到“一改全改”第7页/共79页C程序的基本组成程序的基本组成n n基本的C程序结构/File:hello.cpp/this program prints the message

7、/“hello everyone”on the screen#include int main()std:cout “hello everyone”std:endl;return 0;程序注释程序注释预处理命令预处理命令主程序主程序第8页/共79页主程序主程序n n主程序由一个或多个函数组成n n每个程序都必须有一个名为main的函数,它是程序的入口。第9页/共79页函数的构成函数的构成int main()函数头 std:cout “hello everyone”std:endl;return 0;函数体与与PYTHONPYTHON不同,不同,C+C+的函数体必须用一对花括号括起来。的函数体必

8、须用一对花括号括起来。事实上,事实上,PYTHONPYTHON中所有必须缩进的语句,在中所有必须缩进的语句,在C+C+中都必须中都必须用花括号括起来。用花括号括起来。第10页/共79页输出流对象输出流对象std:coutn n“流”指的是设备之间传递的数据流n n输出流是传给输出设备的数据流n ncout代表显示器n n格式n n将将hellohello显示在屏幕上:显示在屏幕上:std:cout std:cout “hello”“hello”n nstd:cout “hello,everyone”std:cout “hello,everyone”std:endlstd:endln nstd:

9、endl表示换行第11页/共79页名字空间名字空间n n在大型的程序时,每个源文件可能由不同的开发者开在大型的程序时,每个源文件可能由不同的开发者开发。不同的源文件中可能有同样的名字。当这些源文发。不同的源文件中可能有同样的名字。当这些源文件连接起来形成一个可执行文件时,就会造成重名。件连接起来形成一个可执行文件时,就会造成重名。n n名字空间是把一组程序实体组合在一起,构成的一个名字空间是把一组程序实体组合在一起,构成的一个作用域。作用域。n n一个名字空间中不能有重名,不同的名字空间中可以一个名字空间中不能有重名,不同的名字空间中可以定义相同的实体名。当引用某个实体时,需要加上名定义相同的

10、实体名。当引用某个实体时,需要加上名字空间的限定字空间的限定 n n程序中的程序中的stdstd是是C+C+中所有标准库的名字空间名。中所有标准库的名字空间名。第12页/共79页使用名字空间的指令使用名字空间的指令 n n格式:using namespace 名字空间名;n n一旦用了使用名字空间的指令,该名字空间中的所有的实体在引用时就不需要再加名字空间的限定了。n n第一个程序可以改写为:第13页/共79页/file:hello.cpp/file:hello.cpp/This program prints the message“Hello world.”/This program pri

11、nts the message“Hello world.”/On the screen/On the screen#include#include using namespace std;using namespace std;int main()int main()cout “Hello world.”endl;cout “Hello world.”endl;return 0;return 0;第14页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符

12、自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第15页/共79页计算园的面积和周长计算园的面积和周长/file:circle.cpp/该程序用于计算园的面积和周长该程序用于计算园的面积和周长#define PI 3.14159 /定义符号常量定义符号常量#include using namespace std;int main()double radius,area,circum;cout radius;area=PI*radius*radius;circum=2*PI*radius;cout endl;cout 园的面积为:园的面积为:area endl;cout 园的周

13、长为:园的周长为:circum endl;return 0;变量定义变量定义输入阶段输入阶段计算阶段计算阶段输出阶段输出阶段第16页/共79页程序的组成程序的组成n n变量定义:变量定义:C+C+中的变量在使用前都必须被定义。变中的变量在使用前都必须被定义。变量定义严格指出变量中可以存放的数据类型。量定义严格指出变量中可以存放的数据类型。n n输入阶段输入阶段 :获取执行时才能确定的用户数据。输入:获取执行时才能确定的用户数据。输入过程一般包括两步过程一般包括两步 :n n显示提示信息显示提示信息 n n读取数据读取数据 n n计算阶段计算阶段 :由输入推导出输出的过程。通常通过各:由输入推导

14、出输出的过程。通常通过各种计算得到。种计算得到。n n输出阶段:显示程序执行的结果输出阶段:显示程序执行的结果第17页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第18页/共79页变量定义变量定义n n变量,也称为对象,是数据的存放之处变量,也称为对象,是数据的存放之处 n n变量有三个重要属性:名称、值、类型变量有三个重要属性:名称、值、类型 。变量定义就。变量定义就是告诉编译器变

15、量的名字及该变量中可以存放哪一类数是告诉编译器变量的名字及该变量中可以存放哪一类数据类型的值据类型的值n nC+C+中变量定义的格式中变量定义的格式:类型名类型名 变量名变量名1 1,变量名,变量名2 2,变量名,变量名n n;n n如:如:int num1,num2;int num1,num2;double area;double area;n n在在C+C+中,每个变量在使用前必须被定义,以便编译器中,每个变量在使用前必须被定义,以便编译器检查变量使用的合法性。检查变量使用的合法性。第19页/共79页变量命名变量命名n n名字必须以字母或下划线开头。名字必须以字母或下划线开头。C+C+语言

16、中,名字中出语言中,名字中出现的大写和小写字母被看作是不同的字符,因此现的大写和小写字母被看作是不同的字符,因此ABCABC,AbcAbc,abcabc是三个独立的变量名。是三个独立的变量名。n n名字中的其它字符必须是字母、数字或下划线,不得使名字中的其它字符必须是字母、数字或下划线,不得使用空格或其它特殊符号用空格或其它特殊符号n n名字不可以是系统的保留词,如:名字不可以是系统的保留词,如:int,double,for,returnint,double,for,return等,它们在等,它们在C+C+语言中有特殊用途语言中有特殊用途n nC+C+没有规定过名字的长度,但各个编译系统都有自

17、己没有规定过名字的长度,但各个编译系统都有自己规定。规定。n n名字应使读者易于明白其存储的值是什么,做到名字应使读者易于明白其存储的值是什么,做到“见名见名知意知意”。第20页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第21页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第22页/共79页数据类型数据类型整整型型

18、n n整型数的表示范围:由各个编译器指定。整型数整型数的表示范围:由各个编译器指定。整型数有三种存储方式,在有三种存储方式,在VCVC中占用的空间如下所示中占用的空间如下所示n n基本型基本型 intint:4 4 byte(PC)byte(PC)2 23131(2 231311 1)n n长整型长整型l longong:long/long int long/long int 4 4 byte(PC)byte(PC)2 23131(2 231311 1)n n短整型短整型 s short hort:2 byte(PC)-22 byte(PC)-21515(2 215151)1)n n允许的操作

19、:算术运算、比较大小等允许的操作:算术运算、比较大小等第23页/共79页整型数的表示整型数的表示码制码制n n讨论如何将符号位数字化。0表示正数,1表示负数。数字的三种编码方式为:原码 反码 补码第24页/共79页原码原码n n用符号位和数值表示带符号数。正数的符号位为0,负数的符号位为1。数值部分用二进制表示。如用一个字节表示数值:62原=0 0111110 -62原=1 0111110第25页/共79页反码反码n n正数的反码与原码相同,负数的反码为该数的绝对值的原码取反。如:62反=0 0111110 -62反=1 1000001第26页/共79页补码补码n n正数的补码与原码相同,负数

20、的补码为该数的反码加1。如:62补=0 0111110 -62补=1 1000010n n大多数计算机系统都用补码表示整数第27页/共79页整数的内部表示整数的内部表示n n整数在计算机内部通常用补码表示,在整数在计算机内部通常用补码表示,在VCVC中中也是如此。也是如此。n n整数运算时要注意数据的表示范围。如整数整数运算时要注意数据的表示范围。如整数用两个字节表示时,正整数用两个字节表示时,正整数 32767 32767 加加 1 1 的结果的结果为为 -32768-32768。这称为整数运算的溢出,系统不。这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序检查这样的错误,

21、程序员必须自己保证程序中不出现这样的错误。中不出现这样的错误。第28页/共79页无符号整数无符号整数n n在某些应用中,不可能出现负数,则整型数中在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。因此在有一半的数值范围是被浪费的。因此在C/C+C/C+中中可以将所有的数都看成正整数,称为无符号数可以将所有的数都看成正整数,称为无符号数n n无符号数的定义:在各种整数类型前加上关键无符号数的定义:在各种整数类型前加上关键词词unsignedunsigned,变成,变成unsigned int,unsigned unsigned int,unsigned short,unsign

22、ed longshort,unsigned longunsigned int0232-1unsigned short065535unsigned long0232-1第29页/共79页整型常量整型常量n n整型常量可用十进制、八进制和十六进制表示整型常量可用十进制、八进制和十六进制表示n n十进制:十进制:123123,-234-234n n八进制:八进制:01230123n n十六进制:十六进制:0 x123,0 x3a2f0 x123,0 x3a2fn n一旦定义了一个整型变量,可以将一个整型常一旦定义了一个整型变量,可以将一个整型常量赋给该整型变量。如量赋给该整型变量。如 int a;i

23、nt a;a=123;a=123;或或 a=0 x123;a=0 x123;都是正确的都是正确的第30页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第31页/共79页数据类型数据类型浮点数浮点数n nVCVC中,实型数以浮点形式表示中,实型数以浮点形式表示n n一个浮点数分成尾数和阶码两部分。阶码表示小数点在该一个浮点数分成尾数和阶码两部分。阶码表示小数点在该数中的位数,尾数表示数的有效数值。数中的位数,尾数表示数的有效数值。n n浮点类型的分类浮点类型的分类n n单精度单精度 floatfloat:占用占用4 4字节,字节

24、,3 3字节尾数,字节尾数,1 1字节指数字节指数,精确度精确度7 7位位,范范围围1010383810103838 n n双精度双精度 doubledouble:占用占用8 8字节字节,5 5字节尾数字节尾数,3 3字节指数字节指数,精确度精确度15151616位位,范围范围10103073071010308308 n n浮点数无法精确表示浮点数无法精确表示第32页/共79页浮点数常量浮点数常量n n浮点数常量有两种表示法:n n十进制表示:十进制表示:1.23 3.14 -5.9881.23 3.14 -5.988n n科学计数法:科学计数法:尾数尾数*1010指数指数 尾数尾数e e指数

25、指数 123e2=12300 2.25e-3=0.00225123e2=12300 2.25e-3=0.00225 注意:尾数不能为空注意:尾数不能为空 e3 e3 1e3 1e3 指数必须为整数指数必须为整数 2.5e2.32.5e2.3是非法的是非法的第33页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第34页/共79页数据类型数据类型字符类型字符类型n n字符类型:存放一个字母或符号,字符类型:存放一个字母或符号,占一个字节,存放的是字符的内码。占一个字节,存放的是字符的内码。n n字符类型名:字符类型名:charch

26、ar第35页/共79页字符的机内表示字符的机内表示n n字符的机内表示 用字符编码表示。常用的有用字符编码表示。常用的有ASCII,BCD,ASCII,BCD,EBCDICEBCDIC等。等。PCPC机中都用机中都用ASCII.ASCII.n nASCII码的重要特性n n 数字数字 0 0到到 9 9是顺序存放的是顺序存放的n n 字母被分成二段:大写的和小写字母被分成二段:大写的和小写的。大写字母是连续的,小写字的。大写字母是连续的,小写字母也是连续的母也是连续的第36页/共79页可打印字符和非打印字可打印字符和非打印字符符n n可打印字符:小写字母、大写字母、数字、标点符号、空格等n n

27、非打印字符:换行和报警字符或响铃 等控制字符第37页/共79页可打印字符的使用可打印字符的使用n n字符常量字符常量 a,S,2等用一对单引号括起来的数据称为字符常量n n与PYTHON不同,C+中的单引号和双引号有不同的用处。单引号括起来的是一个字符,双引号括起来的是字符串第38页/共79页可打印字符的使用可打印字符的使用n n赋值 char c1,c2;char c1,c2;c1=a;c2=b;c1=a;c2=b;c1=97;c2=98;c1=97;c2=98;比较比较c=9c=9和和c=9c=9?n n运算 如:如:c1=a;c1=c1+2;c1c1=a;c1=c1+2;c1的值应为?的

28、值应为?如如c c中存放的是小写字母,则中存放的是小写字母,则c-ac-a +1+1表示什么?表示什么?如如c c中存放的是数字(中存放的是数字(0 90 9),则),则c-0c-0表示什么表示什么?如如c1,c2c1,c2存放的是小写字母,则存放的是小写字母,则c2-c1c2-c1表示什么表示什么?第39页/共79页转义字符转义字符n n一些非打印和难以打印的字符需要用转义序列表示一些非打印和难以打印的字符需要用转义序列表示换行符写为换行符写为 n n,虽然它由两个字符和,虽然它由两个字符和n n来描述,但它表来描述,但它表示一个示一个ASCIIASCII字符。反斜杠符号字符。反斜杠符号 称

29、为转义字符。称为转义字符。n n双引号和单引号的转义双引号和单引号的转义 如果在一个串中把双引号如果在一个串中把双引号”用作一个字符,必须要对它转义,用作一个字符,必须要对它转义,否则它会终结该字符串。否则它会终结该字符串。cout “”abc”;cout “”abc”;输出输出“abc”abc”双引号的单字符表示:可以写双引号的单字符表示:可以写”,也可以写,也可以写”。n n八进制数转义序列八进制数转义序列 警告字符警告字符a a 可以表示成可以表示成:007:007,0707,77第40页/共79页字符形式字符形式含义含义n换行换行t水平制表水平制表b退一格退一格r回车回车f换页换页”“

30、ddd1到到3位八进制数代表的字符位八进制数代表的字符xhh1到到2位十六进制数代表的字符位十六进制数代表的字符常用的转义字符常用的转义字符第41页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第42页/共79页数据类型数据类型布尔类型布尔类型n n布尔型(布尔型(boolbool):标准):标准C C中没有布尔型数据,这是中没有布尔型数据,这是C+C+中新增的数中新增的数据类型。占一个字节。它的值为:据类型。占一个字节。它的值为:true,falsetrue,falsen n布尔型数据可以进行逻辑运算布尔型数据可以进行逻辑运

31、算n n布尔型数据的内部表示:布尔型数据的内部表示:truetrue为为1 1,falsefalse为为0 0第43页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第44页/共79页枚举类型枚举类型n n有时在设计程序时会用到一些特殊的对象,这些有时在设计程序时会用到一些特殊的对象,这些对象的取值范围是有限可数的。如在一个生成日对象的取值范围是有限可数的。如在一个生成日历的程序中很可能用到一个表示一个星期中的每历的程序中很可能用到一个表示一个星期中的每一天的对象。该对象可能取值的范围就是星期日一天的对象。该对象可能取值的范围就

32、是星期日到星期六。到星期六。n n解决方法解决方法 n n采用编码采用编码 :假设:假设0 0表示星期日,表示星期日,1 1表示星期一,表示星期一,6 6表示星期六。然后用一个整型变量如表示星期六。然后用一个整型变量如weekdayweekday表示这表示这个对象。缺点是可读性差。个对象。缺点是可读性差。n n符号常量:用符号常量:用#define#define功能将这些数字定义为符号常量功能将这些数字定义为符号常量 n n定义一个新类型定义一个新类型第45页/共79页定义新的枚举类型定义新的枚举类型 n n格式:格式:enum enum 枚举类型名枚举类型名 元素表元素表;n n定义一个表示

33、一周中每天的名字的枚举类型:定义一个表示一周中每天的名字的枚举类型:enum weekdayT Sunday,Monday,Tuesday,Wednesday,enum weekdayT Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;Thursday,Friday,Saturday;n n枚举类型变量的定义:枚举类型变量的定义:weekdayT weekdayweekdayT weekday;n n枚举类型变量的使用:枚举类型变量的使用:n n赋值:赋值:weekday=Fridayweekday=Friday;n n比较:比

34、较:Monday Friday Monday Friday 比较这两个值的内部表示比较这两个值的内部表示n n枚举类型不能直接输入输出枚举类型不能直接输入输出第46页/共79页枚举类型的内部表示枚举类型的内部表示n n在内部,枚举类型采用编码表示。当定义在内部,枚举类型采用编码表示。当定义 enum weekdayT Sunday,Monday,Tuesday,Wednesday,enum weekdayT Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;Thursday,Friday,Saturday;时,默认用时,默认用0

35、0代表代表SundaySunday,1 1代表代表MondayMonday,6 6表示表示SaturdaySaturdayn nC+C+语言的编译器也允许明确指出枚举类型的元素的内部语言的编译器也允许明确指出枚举类型的元素的内部表示。例如,希望从表示。例如,希望从1 1而不是而不是0 0开始编号,可以这样定义开始编号,可以这样定义 enum weekdayT Sunday=1,Monday,Tuesday,Wednesday,enum weekdayT Sunday=1,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;Thursday,Fri

36、day,Saturday;n n也可以从中间某一个开始重新指定,如也可以从中间某一个开始重新指定,如 enum weekdayT Sunday,Monday,Tuesday=5,Wednesday,enum weekdayT Sunday,Monday,Tuesday=5,Wednesday,Thursday,Friday,Saturday;Thursday,Friday,Saturday;第47页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第48页/共79页变量赋初值变量赋初值n n在在C+C+中,变量定义只是给变量分配相

37、应的空间中,变量定义只是给变量分配相应的空间 n nC+C+允许在定义变量的同时给变量赋初值允许在定义变量的同时给变量赋初值 n n格式:格式:类型名类型名 变量名变量名 =初值;初值;类型名类型名 变量名(初值);变量名(初值);如:如:int count=0;int count=0;或或 int count(0);int count(0);都是定义整型变量都是定义整型变量countcount,并为它赋初值,并为它赋初值0 0。n n可以给被定义的变量中的一部分变量赋初值,如:可以给被定义的变量中的一部分变量赋初值,如:int sum=0,count=0,num;int sum=0,coun

38、t=0,num;定义变量时没有赋初值,然后直接引用该变量是危险的!定义变量时没有赋初值,然后直接引用该变量是危险的!第49页/共79页数据类型数据类型整型实型字符型布尔型枚举类型枚举类型变量赋初值变量赋初值了解占用的内存量了解占用的内存量第50页/共79页了解占用的内存量了解占用的内存量n nsizeof sizeof 运算符用来了解某一类型或某一表达式运算符用来了解某一类型或某一表达式占用的内存量。占用的内存量。n nsizeof sizeof 运算符的用法:运算符的用法:sizeof(sizeof(类型名类型名)或或 sizeof(sizeof(表达式表达式)n n如:如:sizeof(f

39、loat)sizeof(float):floatfloat类型的变量占用的内存量类型的变量占用的内存量 sizeof(a+15)sizeof(a+15):表达式:表达式 a+15 a+15 的计算结果所的计算结果所占的内存量占的内存量第51页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第52页/共79页符号常量符号常量n n用#define定义符号常量的问题 n n所定义的符号常量无

40、法进行类所定义的符号常量无法进行类型检查型检查n n#define#define的处理只是简单的字符的处理只是简单的字符串的替换,可能会引起一些意串的替换,可能会引起一些意想不到的错误想不到的错误n nC+建议用const定义符号常量const const =;如:如:const double PI=3.1415926;const double PI=3.1415926;第53页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换

41、强制类型转换数据的输入输出数据的输入输出第54页/共79页算术表达式算术表达式n n计算是计算机提供的最基本的功能,算术表达式计算是计算机提供的最基本的功能,算术表达式是完成此功能的工具是完成此功能的工具n n算术表达式由运算符和运算对象组成算术表达式由运算符和运算对象组成n n算术运算符:算术运算符:+-*/%+-*/%n n出出“-”-”外,所有的算术运算符都是二元运算符。外,所有的算术运算符都是二元运算符。“-”-”可为二元运算,也可为一元运算可为二元运算,也可为一元运算n n优先级:高优先级:高 */%/%,低,低 +-+-n n结合性:左结合结合性:左结合n n运算对象可以是整型、浮

42、点型、字符型和布尔型运算对象可以是整型、浮点型、字符型和布尔型第55页/共79页各种类型的数据的混合各种类型的数据的混合运算运算n n在进行运算前,将运算数转为同一类型n n转换规则n nboolbool、charchar和和shortshort这些非标准的整这些非标准的整数在运算前都必须转换为数在运算前都必须转换为intint。n nintint和和floatfloat运算时,将运算时,将intint转换成转换成floatfloat。n nintint和和longlong运算时,将运算时,将intint转换成转换成longlong。n nintint和和doubledouble运算时,将运算

43、时,将intint转换成转换成doubledouble。n nfloatfloat和和doubledouble运算时,将运算时,将floatfloat转换转换成成doubledouble。第56页/共79页数学函数库数学函数库n n在C+语言中,其他的数学运算都是通过函数的形式来实现。所有的数学函数都在cmath中。n n要使用这些数学函数,必须在程序头上写上编译预处理命令:#include 第57页/共79页cmath的主要内容的主要内容绝对值函数绝对值函数 int abs(int x);double fabs(double x)ex double exp(double x)xy doubl

44、e pow(double x,double y)double sqrt(double x)ln x double log(double x)log10 x double log10(double x)三角函数三角函数 double sin(double x)double cos(double x)double tan(double x)反三角函数反三角函数 double asin(double x)double acos(double x)double atan(double x)第58页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义

45、数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第59页/共79页变量赋值变量赋值n n变量赋值是通过赋值表达式实现,赋值表达式格式变量赋值是通过赋值表达式实现,赋值表达式格式n n =n n作用:将右边的表达式的值存入左边的变量,整个表达作用:将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。式的值是右边的表达式的结果。n n注意:注意:x=x+2x=x+2是正确的表达式是正确的表达式n n赋值运算符是右结合的赋值运算符是右结合的n n左值左值(lvalue)(lval

46、ue):在:在C+C+中,能出现在赋值运算符左边中,能出现在赋值运算符左边的表达式称为左值的表达式称为左值n n赋值语句:赋值表达式后面加上分号。赋值语句:赋值表达式后面加上分号。第60页/共79页赋值时的自动类型转换赋值时的自动类型转换 n n当表达式的结果类型和变量类型不一致时,系统会将右当表达式的结果类型和变量类型不一致时,系统会将右边的表达式的结果转换成左边的变量的类型,再赋给左边的表达式的结果转换成左边的变量的类型,再赋给左边的变量。边的变量。n n转换规则:转换规则:n n实型数实型数 -整型:舍弃小数部分。整型:舍弃小数部分。n n整型数整型数 -实型数:数值不变,但以浮点的形式

47、保存在相应的实型数:数值不变,但以浮点的形式保存在相应的变量中变量中 n nDouble-floatDouble-float:截取前面七位有效数字存放到:截取前面七位有效数字存放到floatfloat变量中变量中n nFloat-doubleFloat-double:将有效位扩展到:将有效位扩展到1616位位n n字符型字符型 -整型变量:将字符型数据放入整型变量的最后一个整型变量:将字符型数据放入整型变量的最后一个字节。如果所用系统将字符处理成无符号量,则前面补字节。如果所用系统将字符处理成无符号量,则前面补0 0。如果。如果所用系统将字符处理成有符号量,则扩展符号。所用系统将字符处理成有符

48、号量,则扩展符号。n n整型整型 -字符类型:直接将整型数据的最低八位赋给字符变量。字符类型:直接将整型数据的最低八位赋给字符变量。第61页/共79页赋值的嵌套赋值的嵌套n n将赋值表达式作为更大的表达式的一部分。如:a=(x=6)+(y=7)等价于分别将x 和 y 的值设为6 和 7,并将6和7相加,结果存于变量a n n赋值运算符=的优先级比算术运算符低 第62页/共79页多重赋值多重赋值a=b=c=5 给给a,b,c均赋值均赋值5 当用到多重赋值时,要保证所有的变量都是同类当用到多重赋值时,要保证所有的变量都是同类型的,以避免在自动类型转换时出现与预期不相型的,以避免在自动类型转换时出现

49、与预期不相符的结果的可能性。如变量符的结果的可能性。如变量d d定义为定义为double,double,变量变量i i定义为定义为intint,语句,语句 d=i=1.5;d=i=1.5;的结果是:的结果是:i i等于等于1 1,d d等于等于1.01.0 第63页/共79页复合赋值运算复合赋值运算n n其他运算符与赋值运算符结合的运算符称为复其他运算符与赋值运算符结合的运算符称为复合赋值运算符合赋值运算符 n n常用的复合赋值运算符有:常用的复合赋值运算符有:+=+=,-=-=,*=,/=/=,%=%=n n变量变量 op=op=表达式表达式;等价于:变量等价于:变量 =变量变量 op op

50、 表达式表达式;n n如:如:balance+=deposit;balance+=deposit;balance-=surcharge;balance-=surcharge;x/=10;x/=10;salary*=2;salary*=2;第64页/共79页第二章第二章 通过例子学习通过例子学习 第一个程序第一个程序第二个程序第二个程序变量定义变量定义数据类型数据类型符号常量符号常量算术表达式算术表达式赋值表达式赋值表达式自增自减运算符自增自减运算符强制类型转换强制类型转换数据的输入输出数据的输入输出第65页/共79页自增、自减运算符自增、自减运算符n n自增、自减运算符:+,-相当于+=1和-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com