C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.

Slides:



Advertisements
Similar presentations
1 第二讲 C++ 编程基础. 2 主要内容 C++ 语言概述 C++ 编程基础 数据的简单输入输出 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境.
Advertisements

第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
1.某生物个体经减数分裂产生4种类型的配子,即Ab∶aB∶AB∶ab=4∶4∶1∶1,这个生物如自交,其后代中出现显性纯合体的几率是
C++程序设计 王希 图书馆三楼办公室.
資料大樓 --談指標與陣列 綠園.
函數(一) 自訂函數、遞迴函數 綠園.
C++程序设计 第二讲 清华大学软件学院.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第四章 数组及自定义数据类型 C++语言程序设计.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Object-Oriented Programming in C++ 第一章 C++的初步知识
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
计算机网络讲义 第5章 批量数据处理—数组 一维数组 排序和查找 二维数组 字符串.
第二章 基本元素、类型和概念 七、输出函数printf 八、输入格式转换函数scanf.
第二章 C++对C 在非面向对象方面的改进 更简洁,更安全.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++程序设计 string(字符串类) vector(容器类).
C++语言程序设计 第二章 C++简单程序设计.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
明解C++教學手冊 柴田望洋 博士 著 書號:PG20269
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
六、函数 教学目标: 函数的概念、定义、调用和返回 带自定义函数的程序设计 递推算法 递归思想及算法实现 函数的参数传递方式 C语言程序设计.
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
第二章 基本数据类型及运算 C数据类型概述 基本数据类型 运算符和表达式 混合运算与类型转换 数据的输入输出 顺序程序设计举例.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C++语言程序设计 C++语言程序设计 第五章 函数 第十一组 C++语言程序设计.
Java變數 2014/6/24.
第2章 数据类型及表达式 本章导读 本章主要知识点 《 C语言程序设计》 (Visual C++ 6.0环境)
第 二 章 数据类型、运算符与表达式.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
保留字與識別字.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
物件導向程式設計 CH2.
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计 李祥 QQ:
九年级 上册 22.3 实际问题与二次函数 (第1课时).
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第三章 程序的控制结构 第一节 概述 第二节 if选择结构 第三节 switch语句.
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
THE C PROGRAMMING LANGUAGE
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握C程序中常用的运算符和表达式 了解数据类型的转换.
第二章 基本数据类型 ——数据的表示.
C/C++基礎程式設計班 C++: 物件的使用、參考、重載函式 講師:林業峻 CSIE, NTU 3/28, 2015.
#include <iostream.h>
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
C++语言程序设计 C++语言程序设计 第十章 多态 第十一组 C++语言程序设计.
第十二章 位运算.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
直线系应用.
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
目录 12.1 位运算符 12.2 位域(位段) 1.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
C++语言程序设计 C++语言程序设计 第十一章 异常处理 C++语言程序设计.
變數與資料型態  綠園.
資料!你家住哪裏? --談指標 綠園.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计

“ 目录 C++语言程序设计 基本知识 编程技能 刨根问底 C++的词法记号和标识符 等于号和双等于号 基本数据类型 sizeof运算符 变量和常量 运算符和表达式 C语言的输入输出 C++的输入输出 等于号和双等于号 sizeof运算符 输出的格式控制 使用string类型处理字符串 磁盘文件是什么 C++语言程序设计

基本知识 a C++语言程序设计

2.4 运算符和表达式 表达式 操作数与运算符(操作符)序列 表达式的值:运算结果 例如: C++语言程序设计 3.2 //简单表达式,值为3.2 2+3 //常量表达式,值为5 a //简单表达式,值为变量a的值 x=(a+b)* c //较为复杂的表达式 y=x=a+b //表达式是可以嵌套的 C++语言程序设计

2.4 运算符和表达式 语句 语句块(复合语句) C++语言程序设计 由表达式和结尾的“;”组成一个C++语句 例如: y=x=a+b ; 语句块(复合语句) 由{ } 括起来的语句序列 例如:实现将变量x和y交换的语句块 { int temp = x; x = y; y = temp; } C++语言程序设计

2.4 运算符和表达式 运算符 C++提供了丰富的运算符 运算符的含义:取决于操作数的类型 运算符的优先级和结合性 C++语言程序设计 优先级:决定了运算顺序,例如:1+2*3 结合性:优先级相同的运算按照结合性来确定运算顺序,例如:1+2+3 使用圆括号可以改变运算顺序,例如:(1+2)*3 C++语言程序设计

2.4 运算符和表达式 C++语言程序设计

2.4 运算符和表达式 运算符分类——根据操作数个数 运算符分类——根据运算性质 一元操作符:仅需要一个操作数的运算符,例如:+ 二元操作符:需要两个操作数的运算符,例如:+ 三元操作符:需要三个操作数的运算符,只有条件运算符:?: 运算符分类——根据运算性质 赋值运算符、算术运算符、复合赋值运算符、关系运算符、逻辑运算符、位运算符、条件运算符、逗号运算符…… C++语言程序设计

