C语言的条件运算符

来源:互联网 发布:出售数据资源 编辑:程序博客网 时间:2024/06/06 02:12

条件运算符是C语言中类似于if语句的一种特殊运算符,它由符号?:组成,其格式为表达式1?表达式2:表达式3,表达式1、表达式2和表达式3可以是任何类型的表达式。由条件运算符构成的表达式称为条件表达式。条件运算符是C运算符中唯一一个三元运算符,要求3个操作数。

条件表达式的计算步骤是首先计算出表达式1的值,如果其值不为零(即结果为真),则计算表达式2的值并且将其值作为整个条件表达式的值,否则(结果为0,即为假)计算表达式3的值并将其值作为整个条件表达式的值。

条件运算符的优先级高于赋值运算符,但是低于算术运算符、逻辑和关系运算符。

条件运算符使程序更加短小,但有时也使得代码难于阅读,需谨慎使用。

/************************************** * conditional_operator.c             * *                                    * * C语言中的条件运算符                * **************************************/#include <stdio.h>int Max(int i, int j){  return i > j ? i : j;}int main(){  int i = 1;  int j = 2;  int k = 0;  printf("i = %d, j = %d, k = %d\n", i, j, k);  k = i > j ? i : j;  printf("i > j ? i : j的值为: %d\n", k);  k = (i >= 0 ? i : 0) + j;  printf("(i >= 0 ? i : 0) + j的值为: %d\n", k);  k = i >= 0 ? i : 0 + j;  printf("i >= 0 ? i : 0 + j的值为: %d\n", k);  printf("i和j中的最大值 = %d\n", i > j ? i : j);  printf("i和j中的最大值 = %d\n", Max(i,j));  return 0;}

条件运算符

参考文献

  1. K.N. King 著,吕秀峰 译. C语言程序设计-现代方法. 人民邮电出版社
0 0