2.2 变量与赋值
预习课本P88~93,思考并完成以下问题
(1)变量的含义与表示是什么?
(2)赋值语句的格式是什么?它的作用是什么?
1.变量
在研究问题的过程中可以取不同数值的量称为变量.
2.赋值语句的格式
(1)赋值语句的一般格式是:变量=表达式.
(2)格式中右边“表达式”可以是一个数据、常量和算式,如果“表达式”是一个算式时,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“=”左边的变量.如a=1,b=2,c=a+b是指先计算出a+b的值3,再把3赋给c,而不是将a+b赋给c.
(3)赋值语句左边只能是变量名字,而不是表达式,如x=5是对的,5=x是错误的,A+B=C也是错误的,而C=A+B是正确的.
3.赋值语句的作用
赋值语句的作用是将表达式所代表的值赋给变量.赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量的原值,即将原值“冲掉”.如:N=N+1,在数学中是不成立的,但在赋值语句中,意思是将N的原值加1再赋给N,此时左边N的值就是原来N的值加1,如N原来是7,则执行N=N+1后,N的值变为8.
[点睛] 赋值语句中的“=”称为赋值符号,而不是“等号”.
1.判断正误.(正确的打“√”,错误的打“×”)
(1)赋值语句中的“=”称为赋值号,而不是等号.( )
(2)赋值语句是把赋值号左边变量的值赋给赋值号右边的表达式.( )
(3)在算法语句中,赋值语句是最基本的语句.( )
答案:(1)√ (2)× (3)√
2.下列赋值语句正确的是( )
A.a+b=5 B.5=a
C.a=b=2 D.a=a+1
解析:选D 赋值语句只能给变量赋值,不能给表达式赋值,也不能对多个变量赋值且变量名一定要在赋值号的左边.
3.赋值语句描述的算法如下:
a=3
a=5
输出a
则运行结果是( )
A.5 B.3
C.a D.8
解析:选A 此算法中用到了赋值语句.虽然a=3是把3赋给a,但是接下来的语句a=5,又把5赋给a,赋值语句中变量取的是最后的值,所以输出a的值为5.
赋值语句的结构
[典例] 下列赋值语句正确的是( )
A.A=B=2 B.x+y=m
C.a2+b2=5 D.N=N+2
[解析] 赋值语句的一般格式是:变量=表达式,格式中右边的“表达式”可以是一个数据、常量或算式.赋值符号的左边只能是变量名字,而不能是表达式,故B、C不对.一个赋值语句只能给一个变量赋值,不能出现两个或多个“=”,故A不对,只有选项D符合赋值语句的写法规则.
[答案] D
赋值号左边只能是变量名称,而不能是表达式;赋值号右边可以是一个常量、变量或含变量的表达式.
[活学活用]
观察下列赋值语句,写法正确的个数是( )
①x=2y+z;
②x=3;y=4;z=5;w=7;
③x+y=7;
④y=M.
A.1 B.2
C.3 D.4
解析:选C ①②④符合赋值语句的格式,正确;③不正确,赋值号左侧不能是表达式.
赋值语句的算法功能
[典例] 写出下列语句描述的算法的输出结果:
(1)a=5;
b=3;
c=;
d=c2;
输出d.
(2)a=1;
b=2;
c=a-b;
b=a+c-b;
输出a,b,c.
(3)a=10;
b=20;
c=30;
a=b;
b=c;
c=a;
输出a,b,c.
[解] (1)∵c===4,
∴c2=42=16,即d=16.
∴该语句输出结果为16.
(2)∵c=1-2=-1,b=a+c-b=1-1-2=-2,
∴a=1,b=-2,c=-1.
∴该语句输出结果为:1,-2,-1.
(3)由a=b及b=20知a=20,
由b=c及c=30知b=30,
由c=a及a=20知c=20,
∴a=20,b=30,c=20.
∴该语句输出结果为20,30,20.
在解决与赋值语句有关的题目时,一定要明确赋值语句的作用,尤其是涉及对变量多次赋值时,应以最后一次所赋的值为最终要输出的值.
[活学活用]
将两个数a=15,b=64交换,使a=64,b=15,下列赋值语句中正确的一组是( )
A B C D
解析:选B 先把b的值赋给中间变量c,这样c=64,再把a的值赋给变量b,这样b=15,最后把c的值赋给变量a,这样a=64.
利用赋值语句描述算法
[典例] 用赋值语句写出用公式法求一元二次方程x2-5x+6=0的根的算法,并画出算法框图.
[解] 算法步骤如下:
1.a=1,b=-5,c=6;
2.p=-;
3.q=;
4.x1=p+q,x2=p-q;
5.输出x1,x2.
算法框图如图所示.
利用赋值语句描述算法应注意的问题
(1)两个或多个变量的设置一般是利用已有的公式,使用赋值语句,这样算法的表述就变得非常简洁和清晰.
(2)对一个变量可以多次赋值,其值是最后一次所赋的值.
[活学活用]
已知某同学某三科的成绩分别为80分、75分、95分,画出求这三科成绩的总分及平均分的算法框图.
解:算法框图如图所示.
[层级一 学业水平达标]
1.下面一段算法执行后输出结果是( )
A=2;
A=A2;
A=A+6;
输出A.
A.2 B.8
C.10 D.18
解析:选C 由赋值语句的特点,按步骤执行算法可得A=2→A=22=4→A=4+6=10.
2.下列语句能使变量a的值为4的是( )
A.a=4 a=a+4 B.b=4 b=a
C.a=3 a=a+1 D.a=a+4
解析:选C 对于选项A可知变量a的值为8,B中,a不是变量,D中变量a的值不确定.只有C正确.
3.下列算法语句执行后的结果是( )
i=2;
j=5;
i=i+j;
j=i+j;
输出i,j.
A.i=12,j=7 B.i=12,j=4
C.i=7,j=7 D.i=7,j=12
解析:选D 算法中i=i+j是2+5=7赋值给i,j=i+j是7+5=12赋值给j.
4.读如图所示的框图,得出其算法功能是________.
答案:求实数a,b的和
[层级二 应试能力达标]
1.输入a=5,b=12,c=13,经下列赋值语句运行后,a的值仍为5的是( )
A. B.
C. D.
解析:选C 对于选项A,先把b的值赋给a,a的值又赋给b,这样a,b的值均为12;对于选项B,先把c的值赋给a,这样a的值就是13,接下来是把b的值赋给c,这样c的值就是12,再又把a的值赋给b,所以a的值还是13;对于选项C,先把a的值赋给b,然后又把b的值赋给a,所以a的值没变,仍为5;对于选项D,先把b的值赋给c,这样c的值是12,再把a的值赋给b,于是b的值为5,然后又把c的值赋给a,所以a的值为12.于是可知选C.
2.下列赋值语句正确的是( )
A.m+n=2 016 B.2 016=m
C.m+2 016=m D.m=m+2 016
解析:选D 由赋值语句的格式可知m=m+2 016正确.
3.在如图所示的算法语句中输入x=1 000,y=2,则输出的结果M是( )
输入 x,y
M=2]
A.2 004 B.2 006
C.2 007 D.2 008
解析:选D M=2×1 000+4×2=2 008.
4.阅读如图所示的算法框图,若输入的a,b,c分别是21,32,75,则输出的a,b,c分别是( )
A.75,21,32 B.21,32,75
C.32,21,75 D.75,32,21
解析:选A x=a=21,a=c=75,c=b=32,b=x=21.
∴输出a,b,c的值分别为75,21,32.
5.阅读如图所示的算法框图,则输出的结果是________.
解析:y=2×2+1=5,
b=3×5-2=13.
答案:13
6.如下所示的算法语句运行结果为________.
解析:由赋值语句a=2,b=3,c=4,a=b,b=c+2,c=b+4知,赋值后,a=3,b=6,c=10,所以d===.
答案:
7.已知水果店的三种水果标价为香蕉2元/kg,苹果3元/kg,梨2.5元/kg.店主为了收款的方便设计了一个算法如图,则算法框图横线上应填________.
答案:x+y+z
8.下列语句运行后,a,b,c的值各等于什么?
(1)a=3 (2)a=3
b=-5 b=-5
c=8 c=8
a=b a=b
b=c b=c
输出a,b,c c=a 输出a,b,c
解:(1)把b的值-5赋给a(取代a原来的值),把c的值8赋给b(取代b原来的值),c的值不变.所以最后结果为-5,8,8.
(2)把b的值-5赋给a,c的值8赋给b,又把a的新值-5赋给c.所以最后结果为-5,8,-5.
9.已知函数f(x)=x2-1,g(x)=2x+3,设计算法框图,求f(g(1))+g(f(-1))的值.
解:如图所示.
课时跟踪检测(十一) 变量与赋值
1.输入a=5,b=12,c=13,经下列赋值语句运行后,a的值仍为5的是( )
A. B.
C. D.
解析:选C 对于选项A,先把b的值赋给a,a的值又赋给b,这样a,b的值均为12;对于选项B,先把c的值赋给a,这样a的值就是13,接下来是把b的值赋给c,这样c的值就是12,再又把a的值赋给b,所以a的值还是13;对于选项C,先把a的值赋给b,然后又把b的值赋给a,所以a的值没变,仍为5;对于选项D,先把b的值赋给c,这样c的值是12,再把a的值赋给b,于是b的值为5,然后又把c的值赋给a,所以a的值为12.于是可知选C.
2.下列赋值语句正确的是( )
A.m+n=2 016 B.2 016=m
C.m+2 016=m D.m=m+2 016
解析:选D 由赋值语句的格式可知m=m+2 016正确.
3.在如图所示的算法语句中输入x=1 000,y=2,则输出的结果M是( )
输入 x,y
M=2]
A.2 004 B.2 006
C.2 007 D.2 008
解析:选D M=2×1 000+4×2=2 008.
4.阅读如图所示的算法框图,若输入的a,b,c分别是21,32,75,则输出的a,b,c分别是( )
A.75,21,32 B.21,32,75
C.32,21,75 D.75,32,21
解析:选A x=a=21,a=c=75,c=b=32,b=x=21.
∴输出a,b,c的值分别为75,21,32.
5.阅读如图所示的算法框图,则输出的结果是________.
解析:y=2×2+1=5,
b=3×5-2=13.
答案:13
6.如下所示的算法语句运行结果为________.
解析:由赋值语句a=2,b=3,c=4,a=b,b=c+2,c=b+4知,赋值后,a=3,b=6,c=10,所以d===.
答案:
7.已知水果店的三种水果标价为香蕉2元/kg,苹果3元/kg,梨2.5元/kg.店主为了收款的方便设计了一个算法如图,则算法框图横线上应填________.
答案:x+y+z
8.下列语句运行后,a,b,c的值各等于什么?
(1)a=3 (2)a=3
b=-5 b=-5
c=8 c=8
a=b a=b
b=c b=c
输出a,b,c c=a 输出a,b,c
解:(1)把b的值-5赋给a(取代a原来的值),把c的值8赋给b(取代b原来的值),c的值不变.所以最后结果为-5,8,8.
(2)把b的值-5赋给a,c的值8赋给b,又把a的新值-5赋给c.所以最后结果为-5,8,-5.
9.已知函数f(x)=x2-1,g(x)=2x+3,设计算法框图,求f(g(1))+g(f(-1))的值.
解:如图所示.