C语言除了提供常规的几种运算符外,还有一些特殊用途的运算符,它们在编程中虽然不是必须用的,但是恰当地运用它们会给编程带来很多方便,在此介绍常用的逗号运算符和条件运算符。
1.逗号运算
C语言还提供了一种被称为逗号运算符的特殊运算符(,),用它可将两个表达式连接起来,这被称为逗号表达式。它的一般形式为:
表达式1,表达式2,…,表达式n;
逗号表达式的运算过程是:先算表达式1,再算表达式2,依次算到表达式n。整个逗号表达式的值是最后一个表达式的值。如有逗号表达式a=3*8,a+2;则先求a=3*8,得24,然后求解a+2,得26,故整个逗号表达式的值为26。
提示:
逗号表达式的结合性从左向右,它的优先级是最低的。
2.条件运算
条件运算符是C语言的唯一的三目运算符,即它需要3个数据或表达式构成条件表达式。它的一般形式为:
表达式1?表达式2:表达式3
如果表达式1成立,则表达式2的值是整个表达式的值,否则表达式3的值是整个表达式的值,如图2-3所示。
图2-3 程序流程图
例如,将a、b两个变量中大者放到变量max中,我们就可以利用条件运算来完成:max=a>b?a:b。
提示:
条件运算符的结合方向为从右往左。
例如:a>b?a:b>c?b:c等价于a>b?a:(b>c?b:c)。
【例2.11】求三个数中的最大数。
程序如下:
运行结果:
3,4,5↙
a=3,b=4,c=5,max=5
综合案例引入和本节C语言运算符和表达式知识,C语言有丰富的运算符,这是它的一大优点,它的缺点在于,各种运算符的优先级、结合性以及使用规则较为繁杂,不易记忆。总结如下:
1.世界人口的膨胀,环境的污染造成淡水资源的短缺,我国的水资源问题尤为突出。同学们要从自己做起,从身边的小事做起,尽自己的努力爱护我们生活的地球,保护淡水资源。(www.daowen.com)
2.学习C语言的初期重点要放在掌握语言的语法和规定上,一定要养成良好的编程习惯,平时写程序注意语法规范格式控制,养成认真严谨,一丝不苟的好习惯,这是学好C语言的基础。
1.在C语言中,不同运算符之间运算次序存在( )的区别,同一运算符之间运算次序存在( )的规则。
2.C语言中的逻辑值“真”是用( )表示的,逻辑值“假”是用( )表示的。
3.若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为( )。
4.设x=2.5,a=7,y=4.7,则x+a%3*(int)(x+y)%2/4为( )。
5.设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y的值为( )。
6.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。
A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算 D.关系运算、算术运算、赋值运算
7.设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是( )。
A.0,0 B.0,1 C.1,0 D.1,1
8.以下程序的输出结果是( )。
A.10 10 B.12 12 C.11 10 D.11 13
9.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是( )。
A.200 B.100
C.100 200 D.输出格式符不够,输出不确定的值
10.输入圆的半径,计算圆的周长和面积。π的值取两位小数,即3.14(备注:祖冲之推算出圆周率的真值应该介于3.141 592 6和3.141 592 7之间,比欧洲要早1 000多年)。
11.小王买了两种颜色的气球共45个,其中黄色气球比蓝色气球多5个,请编程求解小王各买了几个气球?
12.鱼塘里养了鲢鱼和草鱼共3 559条,如果鲢鱼增加100条,草鱼减少60条,那么草鱼的条数比鲢鱼的条数的2倍少一条,编程计算原来鲢鱼和草鱼各有多少条?
13.美国男孩詹姆斯从小向往东方文明,立志来中国留学。现在他攒了5 000美金,请帮他计算他能兑换多少人民币?已知一美元兑换人民币6.28元。
14.“鸡兔同笼”是我国古代著名趣题之一。大约在1 500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。