C语言程序设计基础教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.6 程序示例

【例3-1】求半径为r,高为2.5的圆柱体体积。

算法分析:使用符号常量在程序中不能赋值,好处是含义清楚,能做到“一改全改”。

C源程序(文件名lt3_1.c):

运行结果如下:

输入r=1。

【例3-2】使用整型变量。

算法分析:变量定义必须放在变量使用之前,一般放在函数体的开头部分。因为定义了变量a=12、b=-24、u=10、c=a+ud=b+u,所以可以求出cd值。

C源程序(文件名lt3_2.c):

运行结果如下:

【例3-3】各种数据类型之间的转换。

算法分析:a为整型,赋予实型量y值8.88后只取整数8;x为实型,赋予整型量b值322后增加了小数部分;字符型量c1赋予a变为整型;整型量b赋予c2后取其低8位成为字符型(b的低8位为01000010,即十进制数66,对应于ASCII码字符B)。

C源程序(文件名lt3_3.c):

运行结果如下:

【例3-4】分析以下程序的运行结果。

C源程序(文件名lt3_4.c):

算法分析如下。

(1)语句x1=++a&&b&&++a;的计算过程。

由于单目运算符++比双目运算符优先级更高,因此表达式++a&&b等价于表达式(++a)&&b。表达式++a的值为2,变量a的值也为2,然后执行2&&b的结果为0。表达式0&&++a等价于0&&(++a),此时系统完全可以确定表达式的运算结果是0。因此不再处理表达式0&&(++a)中的后一个操作数,并将0赋值给变量x1。

(2)语句x2=--c||a||b++;的计算过程。

与上面类似,表达式--c||a等价于表达式(--c)||a。而表达式--c的值为0,变量c的值也为0,然后执行0||a的结果为1。表达式1||b++等价于1||(b++),此时系统完全可以确定表达式的运算结果是1。因此不再处理表达式1||(b++)中的后一个操作数,并将1赋值给变量x2。

运行结果如下: