C语言的问题,刚学C语言,实在不懂,往前辈能够帮帮忙,谢谢啊真的感激不尽

cos60度+8e' 数学式的C语言表达式

printf("a=%hd\n",a);这里的%hd是什么啊

char a;
unsigned int b;
float c;
double d;
则表达式a*b+d-c值的类型为?

逻辑与和逻辑非最后结果就只有1和0是不?

&和&&有什么区别

int x=1,y=-1;,则语句printf("%d\n",(x--&++y))的输出结果是
我就想知道x--和++y到底怎么用的

float x,y;
x=12.34f;
y=(int)(x*10+0.5)/10.0f;
printf("x=%f\n",y);
那个x=12.34f中的f是什么意思

1.%hd 表示以short int 输出

2.a*b+d-c值的类型为double 表达式里面的类型转换
//a[char]*b[unsigned int]+d[double]-c[float]
//1.(a*b)[unsigned int]+d[double]-c[float]
//2.(a*b+d)[double]-c[float]
//3.(a*b+d-c)[double]//所以最后为double

3.true /false转化为数字就是0/1

4.A&B //无论如何 A B都要算出结果再&
A&&B //如果A为假 则不算B的值 直接返回假

5.x--:1 ++y:0 1&0:0
所以输出0
int a=1;
则 a++ : 1 ++a:2 //前后缀区别
a-- : 1 --a:0

6.x=12.34 //没有f的话,12.34就是double,然后隐式转换成float
x=12.34f //则12.34f为float 直接赋值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-12
1.要先包含头文件#include<math.h> #define e 2.718281828459 #define pi 3.14159 表达式:cos(pi/3.0) +8*e
2.%hd是表示要求将要输出的数的格式控制符,表示他要求h个位用来输出整型a的值。但如果a的位数大于h位则就原样输出,小于就靠右输出。(%-hd就是靠左输出)
3.是double型
4.是的
5.&是取地址符,又是按位相与的算术运算符。这里你把它与&&符号相比,估计侧重说他的按位相与吧;&&是逻辑运算符,也就是他与另一个数进行与运算,结果不是0就是1。还有&&两边的运算数也要是逻辑值,&就不要了(将运算数先转换成2进制在按位相与就ok啦)。
6.x--是先使用x的值,再自减,(所以x--=1;x=0)之所以这样设计是不想丢失第一个数,又想为下一次做准备。++y是先自增在使用,++y=0;y=0.所以输出值是……,你自己看着办咯!
7.是float型缩写,你这题完全可以不要的,因为你已经用float声明过的。但出于对程序的易读性考虑,加了更好!
第2个回答  2009-10-13
1、建议查MSDN,很全的帮助。
2、a*b+d-c 进行这种运算的时候编译器会把较低的数据转化为高的数据(可能叫法不标准),避免数据的失真,在这里double的精度最高,因此转化为她的类型。
3、与非运算德运算结果只有两种情况,要么是1要么是0,只有这两种情况。
4、&运算使用在为运算的时候。&&运算使用在表达式运算的时候,比如if语句
5、x--表示,先进行运算,之后再进行自己运算,但是++y是先进行自己运算在进行后边的运算,他们砸区别很细,只有在你写的这种算式中才考虑这么细,它等同于1&(-1+1)=0,之后x自减为0,y已经是1了。
6、x=12.34f表示x是个浮点型的数据。
相似回答