正确的程序应该是: main() { float f; int i=15; f=i/2.0; } 也可直接将i定义为浮点数 。5.2 关系运算符和逻辑运算符 一、逻辑运算符 逻辑运算符是指用形式逻辑原则来建立数值间关系的符号 。
Turbo C的逻辑运算符如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 操作符 作用 ————————————————————————————— && 逻辑与 || 逻辑或 ! 逻辑非 ━━━━━━━━━━━━━━━━━━━━━━━━ 。
3.C语言中三目运算符是什么三目运算符为a?b:c即有三个参与运算的量 。由条件运算符组成条件表达式的一般形式为:
表达式1? 表达式2: 表达式3
其求值规则为:如果表达式1的值为真,则以表达式2 的值作为条件表达式的值,否则以表达式2的值作为整个条件表达式的值 。条件表达式通常用于赋值语句之中 。
例如条件语句:
if(a>b) max=a;
else max=b;
可用条件表达式写为 max=(a>b)?a:b; 执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max 。
使用条件表达式时,还应注意以下几点:
1. 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符 。因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
2. 条件运算符?和:是一对运算符,不能分开单独使用 。
3. 条件运算符的结合方向是自右至左 。
例如:
a>b?a:c>d?c:d应理解为
a>b?a:(c>d?c:d) 这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条
件表达式 。
void main(){
int a,b,max;
printf("\n input two numbers: ");
scanf("%d%d",&a,&b);
printf("max=%d",a>b?a:b);对于你的问题,可以理解为if() 语句一;else 语句二;a? b : c若无疑问 请采纳
}
用条件表达式对上例重新编程,输出两个数中的大数 。
4.c++三目运算符怎么用三目运算符是?:结构的运算
所谓三目就是需要三个变量对能进行运算的操作
举个简单的例子:
a=2>1?3:4
可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分
像上面那个2>1成立,所以就执行了a=3
这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0
【三目运算符怎么写】year=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)