c语言对传递函数程序 c语言中函数间数据传递方式有三种( 二 )


先要明确运算符按优先级不同分类,《C程序设计》运算符可分为15种优先级 , 从高到低,优先级为1 ~ 15,除第2、13级和第14级为从右至左结合外,其它都是从左至右结合,它决定同级运算符的运算顺序.
二.学好C语言的四种程序结构
(1)顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行 。
例如;a = 3,b = 5,现交换a,b的值 , 这个问题就好像交换两个杯子水,这当然要用到第三个杯子,假如第三个杯子是c,那么正确的程序为: c = a; a = b; b = c; 执行结果是a = 5,b = c = 3如果改变其顺序,写成:a = b; c = a; b = c; 则执行结果就变成a = b = c = 5,不能达到预期的目的,初学者最容易犯这种错误 。顺序结构可以独立使用构成一个简单的完整程序 , 常见的输入、计算 , 输出三步曲的程序就是顺序结构,例如计算圆的面积,其程序的语句顺序就是输入圆的半径r,计算s = 3.14159*r*r,输出圆的面积s 。不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等 。
(2) 分支结构
顺序结构的程序虽然能解决计算、输出等问题,但不能做判断再选择 。对于要先做判断再选择的问题就要使用分支结构 。分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序 。分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句 。分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开 , 使得问题简单化,易于理解 。程序流程图是根据解题分析所绘制的程序执行流程图 。
学习分支结构不要被分支嵌套所迷惑,只要正确绘制出流程图,弄清各分支所要执行的功能 , 嵌套结构也就不难了 。嵌套只不过是分支中又包括分支语句而已 , 不是新知识,只要对双分支的理解清楚,分支嵌套是不难的 。下面我介绍几种基本的分支结构 。
①if(条件)
这种分支结构中的分支体可以是一条语句,此时“”可以省略,也可以是多条语句即复合语句 。它有两条分支路径可选 , 一是当条件为真,执行分支体 , 否则跳过分支体,这时分支体就不会执行 。如:要计算x的绝对值,根据绝对值定义,我们知道,当x=0时,其绝对值不变,而x0时其绝对值是为x的反号,因此程序段为:if(x0) x=-x;
②if(条件)
else
这是典型的分支结构 , 如果条件成立,执行分支1 , 否则执行分支2,分支1和分支2都可以是1条或若干条语句构成 。如:求ax^2+bx+c=0的根
分析:因为当b^2-4ac=0时,方程有两个实根,否则(b^2-4ac0)有两个共轭复根 。其程序段如下:
d=b*b-4*a*c;
if(d=0)
{x1=(-b+sqrt(d))/2a;
x2=(-b-sqrt(d))/2a;
printf(“x1=%8.4f,x2=%8.4f\n”,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(“x1=%8.4f+%8.4fi\n”r, i);
printf(“x2=%8.4f-%8.4fi\n”r,i)
}
③嵌套分支语句:其语句格式为:
if(条件1) ;
else if(条件2)
else if(条件3)
……
else if(条件n)
else
嵌套分支语句虽可解决多个入口和出口的问题,但超过3重嵌套后 , 语句结构变得非常复杂 , 对于程序的阅读和理解都极为不便,建议嵌套在3重以内,超过3重可以用下面的语句 。

推荐阅读