C++课件C++_第二章_第1页
C++课件C++_第二章_第2页
C++课件C++_第二章_第3页
C++课件C++_第二章_第4页
C++课件C++_第二章_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1,第二章数据类型和表达式,2.1 标识符 2.2 基本数据类型 2.3 常量和变量 2.4 运算符和表达式 2.5 基本输入输出,2,关键字:C+预定义的单词 标识符:程序员声明的单词,它命名程序正文中的一些实体 操作符:用于实现各种运算的符号 注释:段注释 /*/ 和 行注释 /,2.1 标识符,标识符的构成规则 字母或下划线(_)开始。 可以由以大写字母、小写字母、下划线或数字09组成。,举例: sum、ab、_sum、c2、num、name、score、_total3、sum_1、day、week。 +sum、a?c、23ab、$c、#rt、*w1,3,常用的关键字分类: 1. char,short,int,long,float,double,bool, false,true,unsigned(数据类型) 2. switch, case, default, do, while, if,else, for, break, continue, return,(程序结构) 3. class,private,protected,public,virtual(类) 4. new,delete,sizeof(动态内存) 5. typedef,enum,struct,union(复杂数据类型) 6. extern,static,const,void,friend,inline, namespace,operator,template,this(杂),4,2.2 基本数据类型,5,数据类型,6,7,整型:4个字节 实型:4,8个字节 字符型:1个字节 布尔型:1个字节,值为false或true,8,2.3 常量和变量,一、常量 1. 整型常量 (1)十进制整型常量,如236、0、89等。 (2)八进制整型常量,它是以0作为前缀后跟0至7数字,如0145、-0123、0257等。 (3)十六进制整型常量,它是以0x作为前缀后跟0至9数字及A至F字母,如0x12af、-0x12af,字母大小写均可。,9,2. 实型常量 (1)十进制数表示形式,它由数字与小数点组成 0.124、0.0、.214、-0.65、1.42f、-3.25F、0.0f、 (2)指数形式,由数字小数点与E或e组成 1.4521051.452e5或1.452E5 e前后必须有数字且e后必为整数 如e3、4e、1.32e2.5都为不合法的。,10,3.字符型常量 是指用单引号括起来的一个字符。 a、T、A、转义字符等。 一个字符型常量以ASCII形式存储在内存中占一个字节。 4.字符串常量 是用双引号括起来的字符序列,结束标志为0 。 “We are students.”、“123456”、“b”,11,常用的转义字符,12,5.符号常量 (1)const格式 const 数据类型说明符 符号常量名=常量值; 或: 数据类型说明符 const 符号常量名=常量值; (2)#define格式 #define 符号常量名 字符串,13,程序运行结果: 10 s=314.159,【例2-2】求圆的面积。 #include“iostream.h“ const float pi=3.1415926f; void main() float r,s; cinr; s=pi*r*r; cout“s=“s; ,14,(6)逻辑型常量 取值有两个:true为真(1),false为假(0),在内存中占一个字节, 【例2-3】输出逻辑常量的值。 #include“iostream.h“ void main( ) coutfalse“ “trueendl; ,程序运行结果为: 0 1,15,二、变量 就是在程序运行中可以改变的量。C+规定变量必须先定义后使用。 变量的定义形式: 数据类型 变量名1, 变量名2,,变量名n;,16,1. 整型变量 基本整型:用int表示。 短整型:用short int或short表示。 长整型:用long int或long表示。 无符号整型:用unsiged与int、short、long分别组合,17,整型变量分类表,18,(2)整型变量定义 int a,b,c;/将a、b、c定义为基本整型 short e,f;/ 将e、f定义为短整型 long g,h,i;/ 将g、h、i定义为长整型 unsiged int j,k;/ 将j、k定义为无符号整型 unsiged short l,m;/ 将l、m定义为无符号短整型 unsiged long n,p;/ 将n、p定义为无符号长整型,19,2.实型变量 (1)实型变量分类 单精度实型变量,用float表示。 双精度实型变量,用double表示。 长双精度实型变量,用long double表示。,20,(2)实型变量定义 float a,b;/ 将a、b定义为单精度型 double c,d; 将c、d定义为双精度型 long double f,g; 将f、g定义为长双精度型,21,【例2-5】求球的体积。 #include“iostream.h“ const float pi=3.14f; void main() float r; double v; cinr; v=4/3.0*pi*r*r*r; cout“v=“vendl; ,程序运行结果: 10 v=4186.67,22,3.字符型变量 一个字符型变量是用来存放一个字符型常量的。在内存中占一个字节。用char来表示。 C+中字符型数据与整型数据可以通用。 定义型式:char 变量名表 如: char a,b;,23,【例2-6】字符变量的应用。 #includeiostream.h void main( ) char a,b; int c,d; a=65;b=66; c=97;d=98; cout a“ “bendl; a=a+32;b=b+32; cout a“ “bendl; cout (char)c“ “(char)dendl;,执行结果: A B a b a b 97 98 a b 97 98,cout c“ “dendl; c=a;d=b; cout(char)c“(char)dendl; cout c“ “dendl; ,24,4. 逻辑型变量 逻辑型变量它用bool表示,它的取值范围是false或0值与true或非0值,在内存中只占一个字节。 定义形式: bool a,b;,25,【例2-7】逻辑型变量的应用。 #include“iostream.h“ void main() bool a=false,b=true; bool c=0,d=1; couta“ “bendl; coutc“ “dendl; ,程序运行结果为: 1 0 1,26,2.4 运算符和表达式,C+的17种运算符 P25 一、算术运算符 (加或正)、(减或负)、(乘)、/(除)、(求余) (1)算术表达式和它的优先级 +(正)、(负)、/、 同级 同级 同级 高 低,3.2+1.5*0.4/0.3-1.2,27,二、关系运算符 1.关系运算符及优先级 (大于) 高 (大于等于) 同级 (小于) (小于等于) (等于) !(不等于) 低,28,2.关系表达式 用关系运算符与操作对象连接起来的式子为关系表达式。 关系表达式的结果是一个逻辑值。true(真)或false(假)。 例:如若有a=1,b=-2,c=3则有以下表达式: a= =b false (a0)!=c true ca true a+bc false,,29,三、逻辑运算符 1.逻辑运算符及优先级 ! (非) 高 & (与) | (或) 低,30,2.逻辑表达式 由逻辑运算符与操作对象连接起来的式子为逻辑表达式。若逻辑表达式所表示的逻辑关系成立其值为true(真),否则其值为false(假)。 例如: !a 若a为true则!a的值应为false。 a&b 若a、b的值都为true则a&b的值为true。 a|b 若a、b的值有一个为true则a|b的值为true。,31,四、 位操作运算符 1.位运算符及优先级 (取反) 高 (右移),(左移) & (按位与) (按位异或) | (按位或) 低,32,2.位运算表达式 (1)按位与(&) &是将两个操作数的对应位进行与操作。 (2)按位或(|) |是将两个操作数的对应位进行或操作。 (3)按位取反() 是将一个操作数的对应位进行非操作,即是0的变1,是1的变0。,33,(4)按位异或() 是判断两个操作数的对应位是否为不同(即“异“),若为不同取1,否则取0。 利用可以使一个操作数的特定位翻转,可以保留原值,还可以交换两个不同的值。 (5)移位 左移() 是将二进制数右移若干位,结果是低位舍去,若二进制数为正数高位填0。,34,五、赋值运算符 赋值运算符:= 复合赋值运算符:、/、&、!= 表达式 (1)赋值表达式 形式:= (2)复合赋值运算符表达式 形式:a+=2 等价于 a=a+2 a%=2+b 等价于 a=a%(2+b),35,六、其它运算符 1. 强制类型转换运算符和表达式 强制类型转换就是利用强制类型转换运算符将一个表达式转换成所需要的类型。 格式: (类型名)(表达式) 或 (类型名)表达式 或 表达式(类型名),36,【例2-8】强制类型转换应用。 #include“iostream.h“ void main() int a=10; float b=2.369f,c; c=float (a)/4; coutcendl; coutint(b+c)endl; ,程序运行结果为: 2.5 4,37,隐式转换 算术运算和关系运算中如果参与运算的操作数类型不一致,编译系统会自动对数据进行转换(隐含转换),基本原则是将低类型数据转换为高类型数据 当参与运算的操作数必须是bool型时,如果操作数是其它类型,编译系统会自动将非0数据转换为true,0转换为false。 赋值运算要求左值与右值的类型相同,若类型不同,编译系统会自动将右值转换为左值的类型。,38,2.自增自减运算符及表达式 (1)自增自减运算符 (自增)、(自减) (2)表达式 自增 +i表示i先加1后引用i。 i+表示先引用i后对i加1。 自减 -i表示i先减1后引用。 i-表示先引用i后对i减1。,39,4. 条件运算符与条件表达式 (1)运算符 ?: (2)形式 表达式1?表达式2:表达式3 5. 逗号运算符及表达式 (1)运算符 , (2)形式 表达式1,表达式2,表达式n,40,6. 求字节运算符(sizeof) (1)形式 sizeof(类型名) 或 siezof(表达式) (2)作用 用于计算类型或表达式的结果类型在内存中所占的字节数。 例如: sizeof(int) 的值为4 siezeof(3.2+25) 的值为8,41,七、 运算符的优先级 当多个操作数组成复杂的表达式时,哪个运算先被计算哪个后被计算,即优先级。 运算符的优先级顺序可以通过使用括号来控制 结合方向定义了当有同优先级的多个运算符在一起时,哪一个必须被首先运算,最右边的还是最左边的,42,2.5 基本输入输出,一、 I/O的概念 I/O流就是输入或输出的一系列字节。向流中添加数据的操作称为插入操作()。 cin与cout是两个预先定义的流的对象,分别代表标准的输入设备(键盘)与标准的输出设备(显示器)。cin与配合使用,cout与配合使用。 在使用过程中,要在程序的开头嵌入相应的头文件“iostream.h” 。,43,二、标准输出语句 一般格式: cout数据1数据2数据n 说明: 1. cout是系统预定义的一个标准输出设备(一般代表显示器)“”是输出操作符,用于向cout输出流中插入数据。 2. cout的作用是向标准输出设备上输出数据,被输出的数据可以是常量、已有值的变量或是一个表达式。,44,【例2-8】cout语句的使用 #include #include void main() float a=3,b=4; coutThe result is:“; /输出字符串常量 coutsart(a*a+b*b); /输出表达式 ,程序的运行结果为: The result is:5,45,(3)可以在cout输出流中插入C+中的转义字符。 例如: cout“input the value of a :n“; (4)可以将多个被输出的数据写在一个cout中,各输出项之间用“”操作符隔开即可 例如: cout“value of a:“a“value of b:“b“The rexult is :“sqrt(a*a+b*b); 输出结果为 value of a:3 value of b:4 The result is :5,46,(5)一个cout语句也可以拆成若干行书写,但注意语句结束符“;”只能写在最后一行上。 (6)在cout中,实现输出数据换行功能的方法是:既可以使用转义字符“n”,也可以使用表示行结束的流操作符endl。 例如: cout“This is first Line.n“This is second line.“; 可等价地写成 cout“This is first Line.“endl “This is second line.“;,47,(7)在cout中还可以使用流控制符控制数据的输出格式 在使用这些流控制符时,要在程序的开头嵌入头文件”iomanip.h”, 常用的流控制符及其功能如书表2-7所示。,48,【例2-9】 I/O流常用格式操作符。 #include“iostream.h“ #include“iomanip.h“ void main( ) long int a=14,a1,a2,a3; cindeca1; cinhexa2; cinocta3; cout“dec:“decaendl; cout“hex:“hexaendl; cou

温馨提示

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

评论

0/150

提交评论