2.4 运算符和表达式 赋值运算符 赋值运算符优先级、结合性 “=”是赋值运算符 例如:f=3.15、x=y 表达式的值:左边操作数的值 “=”具有较低级别的优先级 “=”的结合性为:右结合 注意: 赋值运算符“=”不等同于数学意义上的等于号“=” 例如: float x, y; int a,b; const float PI=3.14; x = 3.5; //正确 y = x; //正确 a=b=100; //正确 PI=x; //错误 3.5 = x; //错误 y+2 = x-10; //错误 C++语言程序设计

2.4 运算符和表达式 算术运算符 “/”除法运算符 “%”取余运算符 C++语言程序设计 一元:+(正号)、-(负号)、++(自增)、--(自减) 二元:+(加)、-(减)、*(乘)、/(除)%(取余) “/”除法运算符 根据操作数的类型,决定运算规则 例如: 5/2,表达式的值为:2 5.0/2.0,表达式的值为:2.5 “%”取余运算符 只能对整数类型进行操作 余数的符号由被除数决定 C++语言程序设计

2.4 运算符和表达式 例:“/”和“%”运算符的使用 C++语言程序设计 运行结果: a=-4 b=3 a/b= -1 (float)a/b= -1.33333 a%b= -1 b%a= 3 // “/”和“%”运算符的使用 #include <iostream> using namespace std; void main() { int a= -4, b= 3; cout<<"a="<<a<<" b="<<b<<endl; cout<<"a/b=" <<a/b<<endl; cout<<"(float)a/b="<< (float) a/b<<endl; cout<<"a%b=" <<a%b<<endl; cout<<"b%a=" <<b%a<<endl; } C++语言程序设计

2.4 运算符和表达式 ++(自增)--(自减)运算符 操作数加1(减1)的简短实现方式,例如:i=i+1(i=i-1) 分为: 前置自增(自减) 操作数加1(减1),表达式的值为操作数修改后的值 后置自增(自减) 操作数加1(减1),表达式的值为操作数修改前的值 C++语言程序设计

2.4 运算符和表达式 例:“++”前、后置自增运算符对比 C++语言程序设计 运行结果: // “++”前、后置自增运算符对比 #include <iostream> using namespace std; void main() { int i=0, j=0, a, b; ++i ; j++ ; cout<<"i="<<i <<" , j="<<j<<endl; a=++i ; b=j++ ; cout<<"a="<<a<<" , b="<<b<<endl; } 运行结果: i=1 , j=1 i=2 , j=2 a=2, b=1 C++语言程序设计

2.4 运算符和表达式 复合赋值运算符 算术运算优先级 将算术运算符和赋值运算符结合 包括:+=、-=、*=、/=、%= 语法格式:a op b,相当于:a = a op b op: +,-,*,/、% 算术运算优先级 例如:x *= y+8 相当于:x =( x * (y+8)) 高 +(正号)、-(负号)、++、-- *、/、% +(加)、-(减) +=、-=、*=、/=、%= 低 C++语言程序设计

2.4 运算符和表达式 算术运算的溢出问题 算术运算时,如果运算结果超出了其类型能够表示的的数值范围,就会产生溢出 溢出时,运算结果是错误的,但编译器不会发现溢出错误 溢出的解决:选择表示数值范围更大的数据类型 例如: short int i=20000, j=30000, k; cout<<(k=i+j)<<endl; 运行结果: -15536 例如: int i=20000, j=30000, k; cout<<(k=i+j)<<endl; 运行结果:50000 修改为 溢出了! C++语言程序设计

2.4 运算符和表达式 关系运算符 包括: 关系表达式的值:bool值 C++语言程序设计 >(大于)、>=(大于等于)、<(小于)、<=(小于等于) ==(等于)、!=(不等于) 关系表达式的值:bool值 true: 运算符指定的关系成立 false: 运算符指定的关系不成立 例如: int a=1,b=2; cout<<(a ==b)<<endl; //false,显示为:0 cout<<(a !=b)<<endl; //true,显示为:1 cout<<(a >=b)<<endl; //false,显示为:0 C++语言程序设计

2.4 运算符和表达式 逻辑运算符 包括:!(逻辑非)、&&(逻辑与)、||(逻辑或) 操作数:bool型 表达式的值:bool值 !:操作数的值为true,则为:false;操作数的值为false,则为:true &&:两个操作数的值都为true,则为:true;否则为:false ||:两个操作数的值都为false,则为:false;否则为:true 例如要表示条件: a>b>c 逻辑表达式为:(a>b) && (b>c) C++语言程序设计

2.4 运算符和表达式 关系、逻辑运算的优先级 C++语言程序设计 ! <、<=、>、>= ==、!= && || 高 ! <、<=、>、>= ==、!= && || 低 例如: int a=1, b=2, x=3, y=4; bool d; d= a<b && x>y ; //计算过程 cout<< d<<endl; //显示为:0 C++语言程序设计

2.4 运算符和表达式 位运算符 按位求反运算“~” 对整型数按二进制位进行位操作 包括:~(位求反)、&(位与)、|(为或)、^(位异或)、 <<(左移)、>>(右移) 操作数:整数 按位求反运算“~” 将操作数的每一个二进制位按位取反 例如: unsigned char a=0x97; a = ~a ; 1 1 C++语言程序设计

