招生考试网
学历类| 阳光高考 美术高考 研究生 自考 成人高考 专升本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 论文 驾照考试 书法等级 少儿英语 报检员 单证员 教案 专题 考试资讯 文档
 3773考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

2013计算机等级考试二级《C语言》复习:第二章第6节

来源:2exam.com 2013-1-26
2013计算机等级考试二级《C语言》复习:第二章第6节
算术表达式

  是由算术运算符和括号连接起来的式子, 以下是算术表达式的例子:

  a+b (a*2)/c (x+r)*8-(a+b)/7 ++i sin(x)+sin(y) (++i)-(j++)+(k--)

  赋值运算符和赋值表达式

  简单赋值运算符和表达式,简单赋值运算符记为“=”。由“= ”连接的式子称为赋值表达式。其一般形式为: 变量=表达式 例如:

  x=a+b

  w=sin(a)+sin(b)

  y=i+++--j 赋值表达式的功能是计算表达式的值再赋予左边的变量。赋值运算符具有右结合性。因此

  a=b=c=5

  可理解为:

  a=(b=(c=5))

  在其它高级语言中,赋值构成了一个语句,称为赋值语句。 而在C中,把“=”定义为运算符,从而组成赋值表达式。 凡是表达式可以出现的地方均可出现赋值表达式。例如,式子x=(a=5)+(b=8)是合法的。它的意义是把5赋予a,8赋予b,再把a,b相加,和赋予x ,故x应等于13。

  在C语言中也可以组成赋值语句,按照C语言规定, 任何表达式在其未尾加上分号就构成为语句。因此如x=8;a=b=c=5;都是赋值语句,在前面各例中我们已大量使用过了。

  如果赋值运算符两边的数据类型不相同, 系统将自动进行类型转换,即把赋值号右边的类型换成左边的类型。具体规定如下:

  1.实型赋予整型,舍去小数部分。前面的例2.9已经说明了这种情况。

  2.整型赋予实型,数值不变,但将以浮点形式存放, 即增加小数部分(小数部分的值为0)。

  3.字符型赋予整型,由于字符型为一个字节, 而整型为二个字节,故将字符的ASCII码值放到整型量的低八位中,高八位为0。

  4.整型赋予字符型,只把低八位赋予字符量。

  void main(){

  int a,b=322;

  float x,y=8.88;

  char c1='k',c2;

  a=y;

  x=b;

  a=c1;

  c2=b;

  printf("%d,%f,%d,%c",a,x,a,c2);

  }

  int a,b=322;

  float x,y=8.88;

  char c1='k',c2;

  printf("%d,%f,%d,%c",a=y,x=b,a=c1,c2=b);

  本例表明了上述赋值运算中类型转换的规则。a为整型,赋予实型量y值888后只取整数8.x为实型,赋予整型量b值322,后增加了小数部分。字符型量c1赋予a变为整型,整型量b赋予c2 后取其低八位成为字符型(b的低八位为01000010,即十进制66,按ASCII码对应于字符B)。

  复合赋值符及表达式

  在赋值符"="之前加上其它二目运算符可构成复合赋值符。如:

  +=,-=,*=,/=,%=,《=,》=,&=,^=,|=. 构成复合赋值表达式的一般形式为: 变量 双目运算符=表达式 它等效于 变量=变量 运算符 表达式 例如: a+=5 等价于a=a+5 x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p

  复合赋值符这种写法,对初学者可能不习惯, 但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码。逗号运算符和逗号表达式在

  逗号运算符

  C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。

  其一般形式为: 表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。

  void main(){

  int a=2,b=4,c=6,x,y;

  x=a+b,y=b+c;

  printf("y=%d,x=%d",y,x);

  }

  a<--2,b<--4,c<--6,x<--0,y<--0

  x<--a+b,y<---b+c

  本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。对于逗号表达式还要说明两点:

  1.逗号表达式一般形式中的表达式1和表达式2 也可以又是逗号表达式。例如: 表达式1,(表达式2,表达式3) 形成了嵌套情形。因此可以把逗号表达式扩展为以下形式: 表达式1,表达式2,…表达式n 整个逗号表达式的值等于表达式n的值。

  2.程序中使用逗号表达式,通常是要分别求逗号表达式内各表达式的值,并不一定要求整个逗号表达式的值。

  3.并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。

  [Practice] //arithmeticint a,b,c;

  float d;

  a=11;

  b=235;

  c=a+b-a*b;

  d=(float)c/(float)a;

  a=c/a;'Vtable

  a,2,0

  b,2,0

  c,2,0

  d,4,0.0

  of Vtable

  'Vupdate

  1,0;2,0;3,0

  4,0.0

  1,11

  2,235

  3,-2339

  4,-212.636368

  1,-212

  of Vupdate

  of Practice

  [Practice] //1int a,b,c1,c2;

  a=25;

  b=3243;

  c1=b/a;

  c2=b%a;'Vtable

  a,2,0

  b,2,0

  c1,2,0

  c2,2,0

  of Vtable

  'Vupdate

  1,0;2,0;3,0;4,0

  1,25

  2,3243

  3,129

  4,18

  of Vupdate

  of Practice

  [Practice] //1int a,b,c;

  a=25;

  b=40;

  c=a+b,c+35;'Vtable

  a,2,0

  b,2,0

  c,2,0

  of Vtable

  'Vupdate

  1,0;2,0;3,0

  1,25

  2,40

  3,65

  of Vupdate

  of Practice

  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章
    推荐文章
  • 此栏目下没有推荐文章

  • 报名考试全国   黑龙江   吉林   辽宁   内蒙古   青海   宁夏   甘肃   新疆   陕西   西藏   北京   天津   河北   山东   江苏   安徽   河南
    上海   浙江   福建   广东   山西   湖南   湖北   江西   广西   海南   云南   贵州   四川   重庆
    分省高校计算机考试黑龙江   吉林   辽宁   内蒙古   河北   北京   天津   新疆   甘肃   宁夏   青海   陕西   山西   河南   山东   江苏   安徽   浙江
    福建   广东   海南   广西   江西   湖北   湖南   四川   上海   重庆   贵州   云南   西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导计算机一级   计算机二级   计算机三级   计算机四级
    经验交流
    高校计算机

    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号