C语言上机练习参考答案

第1章 C语言概述

1-1 编写程序,在屏幕上显示一个如下输出: 1-2 1-3 1-4 1-5

--------------------------------- Programming in C is fun! I love C language.

---------------------------------

Program #include <> main() { printf(\ printf(\ printf(\ printf(\ } 1-6 编写程序,在屏幕上显示一个如下图案: 1-7 1-8 1-9 1-10

* * * * * * * * *

*

Program (1) #include <> main() { printf(\ printf(\ printf(\ printf(\ } Program (2) #include <> main() { printf(\ printf(\ printf(\ printf(\ } 1-11 1-12

已知某个圆的半径,编写一个程序,用来计算并显示面积。 要求:将π定义为符号常量,并假设一个恰当的半径值。

Program #include <> #define PI main() { float r=5, s; s = PI*r*r; printf(\ } Output

The area of circle is: 1-13

已知两个整数20和10,编写程序,自定义函数add( )将这两个数相加,

自定义函数sub( )计算这两个数的差,并按照下面形式显示计算结果: 1-14 1-15

20+10=30 20-10=10

Program #include <> int add(int a, int b) { return (a+b); } int sub(int a, int b) { return (a-b); } main() { int a=20, b=10; printf(\ printf(\ } Output

20 + 10 = 30 20 – 10 = 10 1-16 1-17 1-18

已知变量a、b和c的值,编写程序,用来计算并显示x的值,其中x?请分别用以下数值运行该程序 (1)a=250,b=85,c=25

a b?c1-19 (2)a=300,b=70,c=80

Program (1) #include <> main() { int a=250, b=85, c=25; float x; x=*a/(b-c); printf(\ } Output (1)

x =

Program (2) #include <> main() { int a=300, b=70, c=80; float x; x=*a/(b-c); /*试写成x=a/(b-c); 得到什么运行结果?为什么?*/ printf(\ } Output (2)

x =

第2章 常量、变量及数据类型 & 第3章 运算符和表达式

3-1 编写程序,求华氏温度100oF对应的摄氏温度。计算公式如下: 3-2

c?5?(f?32) 93-3 式中:c表示摄氏温度,f表示华氏温度。(c定义为实型,f定义为整型) Program #include <> main() { int f=100; float c; c=*(f-32)/9; /*如果是c=5*(f-32)/9; 会是什么结果?为什么?*/ printf(\Celsius degree (corresponding to %d Fahrenheit) is: %.2f.\\n\f, c); } Output

Celsius degree (corresponding to 100 Fahrenheit) is: .

3-4 一个物体从100m的高空自由落下,编写程序,求它在前3s内下落的垂直距离。

设重力加速度为10m/s2。

3-5 要求,将重力加速度定义为符号常量,尝试将其改为9.8 m/s2,看结果有何不

同?

Program #include <> #define G 10 main() { int t=3; float s; s=2*G*t*t; /*如果是s=1/2*G*t*t; 会是什么结果?为什么?*/ printf(\falling vertical distance (in %d seconds) is: %.2f.\\n\ } Output

The falling vertical distance (in 3 seconds) is:.

3-6 将球的半径R定义为符号常量,计算球的表面积(4πR2)和体积(4/3*πR3)。 Program #include <> #define R #define PI main() { float s, v; s=4*PI*R*R; v=3*PI*R*R*R; printf(\surface area of the ball (radius is %.2f) is: %.2f, and the volume is: %.2f.\\n\ } Output

The surface area of the ball (radius is is: , and the volume . 3-7 给定x、y和z的值,编写程序,使x等于y的值,y等于z的值,z等于x的

值。

Program #include <> main() { int x=1, y=2, z=3, t; printf(\ t=x; x=y; y=z; z=t; /*变量t的作用是什么?*/ printf(\ } Output

Before swap: x=1, y=2, z=3. After swap: x=2, y=3, z=1.

3-8 编写一个程序,给定一个浮点数(例如),显示该数的十位数字与个位数字之和

(例如5+6=11)。

Program (1) #include <> main() { float f=; int n, a, b; n=f; a = n; /*赋值后,a是什么值?*/ b = n/10; /*赋值后,b是什么值?*/ printf(\is: %d + %d = %d.\\n\ }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4