第一个问题(求华氏温度下的摄氏温度)
程序设计分析:这里我们需要先定义变量与常量,通过赋值运算来实现转换,接着通过printf函数输出。
第二个问题(计算分段函数)
程序设计分析:这里对于分段函数的计算我们需要通过if-else语句来实现,其中需要关系运算来判断不同情况,对于数据类型需要运用双精度浮点数,同时运用scanf函数。
1.常量,变量和数据类型
在C语言中,数据有常量和变量之分。在程序运行过程中,其值不能被改变的量称为常量,其值可以被改变的量称为变量。
常量和变量都有类型,常量的类型通常由书写格式决定。例如,100是整型常量(整数),而123.45就是实型常量(实数),变量的类型是在定义时指定的。
C语言中最常用的数据类型包括 int(整数),char(字符型),float(单精度浮点型),和double(双精度浮点型)。其中 float和 double都是浮点型(实型),用于存放浮点数即实数,区别在于double型数据占用空间更大,精度更高,取值范围更大。
2.算术运算与赋值运算
(1)算术运算
算术运算包括加,减,乘,除,求余和其他一些操作,前者对应双目算术运算符,双目运算符需要两个操作数 。
运算符 | + | - | * | / | % |
名称 | 加 | 减 | 乘 | 除 | 取余 |
优先级 | 低 | 低 | 高 | 高 | 高 |
使用时的一些注意:
a.如果对两个整数数据作除法运算,其结果一定是整数。
b.求余运算符取整数数据相除的余数,它不能用于实型数据的运算。
c.+和-还可以作为单目运算符,用于表示数值常量的符号。
d.双目运算符两侧操作数的类型要相同,否则,系统自动进行类型转换,使他们具有相同的类型。
(2)赋值运算
C语言将赋值作为一种运算,定义了赋值运算符=,它的作用是把一个表达式的值赋给一个变量,且赋值运算符的优先级比算术运算符的低。(赋值运算符的左边必须是一个变量)。
赋值表达式的基本运算过程是:
a.计算赋值运算符右侧表达式的值
b.将赋值运算符右侧表达式的值赋给赋值运算符左侧的变量。
3.格式化输出函数printf()
函数printf()的一般调用格式为:
printf(格式控制字符串,输出参数1,... ,输出参数n);
格式控制字符串用双引号括起来,表示输出的格式;而输出参数则是一些要输出的数据,这些数据可以是常量,变量或表达式。格式控制字符串包括格式控制说明和普通字符。
a.格式控制说明:按指定的格式输出数据,它包括以%开头的格式控制字符,不同类型的数据采用不同的格式控制字符。例如,int型数据使用%d,float和double型数据都使用%f。
b.普通字符:在输出时,需要原样输出的字符。
4.关系运算
C语言共提供了6种关系运算符,它们都是双目运算符。用关系运算符将两个表达式连接起来的式子,称为关系表达式。
运算符 | < | <= | > | >= | == | != |
名称 | 小于 | 小于等于 | 大于 | 大于等于 | 等于 | 不等于 |
注意:==是关系运算符,用于比较两个操作数是否相等;而=是赋值运算符,表示对变量赋值。
5.if-else语句
if-else语句的一般形式为:
if(表达句)
语句1;
else
语句2;
该语句用于实现分支结构,根据表达式的值选择语句1或语句2中的一条执行。
6.格式化输入函数scanf()
用法与printf相似,输入参数形式为:变量名称前加&,如 &x 。
注意一致性:如对于int型数据使用%d,float型数据使用%f,而double型数据使用%lf。
7.常用的数学函数
常用的数学函数有:
(1)平方根函数:sqrt(x)
(2)绝对值函数:fabs(x)
(3)幂函数:pow(x,n) 其中n为次数
(4)指数函数:exp(x) 用于计算e的x次方
(5)以e为底的对数函数log(x):计算lnx
问题一:
#include
int main()
{
int celsius,fahr=0;
printf("请输入华氏温度:");
scanf("%d", &fahr);
celsius=5*(fahr-32)/9;
printf("对应华氏温度下的摄氏温度为:%d", celsius);
return 0;
}
分析:
(1)定义变量celsius和fahr并且赋值均为零
(2)通过printf函数实现华氏温度的输入
(3)通过scanf函数对fahr数据的读入
(4)通过表达式来列出关系表达式
(5)最后通过printf函数输出对应华氏温度下的摄氏温度
问题二
#include
int main()
{
double x,y;
printf("请输入用水量:");
scanf("%lf", &x);
if (x<=15)
{
y=4*x/3;
printf("用水量为:%.2f(吨)", y);
}
else
{
y=2.5*x-10.5;
printf("用水量为:%.2f(吨)",y); }
return 0;
}
分析:
(1)首先引入两个浮点数变量x与y
(2)通过printf函数实现用水量的输入,同时运用scanf函数读入用水量的数据
(3)对于二分支运用if-else语句即可(其中通过关系运算符来区别x的两种不同的情况)
(4)在不同情况下通过式子列出关系式
(5)最后通过printf函数输出