第5章《运算符、表达式和语句》这一章的关键词:一元运算符、二元运算符、表达式、分号是语句的标识、类型转换。
编程习题
1.编写一个程序。将用分钟表示的时间转换成以小时和分钟表示的时间。使用#define或者const来穿件一个代表60的符号常量。使用while循环俩允许用户重复键入值,并且当键入一个小于等于0的时间时终止循环。
2.编写一个程序,此程序要求输入一个整数,然后打印出从(包括)输入的值到(包括)比输入的值大10的所有整数值(也就是说如果输入为5,那么输出从5到16要求各输出值之间用空格、制表符或换行符分开)。
3.编写一个程序,该程序要求用户输入天数,然后将该值转换为周数和天数。使用一个while循环让用户重复输入天数:当用户输入一个非正数(0或-20)时,程序将终止循环。
4.编写一个程序让用户按厘米输入一个高度值,然后,程序按照厘米和英尺英寸显示这个高度值。允许厘米和英寸的值出现小数部分。程序让用户继续输入,直到用户输入一个非正的数值。
5.改写用来找到前20个整数之和的程序addemup.c。修改该程序,目的是您能交互地告诉程序计算将进行到哪里。也就是说用一个读入的变量来代替20.
6.现在修改第5题,使它能够计算整数平方的和。C没有平方函数,但是您可以利用n的平方是n*n的事实。
7.编写一个程序,该程序要求输入一个float型数并打印该数的立方值。使用您自己设计的函数来计算该值的立方并且将它的立方打印出来。main()程序把输入的值传递给该函数。
8.编写一个程序,该程序要求用户输入一个华氏温度。程序以double类型读入温度值,并将它作为一个参数传递给用户提供的函数Temperature()。该函数将计算相应的摄氏温度和绝度温度,并以小数点右边有两位数字的精度显示这三种温度。它应该用每个值所代表的温度刻度来标识这3个值。下面是将华氏温度转换成摄氏温度的公式:
Celsius=1.8*Fahrenheit+32.0
下面是将摄氏温度转换成绝度温度的方程:
Kelvin=Celsius+273.16
Temperature()函数使用const来创建代表该转换里的3个常量的符号。main()函数将使用一个循环来允许用户重复地输入温度,当用户输入q或其他非数字值时,循环结束。
#include <stdio.h>
int main(void)
{
double fah;
printf("请用户输入温度值:");
while(scanf("%f",&fah)==1)
Temperatures(fah);
}
float Temperatures(float fah)
{
const float C_1 = 1.8;
const float C_2 = 32.0;
const float K = 273.16;
float cel,kel;
cel=C_1*fah+C_2;//摄氏温度
kel=cel+K;//绝对温度
printf("温度值 摄氏温度 绝对温度\n");
printf("%.2f %.2f %.2f\n",fah,cel,kel);
printf("请用户输入温度值:");
}