《基本数据类型》PPT课件.ppt_第1页
《基本数据类型》PPT课件.ppt_第2页
《基本数据类型》PPT课件.ppt_第3页
《基本数据类型》PPT课件.ppt_第4页
《基本数据类型》PPT课件.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章 基本数据类型,类型的作用 标识符命名风格 常量与变量 基本数据类型 运算符与表达式 隐式类型转换与强制类型转换 简单的输入输出,2.1 数据类型概述 一、类型,C+语言中,用八进制、十六进制与十进制表示数据。 十进制: A = 496 在计算机中的 八进制:以0前导 A = 0760 存储形式都是 十六进制:以0x前导 A = 0x1F0 111110000 数据类型:具有相同特性的所有数据的集合。用它来说明一个数据在数据分类中的归属。,二、类型的作用,数据类型:决定了数据的表示方式、占内存的空间大小、取值范围以及对数据可以使用的操作。 C+中,所有的数据都属于特定的类型 遵循“先声明、后使用”的原则,三、C+语言的类型,在对类型的要求上程序设计语言分两类: 强类型:编译时严格检查操作是否满足数据所属类型 弱类型: C+语言介乎强与弱类型之间 C+数 据类型,2.2 保留字、标识符、常量与变量,一、单词 C+程序中有五种单词:保留字、标识符、常量、运算符和分界符(包括空格、制表符、回车换行、注释、分号)。 二、保留字 、标识符 C+程序中使用标识符对程序中的各个元素加以命名。标识符是由字母或下划线开头的字母、数字与下划线的序列。 C+程序中区分大小写,例如Account和account是两个不同的标识符。 选择合适的标识符,一个简单的C+语言程序,#include void main( ) const float PI = 3.14 ; float Area; float r = 2 ; Area = PI * r * r ; /计算圆的面积 cout“The area is : “Area ; 输出结果: The area is 12.560000,三、常量与变量 1、常量,常量:在程序的执行过程中,其值不能被改变的量称为常量 常量区分为不同的类型 整型常量: 10; 20; t = 5 ; 浮点型常量: -1.2 字符常量: A; ch = B; 字符串常量: “Avafjfkslfjskljf” 符号常量: 用标识符表示的常量,#define 常量名 常量值 宏定义预处理命令 例1: #define PI 3.14159 main( ) float Area; float r = 1.5; Area = PI*r*r; const 数据类型 标识符名 = 常量值; 例2: main( ) const float PI = 3.14159; float Area,r = 1.5; Area = PI*r*r; ,2、变量:在程序执行过程中其值可以改变的量称为变量,C+程序中,所有变量都须先定义后使用 变量定义的方法 数据类型 变量名( = 初值 ); 可连续定义同一类型的多个变量 int a,b,c; int a; int b; int c; 变量通过赋值运算改变其值 Area = PI * r *r ; A = 2 * 10 ;,四、简单的输入输出,输出:将程序中的数据送到外部设备称为程序的输出 输入:程序从外部设备获得一个变量的值称为输入 C+语言的输入输出 利用库iostream实现简单的输入输出 使用iostream提供的库函数前,须加入: #include 输出:cout输入变量; 例:cin r ;,注意:,由双引号括住的东西不经任何处理就输出,否则就输出变量或表达式的值。,2.3 基本数据类型 一、基本数据类型 (字宽:占内存的空间大小),浮点数据的有效位,在C+程序中,单精度浮点型数据的表示以6位小数为准 标准显示6位小数 例:a = 1234.567890; 但是由于存储空间的限制,单精度浮点数在存储时只存7位有效位, 即a的值存为1234.567,当输出a的值时,显示1234.567xxx,小数点的后3位是随机数。,二、转义字符,用单引号括起来的单个字符是字符型常量 a b 使用转义字符来表示单引号本身、以及ASCII码表中的控制字符(不可见字符) 转义字符的表示方法:用单引号括住,以反斜杆开头,C+语言预定义的转义字符,八进制的表示:ddd 1到3位八进制数所代表的字符 十六进制的表示: xdd 1到2位十六进制数所代表的字符,例1: char ch; ch = n; coutch; / 输出回车 例2: 表示单引号 表示反斜杆 例3:字符常量A的表示方法: Ch=A; Ch=65; 八进制表示法 Ch=101; Ch=0101; 十六进制表示法 Ch=x41; Ch=0x41; 若coutch; 则都输出字符A,三、字符串常量,字符串常量是括在双引号内的字符序列,简称字符串。 例如: “This is a string constant.“ “His name is “John“.n“ “注意:x07n张三正在开会。n“ 如:cout“n“computer“is“;输出形式: “computer“is 如果用cout “n“computer“is“ ;则出错,语法错。,应用举例,例1输入矩形的长和宽,求面积 include void main() /操作系统把main函数执行当调用一个 / 函数,要求执行完后返回一个值 float width,length,area; coutlength; coutwidth; arealength*width; cout“n Area(length*width)=”arean; ,2.4 运算符与表达式 一、概念,运算:对基本数据类型的常量与变量进行加工的过程 运算符:表示各种不同运算的符号 操作数:参与运算的数据 表达式:由操作数和运算符按一定语法形式组成的符号序列。每个表达式经过运算后都会产生一个确定的值(这一运算过程又称为表达式求值),称为表达式的值。 C+语言的基本运算包括:算术运算( + - * / )、关系运算( )、赋值运算等,按操作数的个数,运算符分为: 单目运算符(一元) 双目运算符(二元) 三目运算符(三元) 运算符的优先级:运算符是按优先级的高低决定其运算次序 例:先乘除后加减 a+b*c 运算符的结合性:对于同一优先级的运算符,其运算次序由运算符的结合性决定 例:x+y-z = (x+y)-z 表达式的求值次序:由表达式中各种运算符的优先级与结合性决定 括号内的运算先做 优先级高的运算先做 同一优先级的按结合性进行,二、C+语言的运算符,例: a=,例:a=3, b=4, c=5 1)a+bc&b=c 2) a|b+c&b-c 3)!(a+b)+c-1&b+c/2,=(a+b)c)&(b=c) = 0,=a|(b+c)&(b-c) = 1,=(!(a+b)+c-1)&(b+c/2) = 1,运算级的优先性,a*iter+; 等价于 a*(iter+); 因为+运算符优先于* int j; j=a*iter+; j=a*+iter; while ( i = get_value( ) != 42) ,!= 优先 = 良好的习惯: 除非是非常简单直观的四则运算,否则应该尽量 使用括号消除表达式中求值的二义性.,主要应用 例1 演示位运算 #include main() unsigned char bit1=0x5A,bit2=0xB7; /声明两个无符号字 / 符类型变量并初始化 cout3 is:“3)n; coutdec; / 以十进制输出 ,程序运行后的输出结果为: bit1&bit2 is:12 bit1&0x20 is:0 bit1&0xDF is:5a bit1|bit2 is:ff bit1|0x20 is:7a (bit1bit2)bit2 is:5a bit13 is:b bit1先转为2的类型(运算中发生隐式转换), 即 int,例2 演示sizeof运算 include void main() const float pi=3.14;char ch=0x5A;int i; cout”(1)”sizeof(pi)”n”; /pi为float,结果为4 cout”(2)”sizeof(ch)”n”; /ch为char,结果为1 cout”(3)”sizeof(ch /浮点常量为double,结果为8 最后输出形式: (1)4 (2)1 (3)1 (4)4 (5)8,2.5 类型之间的关系 一、隐式类型转换,当表达式中存在不同类型的操作数时,为对这个表达式进行求值,编译程序需要对其中的部分操作数自动进行类型转换,将它们都变换为表达式中操作数的“最大”类型,以保证运算符两边的类型是一致的,这种类型转换称为隐式类型转换 数据类型的大小: Long double double float unsigned long long unsigned int int unsinged char char 例: int a = 10; a = a/2.5 ; /做第二个赋值时,a先转为double;然后转为int,对于赋值运算,C+语言规定了不同的类型转换规则: 当赋值表达式左、右两边操作数的类型不一致时,右操作数首先转换为左操作数的类型,然后将转换结果赋值给左操作数,整个赋值表达式的结果类型是左操作数的类型。 例: / 演示隐式类型转换的效果。 #include main() float total_salary; / 声明一个浮点变量 int standing = 35, standing_salary; standing_salary = standing * 1.5;/计算工龄工资 total_salary = 800.00 + standing_salary; cout “Salary : “ total_salary n; /standing先转为double;然后结果standing_salary转为int,二、强制类型转换,两种形式 类型名 ( 表达式 ) ( 类型名 ) 表达式 强制类型转换具有第二高优先级。 例:已知矩形面积为20、长为8,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论