(一)
1.C++能够处理的基本数据类型
整数类型
实数类型
字符类型
布尔类型
2. C++支持的基本运算
算术运算
逻辑运算
C++中的数据输入/输出可以调用预定义的功能模块实现
3.程序的执行流程不总是顺序的,
因此程序要能够
对执行流程进行选择(选择、开关语句)
反复用同一算法依次处理大批量数据(循环语句)
基本数据类型能够表示数据种类很有限
枚举类型:通过列出所以可取值来定义一种新类型
4.C++的特点
1.兼容C,支持面向过程的程序设计
2.支持面向对象的方法
3.支持泛型程序设计方法
5.

6.程序中的数据
①常量
在源程序中直接写明的数据
其值在整个程序运行期间不可改变
②变量
在程序运行过程中允许改变的数据
7.整数类型
基本的整数类型:int
按符号分
1. 符号的(signed )
2. 无符号的(unsigned )
8.

(二)
一.算术运算符和算术表达式
1.基本的算术运算符
+(加法运算符,或正值运算符。如3+5, +3)
-(减法运算符,或负值运算符。如5-2,-3)*
(乘法运算符。如35)
/(除法运算符。如5/3)
%(模运算符,或称求余运算符,%两侧均应为整型数据,如7%4的值为3)。*
需要说明,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分。但是, 如果除数或被除数中有一个为负值,则舍人的方向是不固定的。例如,-5/3在有的 C+系统上得到结果-1,有的C++系统则给出结果-2,多数编译系统(包括Visual C++ 6.0)采取“向零取整”的方法,即5/3的值等于1,-5/3的值等于-1,取整后向零 靠拢。
如果参与+,-, ,/运算的两个数中有一个数为float型数据,则运算的结果是 double型,因为C++在运算时对所有float型数据都按double型数据处理。
2.算术表达式和运算符的优先级与结合性
用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C++语法规则的 式子,称为C++算术表达式。运算对象包括常量、变量、函数等。例如,下面是一个合法 的C++算术表达式:

a * b/c-1.5+a
C++语言规定了运算符的优先级和结合性。在求解表达式时,先按运算符的优先约 别高低次序执行,例如先乘除后加减。如有表达式a-bc,b的左侧为减号,右侧为 号,而乘号优先于减号,因此,相当于a-(bc),如果在一个运算对象两侧的运算符白 优先级别相同,如a-b+c,则按规定的"结合方向”处理。
C++规定了各种运算符的结合方向(结合性),算术运算符的结合方向为“自左3 右”,即先左后右,因此b先与减号结合,执行a-b的运算,再执行加c的运算。“自左3 右的结合方向”又称“左结合性”,即运算对象先与左面的运算符结合。附录B列出了月 有运算符以及它们的优先级别和结合性。
3.表达式中各类数值型数据间的混合运算
在表达式中常遇到不同类型数据之间进行运算,如
10 +‘a’+1.5-8765. 1234 ‘b’
在进行运算时,不同类型的数据要先转换成同一类型,然后进行 double hoat 运算。
纵向的箭头表示当运算对象为不同类型时转换的方向。例 intcharshort 如int型与double型数据进行运算,先将int型的数据转换成 图2.7 double型,然后在两个同类型(double型)数据间进行运算,结果为double型。注意箭头 方向只表示数据类型级别的高低,由低向高转换。不要理解为int型先转换成unsigned int型,再转成long型,再转成double型。如果一个int型数据与一个double型数据运算 是直接将int型转成double型。同理,一个int型与一个long型数据运算,则先将int型转 换成long型。
换言之,如果有一个数据是foat型或double型,则另一数据要先转换为double型, 运算结果为double型。如果参加运算的两个数据中最高级别为long型,则另一数据先转 换为long型,运算结果为long型。其他依此类推。 达式:
假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面表达式:
10 +‘a’+i
f-d/e

