C高级语言程序设计第二章.pptx
《C高级语言程序设计第二章.pptx》由会员分享,可在线阅读,更多相关《C高级语言程序设计第二章.pptx(135页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/3/23-1-第第2 2章章 基本数据类型与表达式基本数据类型与表达式2.1 词法记号和标识符2.2 基本数据类型2.3 变量和常量2.4 运算符和表达式2.5 基本输入输出2.6 使用string类型处理字符串北京邮电大学信息与通信工程学院第1页/共135页2023/3/23-2-2.1 2.1 词法记号和标识符词法记号和标识符 北京邮电大学信息与通信工程学院第2页/共135页2.1 2.1 词法记号和标识符词法记号和标识符C+字符集英文字母:AZ,az数字字符:09特殊字符:+-*/%=!#&|_“;.,()空格2023/3/23-3-北京邮电大学信息与通信工程学院第3页/共13
2、5页2.1 2.1 词法记号和标识符词法记号和标识符C+关键字什么是关键字?预先定义好的标识符,C+编译器对其进行特殊处理。如何识别关键字?使用VC2005的编辑环境时,缺省是蓝色的字符即为关键字。2023/3/23-4-北京邮电大学信息与通信工程学院第4页/共135页2.1 2.1 词法记号和标识符词法记号和标识符标识符 标识符是程序员声明的单词,它命名程序正文中的一些实体,如函数名、变量名、类名、对象名等。C+标识符的构成规则如下:2023/3/23-5-1、不能是C+的关键字;2、第一个字符必须是大写、小写字母或下划线;3、不包含空格和“+、-、;”等特殊字符;4、为方便输入,长度一般不
3、超过31个字符。北京邮电大学信息与通信工程学院第5页/共135页2.1 2.1 词法记号和标识符词法记号和标识符 例如:合法的标识符:apple、_Student、_123、No1、max_num 不合法的标识符:51job、maxnum、-abc2023/3/23-6-注意:C+的标识符是大小写敏感的,即abcABC。北京邮电大学信息与通信工程学院第6页/共135页2.1 2.1 词法记号和标识符词法记号和标识符分隔符 分隔符用于分隔程序中的正文,在C+中使用下列字符作为分隔符:(),:;这些分隔符不表示实际的操作,仅用于构造程序。比如“;”用来作为一句完整语句的结束。2023/3/23-7
4、-北京邮电大学信息与通信工程学院第7页/共135页2.1 2.1 词法记号和标识符词法记号和标识符空白 在C+语句中经常出现空白(制表符、空格、空行)等,通常都忽略不计。2023/3/23-8-北京邮电大学信息与通信工程学院第8页/共135页2.2.2 2 基本数据类型基本数据类型 北京邮电大学信息与通信工程学院2023/3/23-9-第9页/共135页2.2 2.2 基本数据类型基本数据类型什么是数据类型?数据是程序处理的对象,数据根据其本身的特点进行分类,从而形成不同的数据类型。例如:数学中有自然数、整数、实数 不同类型的数据有不同的表示和处理方法,具有不同运算规则2023/3/23-10
5、-北京邮电大学信息与通信工程学院第10页/共135页2.2 2.2 基本数据类型基本数据类型基本数据类型 整型:int字符型:char、wchar_t实型:float、double逻辑型:bool2023/3/23-11-北京邮电大学信息与通信工程学院第11页/共135页2.2 2.2 基本数据类型基本数据类型修饰符在C+中描述为了更加准确的描述数据类型,提供了4个关键字用来修饰基本的数据类型:1、长型long2、短型short3、有符号signed4、无符号unsigned2023/3/23-12-北京邮电大学信息与通信工程学院第12页/共135页1、short:仅用来修饰int,称为短整型
6、,占2字节内存,也可直接简写为short;2、long:仅修饰int和double,在不同的编译环境中使用long修饰的double类型数据所占内存不同。3、unsigned:用来修饰char、short和int,表示该数据类型为无符号数。4、signed:用来修饰char、short和int,表示该数据类型为有符号数,为缺省设置。2023/3/23-13-北京邮电大学信息与通信工程学院第13页/共135页2.2 2.2 基本数据类型基本数据类型数据类型与内存空间 不同的数据类型,加上不同的修饰符就具有了不同的特点,在内存中占用的空间也不同,因而其所能表示的数值范围也不尽相同。内存单元的单位是
7、字节,因此用来表示数据类型的长度的单位也是字节。2023/3/23-14-北京邮电大学信息与通信工程学院第14页/共135页2.2 2.2 基本数据类型基本数据类型数据类型与内存空间特定数据类型在内存中占用的内存因机器的不同而不同整型int的长度等于机器的字长:16位机:int=2字节;32位机:int=4字节。2023/3/23-15-北京邮电大学信息与通信工程学院第15页/共135页2.2 2.2 基本数据类型基本数据类型数据类型与内存空间如果需要编写可移植性好的程序,应将整型声明为short或long。因为short和long表示的数据长度是固定的,任何支持标准C+的编译器都是如此。-1
8、6-2023/3/23北京邮电大学信息与通信工程学院第16页/共135页2.2 2.2 基本数据类型基本数据类型例2-1 打印各种数据类型的长度 编写一个程序,输出基本数据类型char,int,float,double,bool的长度。提示:使用sizeof(数据类型)能够获取不同数据类型的长度。-17-2023/3/23北京邮电大学信息与通信工程学院第17页/共135页/例2-1 显示各种数据类型的长度#include using namespace std;void main()coutchar :sizeof(char)字节n;coutint :sizeof(int)字节n;coutfl
9、oat:sizeof(float)字节n;coutdouble:sizeof(double)字节n;coutbool :sizeof(bool)字节n;-18-在32位机上运行结果 char :1字节 int :4字节 float :4字节 double :8字节 bool :1字节2023/3/23北京邮电大学信息与通信工程学院第18页/共135页2.3 2.3 变量和常量变量和常量-19-北京邮电大学信息与通信工程学院2023/3/23第19页/共135页2.3 2.3 变量和常量变量和常量概述 程序所处理的数据不仅分为不同的数据类型,而且每种类型的数据还分为变量和常量。程序在运行中就是通
10、过这些变量和常量来操作数据的。2023/3/23-20-北京邮电大学信息与通信工程学院第20页/共135页2.3 2.3 变量变量什么是变量?在C+中,变量是存储信息的地方。变量的实质是内存中的一个地址空间,在这个地址空间中可以进行数据的存储和读取。2023/3/23-21-北京邮电大学信息与通信工程学院第21页/共135页定义变量的格式数据类型 变量名1,变量名2,变量名n;例如:定义各种类型的变量 intnum;floatf;charch;shorts;doublearea,length;2023/3/23-22-2.3 2.3 变量变量北京邮电大学信息与通信工程学院第22页/共135页2
11、.3 2.3 变量变量定义变量的实质例如:intnum;系 统 根 据 所 指 定 的 数 据 类 型 int,从 地 址xxxxxxxH开始,为变量num分配4个字节单元。变量num的取值范围为2312311。2023/3/23-23-北京邮电大学信息与通信工程学院第23页/共135页2.3 2.3 变量变量定义变量的实质例如:intnum;编程时,可以直接使用变量名num对存储在该内存空间的数据,也就是变量值进行存取。变 量 名 和 地 址xxxxxxxH之间的对应关系由系统来管理。2023/3/23-24-北京邮电大学信息与通信工程学院第24页/共135页2.3 2.3 变量变量几点说明
12、 在创建或定义变量时,需要指明该变量的数据类型和名称。数据类型:决定变量的存储方式和可以进行的操作;变量名称:用来区分不同的变量。2023/3/23-25-北京邮电大学信息与通信工程学院第25页/共135页2.3 2.3 变量变量几点说明在C+程序中使用变量,必须“先定义或声明,后使用”,而且只能定义一次。变量定义语句的位置,C+中没有要求,放在第一次使用该变量之前的任何位置均可以。2023/3/23-26-建议:把变量定义语句放在首次使用它的地方,这样可以提高程序的可读性。北京邮电大学信息与通信工程学院第26页/共135页2.3 2.3 变量变量变量的命名遵循标识符定义的规则,常用的命名约定
13、有三种:1、Unix环境常用的命名法my_age、num_of_student2、驼峰式命名法myAge、numOfStudent3、匈牙利标记法iMyCar、bIsRight2023/3/23-27-北京邮电大学信息与通信工程学院第27页/共135页2.3 2.3 变量变量变量的赋值 使用赋值运算符“=”可以将一个值赋给变量。例如:unsignedshortage;age=18;也可以在定义变量的同时进行初始化:unsignedshortage=18;或 unsigned short age(18);2023/3/23-28-北京邮电大学信息与通信工程学院第28页/共135页2.3 2.3
14、变量变量变量的赋值 我们可以一次定义多个相同数据类型的变量,也可以一次为多个变量初始化:charch1=a,ch2=b;intheight=10,width=6,area;2023/3/23-29-特性:变量可以被多次赋值,但每次赋值后,原值都会被新值覆盖。北京邮电大学信息与通信工程学院第29页/共135页2.2.3 3 变量变量例2-2 赋值运算符的使用#includeusingnamespacestd;voidmain()intmyAge=18;cout“myAge=”myAgeendl;myAge=20;cout“myAge=”myAgeendl;-30-2023/3/23北京邮电大学信
15、息与通信工程学院运行结果:myAge=18 myAge=20第30页/共135页2.3 2.3 变量变量typedef 为已有的数据类型定义一个同义词,或者叫做别名。格式:typedef 原类型名 新类型名;例如:typedef unsigned short int UINT16 UINT16 i;2023/3/23-31-注意:typedef语句并没有定义一个新的数据类型,只是声明了原有数据类型的一个别名。北京邮电大学信息与通信工程学院第31页/共135页2.3 2.3 常量常量常量 常量代表一个固定的值。严格来说,常量又分成符号常量和常数。符号常量:是用标识符表示的常量;常数:程序中使用的
16、具体的数据。2023/3/23-32-北京邮电大学信息与通信工程学院第32页/共135页2.3 2.3 常量常量符号常量 C+中提供了一个关键字const,用来区分常量和变量。由于常量在程序运行过程中不能够被改变,所以要求常量在定义的时候必须进行初始化。符号常量的定义格式:const 数据类型 常量名=常量值;例如:const float PI=3.14159;2023/3/23-33-北京邮电大学信息与通信工程学院第33页/共135页2.3 2.3 常量常量define关键字 在C语言中使用预编译指令#define也能够定义常量。例如:#definePI3.1415927 说明:该语句属于预
17、编译指令,不属于C+语句,因而行尾不需要使用分号。并且由于C+是向下兼容的,因而C语言的程序能够在C+的编译器下顺利运行。但是在C+编程中,建议使用const替代#define定义常量。2023/3/23-34-北京邮电大学信息与通信工程学院第34页/共135页2.3 2.3 常量常量编程时使用符号常量可以增强程序的可读性可以增强程序的可维护性2023/3/23-35-北京邮电大学信息与通信工程学院第35页/共135页2.3 2.3 常量常量整型常数 C+中的整型常数可以使用多种数制十进制数:100 8进制数:0144 16进制数:0 x64整型常数默认是int类型用 U或u表示无符号整型,如
18、65535U。用 L或l表示长整型,如123L。2023/3/23-36-北京邮电大学信息与通信工程学院第36页/共135页2.3 2.3 常量常量实型常数1、小数形式 例如:0.123、23.12 2、指数形式表示形式:aEb代表数值:a10b例如:123e5或123E5=123105 2023/3/23-37-注意:b必须是十进制整数,a可以是十进制整数或者小数形式的实数,并且数字a和b都不可以省略北京邮电大学信息与通信工程学院第37页/共135页2.3 2.3 常量常量实型常数实型常数默认为double型可用后缀 F(f)表示实数常数为float型。可用后缀L(l)表示实数常数为long
19、double型。2023/3/23-38-北京邮电大学信息与通信工程学院第38页/共135页2.3 2.3 常量常量字符常数 1、用单引号扩起来的一个字符,例如:a、?。2、转义字符 以开头的字符序列,代表特殊的意义。例如:n、t、”2023/3/23-39-北京邮电大学信息与通信工程学院第39页/共135页a0 x07bell(响铃)n0 x0A换行r0 x0D回车t0 x09制表符v0 x0B垂直跳格b0 x08Backspace0 x5C0 x22双引号0 x27单引号ooo1-3位8进数xhh1-2位16进数2023/3/23-40-北京邮电大学信息与通信工程学院第40页/共135页例
20、例2 2-3 3:打印特殊字符:打印特殊字符#includeusingnamespacestd;voidmain()cout“输出字母:”aaendl;cout“输出字母:”nn;运行结果:输出字母:a (蜂鸣器响一声)输出字母:n (换行)2023/3/23-41-北京邮电大学信息与通信工程学院第41页/共135页2.3 2.3 常量常量字符常数反斜线还可以和13位八进制数或以x开始的12位十六进制数结合表示任何ASCII字符。例如:例2-3中的输出还可以写为cout“输出字母:”x61x07endl;cout“输出字母:”x6Ex0A;2023/3/23-42-北京邮电大学信息与通信工程学
21、院第42页/共135页2.3 2.3 常量常量字符数据的存储在内存中,字符数据以ASCII码存储,可看成是单字节整数表示,所以,C+中字符数据和整数可以相互赋值。例2-4 字符数据和整型数据的转换2023/3/23-43-北京邮电大学信息与通信工程学院第43页/共135页/例2-4:同样数据的不同输出#includeusingnamespacestd;voidmain()intn=a;charch=97;cout”按整数输出内容:”nendl;cout”按字符输出内容:”chendl;运行结果:按整数输出内容:97 按字符输出内容:a注意:变量在输出时,根据其本身的数据类型进行输出。2023/
22、3/23-44-北京邮电大学信息与通信工程学院第44页/共135页2.3 2.3 常量常量字符串常量由一对双引号括起来的字符序列。例如:“howdoyoudo?”“helloworld!”2023/3/23-45-北京邮电大学信息与通信工程学院第45页/共135页2.3 2.3 常量常量字符串常量在内存中的存储字符串常量在内存中除了存储所包含字符外,还需要存储一个结束符0。一个字符数据在内存中占用1字节的空间。2023/3/23-46-注意:字符串“A”与字符A的不同北京邮电大学信息与通信工程学院第46页/共135页2.3 2.3 常量常量思考:字符串“x07Operatingtsystem”
23、有几个字符?显示结果如何?2023/3/23-47-北京邮电大学信息与通信工程学院第47页/共135页2.3 2.3 常量常量逻辑常数 逻辑型常数只有两个:false(假)和true(真)。在显示器上显示为0和1。2023/3/23-48-北京邮电大学信息与通信工程学院第48页/共135页2.4 2.4 运算符和表达式运算符和表达式第49页/共135页2.4 2.4 运算符和表达式运算符和表达式1、表达式2、语句和块3、运算符 赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、条件运算符、逗号运算符2023/3/23-50-北京邮电大学信息与通信工程学院第50页/共135页2.4 2.
24、4 运算符和表达式运算符和表达式表达式 变量、常量是存放数据的地方,那么在C+语言中这些数据是如何处理和计算的呢?在C+语言中将变量、常量和运算符有机结合在一起组成的就是表达式,利用表达式C+可以进行复杂的运算和处理。2023/3/23-51-北京邮电大学信息与通信工程学院第51页/共135页2.4 2.4 运算符和表达式运算符和表达式表达式 表达式是操作符、操作数和分隔符号组成的序列。操作符:+-*/等 操作数:变量、常量、数组等 表达式总能返回一个值作为表达式的结果。2023/3/23-52-北京邮电大学信息与通信工程学院第52页/共135页2.4 2.4 运算符和表达式运算符和表达式表达
25、式例如:3.2/简单表达式,值为3.22+3/常量表达式,值为5a/简单表达式,值为变量a的值x=(a+b)*c/较为复杂的表达式y=x=a+b/表达式是可以嵌套的2023/3/23-53-北京邮电大学信息与通信工程学院第53页/共135页2.4 2.4 运算符和表达式运算符和表达式语句和块 由表达式和结尾的“;”组成一个C+语句。多条C+语句通过大括号括起来,组成一个块语句。一般来说属于同一个逻辑关系的多条语句组成块语句。2023/3/23-54-北京邮电大学信息与通信工程学院第54页/共135页2.4 2.4 运算符和表达式运算符和表达式语句和块例如:实现将变量x和y交换的语句块intte
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 第二
限制150内