西交《程序设计基础》(三) C语言语句与结构化程序的三种基本结构

发布时间:2024-01-10 09:01:33浏览次数:14
西交《程序设计基础》(三) C 语言语句与结构化程序的三种基本结构一、如何理解给变量赋初值、变量的初始化、赋值表达式这三个不同的概念?1)给变量赋初值:就是在定义变量的同时,或者变量定义之后给变量进行赋值。(包含了变量初始化这一层面) 例 1:int i=0,j=0,k=0; 例 2:int i,j,k;i=0;j=0;k=0 2)变量初始化:在变量定义的同时赋以初值的方法,称之为变量初始化。 例:int i=0,j=0,k=0; 但是在变量的初始化声明中不允许连续赋值。 例:int i=j=k=0; 这句是错误的。由于表达式 i=j=k=0,可以理解为 i=(j=(k=0)),显然,j 和 k 变量还未声明变量类型,就要去赋值和接受赋值,显示是不合法的。 3)赋值表达式:由赋值运算符“=”连接的式子称之为赋值表达式。一般形式为:变量 =表达式。赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性。 例: int i,j,k; i=j=k=0; 因为表达式 i=j=k=0 等价于 i=(j=(k=0))。因为 i,j,k 三个变量都已经预先声明为 int 型了,是合法的赋值运算,所以是正确的! 二、对赋值表达式和赋值语句有些迷糊,他们有很大的区别吗?赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。下述语句是合法的: if((x=y+5)>0) z=x; 语句的功能是,若表达式 x=y+5 大于 0 则 z=x。下述语句是非法的: if((x=y+5;)>0) z=x; 因为=y+5;是语句,不能出现在表达式中。三、为什么说 int a=b=C=5 是错误的?这个问题涉及到在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分 , 赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。在变量说明中,不允许连续给多个变量赋初值。所以 int a=b=C=5 必须写为 int a=5,b=5,C=5; 而赋值语句允许连续赋值。
文档格式: docx,价格: 5下载文档
返回顶部