2.4 运算符和表达式 按位与运算“&” 两个操作数对应的位进行与运算:如果对应的位都为1,则该位 操作结果为:1,否则为:0 例如: unsigned char a=0x97; unsigned char b=0x78; unsigned char r=a & b; 1 1 1 C++语言程序设计

2.4 运算符和表达式 按位或运算“|” 两个操作数对应的位进行或运算:如果对应的位都为0,则该位 操作结果为:0,否则为:1 例如: unsigned char a=0x97; unsigned char b=0x70; unsigned char r=a & b; 1 1 1 C++语言程序设计

2.4 运算符和表达式 按位异或运算“^” 两个操作数对应的位进行异或运算:如果对应的位只有一个为1,则操作结果为:1,否则为:0 例如: unsigned char a=0x97; unsigned char b=0x70; unsigned char r=a & b; 1 1 1 C++语言程序设计

2.4 运算符和表达式 左移运算“<<” 将左操作数向左移动若干位(由右操作数指定), 最低位移入:0,移出的最高位丢弃 例如: unsigned char a=7; a<<1; a<<2; 1 1 1 C++语言程序设计

2.4 运算符和表达式 右移运算“>>” 将左操作数向右移动若干位(由右操作数指定), C++语言程序设计 左操作数为无符号数:最高位移入“0”,移出的最低位丢弃 左操作数为有符号数: 最高位移入“符号位”,移出的位丢弃 例如: unsigned char a=8; a<<1; a<<2; 1 1 1 例如: char a= -8; a<<1; a<<2; 1 1 1 C++语言程序设计

2.4 运算符和表达式 复合赋值运算符 位运算优先级 将位运算符和赋值运算符结合 包括:&=、|=、^=、<<=、>>= 语法格式:a op b, 相当于:a = a op b op: &,|,^,<<、>> 位运算优先级 ~ <<、>> & ^ | &=、^=、|=、<<=、>>= 高 低 C++语言程序设计

2.4 运算符和表达式 条件运算符“?:” C++中唯一的三元操作符 语法格式:表达式1 ? 表达式2 : 表达式3 语法格式:表达式1 ? 表达式2 : 表达式3 计算表达式1的值,如果结果为true,则计算并返回表达式2的值, 否则,计算并返回表达式3的值 例如: int x=3, y=5; cout<<(x>y? x: y)<<endl; 运行结果:5 C++语言程序设计

2.4 运算符和表达式 逗号运算符“,” 语法格式:表达式1, 表达式2, ……表达式n 顺序计算表达式1,表达式2,……,表达式n的值,并将 表达式n的值作为逗号表达式的值 例如: int a, b, c, d; d=(a=1, b=2, c=a+b, a+b+c); cout<<d<<endl; 运行结果:6 C++语言程序设计

2.4 运算符和表达式 数据类型转换 当表达式中出现多种数据类型的混合运算时,往往需要进行类型转换 表达式中的类型转换分为: 隐式类型转换 强制类型转换 当表达式中需要进行数据类型转换时,编译器按照相关转换规则自动执行的类型转换 在表达式中使用强制类型转换操作符实现的类型转换 C++语言程序设计

2.4 运算符和表达式 隐式类型转换 算术运算的转换基本原则 赋值运算的转换基本原则 C++语言程序设计 将精度较低、范围较小的类型转换成精度较高、范围较大的类型 同一种精度的无符号数和有符号数,有符号数转换成无符号数 例如: 5.0 / 2 赋值运算的转换基本原则 如果两个操作数的类型不一致,则将右操作数 的类型转换成左操作数的类型 例如: int i; i=3.15; cout<<i<<endl; //运行结果:3 C++语言程序设计

2.4 运算符和表达式 隐式类型转换 逻辑运算的转换基本原则 bool类型转换为整数的基本原则 C++语言程序设计 逻辑运算符要求操作数为bool类型,如果操作数为其他类型,则转换成bool类型 0 转换成 false,非0 转换成 true 例如: 3 && 0 bool类型转换为整数的基本原则 true 转换成 1, 将 false 转换成 0 C++语言程序设计

2.4 运算符和表达式 C语言的强制类型转换运算符“( )” 语法格式:类型名 (表达式) 或者 (类型名) 表达式 C++语言程序设计 语法格式:类型名 (表达式) 或者 (类型名) 表达式 例如: int i=97; double f=3.15; cout<< char (i)<<“ “<< (int) f<<endl; 运行结果: a 3 C++语言程序设计

C++的强制类型转换运算符 static_cast<类型名> 2.4 运算符和表达式 C++的强制类型转换运算符 static_cast<类型名> 语法格式: static_cast<类型名> (表达式) 对于不允许进行的类型转换, 当使用 static_cast运算符时,编译时会报错; 当使用C语言的强制类型转换运算符时,编译不会报错,但运行时会出错 例如: int i=97; double f=3.15; cout<< static_cast<char> (i)<<“ “ << static_cast<int> (f)<<endl; 运行结果: a 3 C++语言程序设计