第三课
常量、变量、运算符及表达式
目
标
常量、变量
运算符
表达式
常量的概念及分类
常量:
是指在程序中使用的一些具体的数、字符。在程序运行过程中,其值不能被更改。如123,145.88,'m',TRUE等。
1、常量的概念及分类
1、整型常量:如3、-5、0等。
整型常量是表示整数的常量。有三种表示形式:
1)十进制形式。如99、-1。
2)八进制形式。以数字0打头,由0-7构成,如012,表示八进制整数12,即12(8)。
3)十六进制形式。以0x打头,如0x12A,表示十六进制整数12A,即12A(16)。
2、实型常量:如3.1、-6.1E+2(科学记数法)。
3、字符常量:是用单引号括起来的字符,如
'k'
、'5'
、'%'。
注意:'a'与"a"表示的含义是不同的,'a'表示一个字符常量,"a"表示一个字符串。
常量
常量是在程序运行过程中,其值保持不变的量。
C++
中定义一个符号常量的格式如下:
类型名
const
常量名
;
或
const
类型名
常量名
;
例如:
int
const
A
=
100;
const
float
PI
=
3.1415926;
使用符号常量是为了方便程序的修改,增强程序的读性。为了更清晰地区别常量和变量,常量名通常用大写字母表示。
Lorem
ipsum
dolor
sit
amet,
consectetur
adipiscing
elit.
Donec
luctus
nibh
sit
amet
sem
vulputate
venenatis
bibendum
orci
pulvinar.
Lorem
ipsum
dolor
sit
amet,
consectetur
adipiscing
elit.
Donec
luctus
nibh
sit
amet
sem
vulputate
venenatis
bibendum
orci
pulvinar.
例:输入半径r,求圆的周长及面积
#include
//调用iostream库,否则使用printf和scanf语句编译出错
using
namespace
std;
//这个程序可省略这行
const
double
PI=3.1415926;
//PI是符号常量。代表3.1415926
int
main()
{
float
r,c,s;
//定义实型变量
printf("r=");
//显示提示符r=
scanf("%f",&r);
//输入r的值,&符号不能漏掉
c=2
PI
r;
//计算圆的周长
s=PI
r
r;
//计算圆的面积
printf("c=%.2f
s=%.2f\n",c,s);
//显示计算结果,结果保留2位小数
}
分析:圆的周长c=2
∏
r,圆的面积s=∏
r
r,在这里=∏是希腊字母,是常量。在程序中定义PI代表常量3.1415926,在编译源程序时,遇到PI就用常量3.1415926代替,PI可以和常量一样进行运算。C++语言规定,每个符号常量的定义占据一个书写行,而且符号常量不能被再赋值。
【说明】:
1、程序中定义的PI代表常量3.1415926,在编译源程序时,遇到PI就用常量3.1415926代替,PI可以和常量一样进行运算。C++语言规定,每个符号常量的定义占据一个书写行,而且符号常量不能被再赋值。如果在上例中使用以下赋值语句是错误的。
PI=3.1415926;
2、习惯上,符号常量名用大写,而变量名用小写,以便于区别。
变量
变量是指在程序运行过程中,其值可以改变的量。
C++
中定义一个变量的格式如下:
类型名
变量名1,
变量名2,…,
变量名n;
例如:
int
sum,total;
double
area;
变量命名规则:
程序中的常量名、变量名、函数名等都称之为“标识符”。C++
中的标识符命名规则如下:
1)
标识符不能和系统里的关键字同名。
2)
标识符只能包括字母、数字和下划线“_”,并且开头只能是字母或下划线。
3)
标识符必须先定义、后使用。
4)
在同一作用域内,标识符不能重复定义。
5)
标识符是区分大小写的,如
A
和
a、sum
和
Sum
都是不同的标识符。
6)标识符要尽量做到“见名知义”,增强程序的可读性。
变量的语法格式:
数据类型
变量表
例如:
int
i=5,j,k;
//定义i,j,k为整型变量,i赋初值为5,j,k的初值未知。
char
a,b,c;
//定义a,b,c为字符变量
float
x,y,z;
//定义x,y,z为实型变量
说明:C++语言允许在定义变量的同时为变量赋初值。
课后训练:温度表达转化。
利用公式C
=
5
(F-32)/9(其中C表示摄氏温度,F表示华氏温度)进行计算转化,输入华氏温度f,输出摄氏温度c,要求精确到小数点后5位。
输入:
输入一行,包含一个实数f,表示华氏温度。(f
>=
-459.67)
输出:
输出一行,包含一个实数,表示对用的摄氏温度,要求精确到小数点后5位。
样例输入:
41
样例输出:
5.00000
Mr.Wang,sum,Day,school_name,a>=b,¥1234
lotus_1_2,sum123_,_day,234NUM,#34,int
例、找出符合C++规则的标识符。
【问题分析】
符合C++规则的标识符有:sum,Day,school_name,
lotus_1_2,sum123_,_day。
#include
using
namespace
std;
int
main(){
int
a;
a
=
3;
cout
<<
a
<<
endl;
a
=
10;
cout
<<
a
<<
endl;
a
=
a
5;
cout
<<
a
<<
endl;
return
0;
}
例2、阅读并上机调试以下程序,观察运行结果,体会变量的含义。
1、2
运算符、标准函数和表达式
1.2
运算符、标准函数和表达式
知识点:
各类运算符的组成及参与运算的优先级;常用标准函数的形式及应用;表达式的概念及不同数据类型之间运算之间的转换。
1.算术运算符
用于各类数值运算。包括加(+)、减(-)、乘(
)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。
⑴模运算符
求余的运算符“%”也称为模运算符,是双目运算符,两个操作数都是整型数。a%b的值就是a除以b的余数,5%2余数为1。其操作对象只能是整型数,而其他四种运算符对int,float,double,char都适用。
⑵除法运算符
C++语言的除法运算符有一些特殊之处,即如果a、b是两个整数类型的变量或常量,那么a/b的值是a除以b的商。例如,
5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是2.5。
⑶自增自减运算符
自增、自减运算符用来对一个操作数进行加1或减1运算,其结果仍然赋予该操作数,而且参加运算的操作数必须是变量,而不能是常量或表达式。
1)自增运算符。例如,x++表示在使用x之后,使x的值加1,即x=x+1;++x表示使用x之前,先使x的值加1,即x=x+1。
2)自减运算符。例如,x--表示在使用x之后,使x的值减1,即x=x-1;--x表示使用x之前,先使x的值减1,即x=x-1。
⑷复合算术赋值。例如,a+=1,相当于a=a+1;
a+=b,相当于a=a+b。
1.2
运算符、标准函数和表达式
1.2.1运算符的分类
1.2
运算符、标准函数和表达式
1.2.1运算符的分类
2.关系运算符
用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种。
关系运算符用于数值的大小比较。包括大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种,它们都是双目运算符。
关系运算符运算的结果是整型,值只有两种:0或1,0代表关系不成立,1代表关系成立。
1.2
运算符、标准函数和表达式
1.2.1运算符的分类
3.逻辑运算符
用于逻辑运算。包括与(&&)、或(||)、非(!)三种。
按照运算符的优先顺序可以得出:
a>b
&&
c>d等价于(a>b)
&&
(c>d)
!b==c||d
a+b>c
&&
x+yc)
&&
((x+y)
逻辑运算的值也为“真”和“假”两种,用“1”和“0
”来表示。其求值规则如下:
1.与运算&&参与运算的两个量都为真时,结果才为真,否则为假。例如,5>0
&&
4>2,由于5>0为真,4>2也为真,相与的结果也为真。
2.或运算||参与运算的两个量只要有一个为真,结果就为真。
两个量都为假时,结果为假。例如:5>0||5>8,由于5>0为真,相或的结果也就为真
3.非运算!参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)的结果为假。
虽然C++编译在给出逻辑运算值时,以“1”代表“真”,“0
”代表“假”。
但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&&3的值为“真”,即为1。又如:5||0的值为“真”,即为1。
1.2
运算符、标准函数和表达式
1.2.1运算符的分类
4.位操作运算符
参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。把数转化为二进制按二进制的位进行运算。
5.赋值运算符
用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,
=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。
1.2
运算符、标准函数和表达式
1.2.1运算符的分类
6.条件运算符
这是一个三目运算符,用于条件求值(?:)。在选择结构中可学到此知识。
7.逗号运算符
用于把若干表达式组合成一个表达式(,)。例如:y=(a=a+1,b=b+1,c=c+1),结果为c的值。
8.指针运算符
用于取内容(
)和取地址(&)二种运算。
9.求字节数运算符
用于计算数据类型所占的字节数(sizeof)。
10.特殊运算符
有括号(),下标[],成员(->,.)等几种。
1.2
运算符、标准函数和表达式
(二)运算符的优先级
算术运算符、关系运算符、逻辑运算符和赋值运算符的优先级如下:
赋值运算符
逻辑运算符
关系运算符
算术运算符
低
高
关系运算符的结合性为:自左至右。
根据以上优先级和结合性,计算出以下表达式的结果(假设a=3,b=2,c=1)
a>b
表达式为真,所以表达式的值为1
(a>b)==c
表达式为真,所以表达式的值为1
b+c表达式为假,所以表达式的值为0
d=a>b
a>b为真,所以d的值为1
f=a>b>c
a>b为真,结果为1,1>c为假,所以f的值为0
例题:
变量自加运算
【参考程序】:
#include
using
namespace
std;
int
main()
{
int
x,y,z1,z2;
x=7;
y=8;
z1=y-(x++);
//计算z1=1,计算后x=8
z2=y-(++x);
//计算前x的值自加1,x的值为9,再与y求差
cout<<"z1="<//分别输出z1和z2的值
}
运行结果:
z1=
z2=
【说明】:
在运行z1=y-(x++),是先算减法,x再自加1,所以结果为1。
在z2=y-(++x),是x选加1,然后再算减法。
PPT模板下载:www./moban/
行业PPT模板:www./hangye/
节日PPT模板:www./jieri/
PPT素材下载:www./sucai/
PPT背景图片:www./beijing/
PPT图表下载:www./tubiao/
优秀PPT下载:www./xiazai/
PPT教程:
www./powerpoint/
Word教程:
www./word/
Excel教程:www./excel/
资料下载:www./ziliao/
PPT课件下载:www./kejian/
范文下载:www./fanwen/
试卷下载:www./shiti/
教案下载:www./jiaoan/
PPT论坛:www.
感谢各位
Thank
you
for
your