在C语言中怎么看语句的执行顺序?怎么看哪一个语句是否执行?

switch()
{
……
case 11:f=p*w*s*(1-d/100);d=10;printf("f=%.2f\n",f);break;
}
本人学习中,想知道case后面能否跟多个语句,如果不能,执行的是哪个语句,有高手知道用什么方法可以看程序执行的顺序,或是哪个语句没有被执行?
另外:一个实型的数214748545024和二进制11001000000000000000101100000000000000相等,在存储单元中哪是指数部分,哪是小数部分?哪是除号部分,哪个是整数部分?
高手追加分。
多谢仁兄,我想出来了,我把f=那一句放在前面了,给放错了,放后面就好了!
另外,按放错的顺序,得出来一个f,我总是发现这个数的二进制有一大堆0在一起,如上面已经写的那个,和268435685376=二进制的 11111010000000000000111000000000000000
是否是存储单元是空的表现?一般的AMD 32位机的c++环境下c语言float型在存储单元中怎么存储的,分别占几位?
好像int 型的还有其它型的数据已经早不是清华的C语言书上说的那个位数了,我用int型的输入6位,7位,结果仍然正确,实验表明,AMD的32位机的int 型早就是32位了,不过有1位是符号位。

开关语句是条件转向语句。
进入时判断 开关 表达式,就是 switch()小括号里的东西。根据 表达式 结果,直接跳 到 相应的 case,
从 这个 case 开始执行,直到碰到 break,或continue,或 goto, 或 exit 等,退出开关。

例如:
switch(3){
...
case 3: x=1;y=2;
case 11:f=p.......;break;
....
}
直接跳 到case 3,做 x=1;y=2; 因为没有break,继续做case 11 下的东西,直到 break;

case后面跟多个语句,没有限制。程序按顺序执行,只有遇到 中断(break,continue),转移(goto),退出(exit,return)等才改变顺序.

实型数按 数符,尾数,阶符,阶码 存放。
float 有效数字只有 7到8位(十进制)。
double 有效数字 14-15位(十进制)。
位的分配与机器有关,有的顺序是:
阶符N 数符R 阶码部分 小数位尾数部分
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-23
数字所占的位数,谭汉强的书里也说得很明白,是与硬件有关的,具体的你需要看用sizeof自己测出来。

AMD 处理器和Intel的是兼容的,而且实数的表示方法好像是有国际标准的,应该都一样!

1、case后可以跟多个语句,而且不用打括号,自动一直执行到break结束。

2、看程序执行顺序,大体可以通过代码的静态测试:就是读代码。实际一点,可以通过编译环境的调试功能:单步调试或者设置watch调试。

3、32位实数,第一位是符号位,跟着八位是幂指数,其后的是有效位,
但是实数是有移码表示的,参照:
http://baike.baidu.com/view/575086.htm
第2个回答  2008-04-22
case 后面 依次执行 任意多条语句,直到 break 或程序结束。

用编译器的 单步可以看。

存储单元中。。这个。。我不知道。。这个应该是计算机分配的。。本回答被提问者采纳
相似回答