?: 在 c语言中的意思

来自:网名    更新日期:早些时候
在c语言中?:是什么意思??~

%lf代表按双精度输入或输出。
格式占位符(%)是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。

扩展资料:
双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.7E-308~1.7E+308
单精度浮点数(float)与双精度浮点数(double)的区别如下:
1,在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
2,有效数字位数不同
单精度浮点数有效数字7位
双精度浮点数有效数字16位
3,所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
4,在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。
参考资料来源:百度百科-双精度浮点数

?:是条件运算符;是三元运算符,也是C语言中唯一的一个三元运算符;
举例:max=(a>b)? a:b;它是这样执行的:如果(a>b)条件为真,则条件表达式取值a, 否则取b;
等价于:if(a>b) max=a;
else max=b;
注意:1:条件运算符优先于赋值运算符,所以要先算?:再算=;意思就是先求解条件表达式,再将它的值赋给max.括号可以不要,max=a>b?a:b;
2:结合方向自右向左;举例:max=a>b? a:c>d? c:d,就可以改写为a>b? a:(c>d? c:d)
等价于: if(a>b){
max=a;
}
else{ if(c>d)
max=c;
else max=d;
}

语法规则: 表达式1?表达式2:表达式3;
意思是:如果表达式1成立,那么执行表达式2,否则执行表达式3.
举例子:int a =1;
int b = 2;
int c = a < b?a:b;
这个例子中将c的值设定为a和b中的较小者。如果a<b,那么c= a;如果a>=b,那么c=b;

//这是C的条件运算符
a=2>3?1:2;
//相当于下列语句
if (2>3)
a=1;
else
a=2;



复合语句等同于 if else


?: 在 c语言中的意思视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网