怎样的赋值语句是合法的,赋值语句怎样正确表达

首页 > 实用技巧 > 作者:YD1662024-01-28 09:57:25

一、赋值

1.赋值运算符含义是将一个数据赋值给一个变量。其一般的形式为:变量名=表达式

例如 :a=12、a=b c、a=sqrt(7)等在C语言程序里是合法的,但“=”左边为表达式,“=”右边为变量名只是不被编译器所允许的表达式。

注意:C语言中,赋值运算的操作是有方向的,即将右侧表达式的值(也称为右值)赋值左侧的变量,只能是标识一个特定存储单元的变量名。

由于变量名只能出现在赋值运算符的左边,因此它也被称为左值;由于常量只能出现在赋值运算符的右边,因此它也被称为右值。左值可以用作右值,但右值不能用作左值。

赋值运算符的优先级低于算术运算符、关系运算符以及逻辑运算符。由于赋值表达式的值被规定为运算完成后操作数的值,类型与左操作数相同,且赋值运算符的结合性为右结合,因此,C语言还允许这样的赋值形式:

变量1=变量2=变量3=……=变量n=表达式

这种形式称为多重赋值表达式,一般用于多个变量赋予同一个值。由于赋值运算符是右结合,因此执行是把表达式值依次赋给变量n,……,变量1,即上面的形式等价于

变量1=(变量2=(变量3 (……=(变量n=表达式)……)))

2.复合的赋值运算符,其形式如下:

变量 二元运算符=表达式等价于变量=变量 二元运算符 表达式

涉及算数的复合运算符,即 =、-=、*=、/=、%=、&=、|=、^=、<<=、>>=。这种形式更直观,执行效率更高些。

小贴士:将赋值表达式n*=m 4按照n=n*m 2来运算是错误的,事实上应按n=n*(m 2)来运算。

二、C语句的分类

怎样的赋值语句是合法的,赋值语句怎样正确表达(1)

1.控制语句。C语言只有9种控制语:

if~else for()~ continue

switch while ~goto

break do~while return

2.变量定义语句。由类型关键字后变量名,如“int a,b,c;”。值得注意的是,变量定义语句不是可执行语句。它只是将某些信息传递给编译器,通知编译器变量的类型是什么,以便编译器为其预留出相应的大小存储空间,因为不同类型的变量在内存中占据的存储空间大小不同。

3.表达式语句。由表达式后接一个分号构成的语句。

4.函数调用语句。表达式必须是有值的,而函数调用不一定是用返回值。在C语言中,没有专门的输入和输出语句,输入和输出操作通常通过调用输入和输出函数实现。

5.复合语句。两条或两条以上的语句序列,用一对花括号括起来构成的语句。

6.空语句。只有一个分号构成的语句,表示什么也不做,过渡作用。

二、表达式语句

顺序结构是最简单的程序结构。在顺序结构程序中,程序的执行是按照语句书写的顺序来完成,赋值操作是顺序结构中最常见的操作。在C语言中,没有专门的赋值语句赋值操作通常使用赋值表达式后接一个分号(;)构成赋值表达式语句实现。例如“C=100;”这是一个赋值语句表达式。

1.复合语句

两条或两条以上语句序列,用一对花括号括起来构成的语句,称为复合语句,也叫语句块,其形式:

{

语句一;

语句二;

语句N;

}

例如

{

a ;

t=a*2;

y--;

}

在逻辑上形成一个整体,在语法上等同于一条语句,可被当作一条语句来处理,这样就为程序设计带来便利。

2.空语句

在表达语句中,如果没有任何表达式而只是一个分号,则称为空语句,其形式如

; //空语句

自动跳过,不起任何作用。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.