运算次序为: 0进行10+a的运算,先将a转换成整数97,运算结果为107。②进行i* f 的运算。先将i与f都转换成double型,运算结果为double型。③整数107与if的积 相加。先将整数107转换成双精度数(小数点后加若干个0,即107 00.000),果为 double型。④将变量e转换成double型,d/e结果为double型。⑤将10+a’+if的结 果与d/e的商相减,结果为double型。
上述的类型转换是由系统自动进行的。
4 .自增(+ +)和自减(–)运算符
在C和C++中,常在表达式中使用自增(++ )和自减(–)运算符,它们的作用是使 变量的值增1或减1,如:
++i(在使用i之前,先使i的值加1,如果i的原值为3,则执行j=++i后j的值为4)
–i (在使用i之前,先使i的值减1,如果i的原值为3,则执行j=–i后,j的值为2)
i++ (在使用i之后,i的值加1,如果i的原值为3,则执行j=i++后,j的值为3,然 后i变为4)
i–(在使用i之后,使i的值减1,如果i的原值为3,则执行j=i–后,j的值为3, 然后i变为2)
粗略地看,++i和i++的作用相当于i=i+1,但++i和i++不同之处在于++i是 先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。如
i=3;
cout<<++i;
输出4。如果改为
cout<<i+++;
则输出3。
二.赋值运算符和赋值表达式
1.复合赋值运算符
在赋值符“-“之前加上其他运算符,可以构成复合运算符。如果在“=”前加一个 “+”运算符就成了复合运算符“+=”。例如,可以有
a+=3 等价于a=a+3
x
=y+8 等价于x=x*(y+8)
x%=3 等价于x=x%3
以“a+=3”为例来说明,它相当于使a进行一次自加3的操作。即先使a加3,再赋 给a。同样,“X*=y+8"的作用是使x乘以(y+8),再赋给x。
为便于记忆,可以这样理解:
①a+=b (其中a为变量,b为表达式)
②a+=b (将有下划线的“a+”移到“="右侧)
③а=a+b (在“=“左侧补上变量名a)
注意,如果b是包含若干项的表达式,则相当于它有括号。如
①x%=y+3
6 ②x% =(y+3)
③x =x%(y+3)(不要错认为x=x%y+3)
凡是二元(二目)运算符,都可以与赋值符一起组合成复合赋值符。C++可以使用以 下几种复合赋值运算符,即 +=,-=, =,/=,%=, <<=, >>=,&=,∧
=,l=。后5种是有关位运算的
2.赋值表达式
由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”.
它的一般形式为
变量=表达式
如"a=5"是一个赋值表达式。对赋值表达式求解的过程是:先求赋值运算符右侧的“表 达式”的值,然后赋给赋值运算符左侧的变量。一个表达式应该有一个值,例如,赋值表 达式“a=3
5"的值为15,执行表达式后,变量a的值也是15 。
赋值运算符左侧的标识符称为“左值” (left value,简写为Ivalue)。并不是任何对象 都可以作为左值的,变量可以作为左值,而表达式a+b就不能作为左值,常变量也不能作左值,因为常常量不能被赋值。出现在赋值运算符右侧的表达式称为“右值”(right value,简写为rvalue)。显然作业值也可以出现在赋值运算符右侧,因而左值都可以作为右值。
C++将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形式出现在其他语句(如输出语句、循环语句等)中。

C++简单程序设计第二章笔记相关推荐

  1. wi ndows ap i,windows程序设计第二章Unicode简介.doc

    windows程序设计第二章Unicode简介.doc Unico?de简介 在第一章中,我已经预告?,C语言中在?Micro?soft Windo?ws程序设?计中扮演着?重要角色的?任何部分都?会 ...

  2. python程序设计第二章序列类型 题库及选解

    由于学校的python是笔试,所以找了份感觉比较好的题库刷了下其中前八章的填空和判断,附上选解.各章链接如下 python程序设计题库完整版 https://blog.csdn.net/lijia11 ...

  3. c语言程序设计 算法,C语言程序设计第二章算法

    <C语言程序设计第二章算法>由会员分享,可在线阅读,更多相关<C语言程序设计第二章算法(38页珍藏版)>请在人人文库网上搜索. 1.C程序设计,主讲人:袁丽,燕大里仁基础教学部 ...

  4. c语言程序设计第二章的答案,C语言程序设计第二章作业参考答案

    C语言程序设计第二章作业参考 <C语言程序设计>第2章作业 布置日期:2017-10-23 截止日期:2017-11-3 一.单选题(每小题4分,共100分) 1.以下说法中正确的是___ ...

  5. 《Spring Recipes》第二章笔记:Creating Beans by Invokin...

    2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Creating Beans by Invoking an Insta ...

  6. 《Spring Recipes》第二章笔记:Customizing Bean Initiali...

    2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Customizing Bean Initialization and ...

  7. 算法图解第二章笔记与习题(选择排序)

    算法图解第二章笔记与习题(选择排序) 文章目录 算法图解第二章笔记与习题(选择排序) 2.2 数组和链表 2.2.1 链表 2.2.2 数组 2.2.3 数组和链表的读取.插入和删除操作的时间复杂度 ...

  8. Cadence SIP Layout 简单教程-第二章

    [从whp1920 网易博客迁移至CSDN] 第一章在正式布线之前做了必须做的准备工作,下面进入正题,打开Candence SIP RF Layout GXL软件. 第一节 导入外形尺寸 打开SIP设 ...

  9. c语言编程区分负号与减号,C语言程序设计第二章.ppt

    C语言程序设计第二章 C语言编程习惯 (1) 一行只放一条语句. (2) 养成随时给程序加注释的习惯. (3) 程序的书写要有层次感,该缩进的一定要缩进. (4) 编写函数时,变量定义部分和函数的执行 ...

最新文章

  1. GBDT算法原理深入分析
  2. 2017-12-25 Linux学习笔记
  3. 解决SSH连接出现 Software caused connection abort 的问题
  4. 数据库中文乱码问题的解决
  5. kali 解决Metasploit拿到shell后显示中文乱码问题
  6. java按照字节切割字符串,解决汉字的问题
  7. python程序打包为exe可执行文件
  8. 利用Hook技术实现键盘监控
  9. java中res是什么意思_java中的set是什么意思
  10. 开启Mac原生NTFS支持
  11. 利用matlab使用窗函数,Matlab中窗函数的简单使用
  12. 总结: C++ 中如何把输出结果写入到文件中
  13. 1、流程控制语句switch 2、数组 3、随机点名器案例
  14. 苹果Mac文件夹样式设计工具:Folder Designer
  15. 网络流24题-骑士共存问题
  16. 使用win10远程控制ubuntu16.04
  17. Xposed框架的使用--简单入门
  18. feedburner怎么用_FeedBurner 不能用了,还有 FeedSky,附个相关插件
  19. Exchange 2007统一消息服务器功能概述
  20. 2021阿里淘系工程师推荐书单

热门文章

  1. OS | 哲学家问题
  2. 【华为ICT大赛2022-2023-----云赛道】加分项-沙箱实验流程及实验步骤
  3. VVVF(恒压频比)控制学习
  4. android quicken模式,火爆全网的安卓优化神器:让APP秒启动、续航更强
  5. 计算物理中matlab处理微分方程解析解和欧拉法数值解的算法演示
  6. 有关属性离散化算法CACC的补充说明
  7. 汽车驾驶自动化分级L1~L5
  8. HDU 2100 Lovekey
  9. 使用After Effects制作抖音短视频
  10. css通过计算得出width