以下是正文部分
代码实现:
#include<stdio.h>
int main(){
/*实现摄氏度,与华氏度的转换*/
int c,f; //定义摄氏度,定义华氏度
int upper,lower,step;
upper = 300;//温度上限300
lower = 0;//温度下限0
step = 20;//温度的跨度
lower = f;
while (upper >= f) {
c = 5 * (f-32) / 9;//进行转换
printf("%df\t%dc\n",f,c);
f = f + 20;
}
return 0;
}
-
注释
//这是单行注释
/*
这是多行注释
*/
-
变量
-
数据类型
- 赋值语句
在这段代码中还有一些语句比如
upper = 300;//温度上限300
lower = 0;//温度下限0
step = 20;//温度的跨度
- 循环语句
在这段代码中还有这样的语句
while (upper >= f) {
c = 5 * (f-32) / 9;//进行转换
printf("%d\t%d\n",f,c);
f = f + 20;
}
-
printf
的格式化输出
我们观察这段代码:
printf("%d\t%d\n",f,c);
发现在printf()函数的第一个位置写的是一段字符串其中有
%d
这表示的是后面对应的f
为整数类型,第二个%d
也依次对应着c
\t
表示空格的含义
\n
表示的是换行的意思
这种\
类型的称之为转义
下面我来介绍一个好玩的东西
**3
我们这里用*
号表示空格
当然我们也可以将3换成-3
-
精确计算
#include<stdio.h>
int main(){
/*实现摄氏度,与华氏度的转换*/
int c,f; //定义摄氏度,定义华氏度
int upper,lower,step;
upper = 300;//温度上限300
lower = 0;//温度下限0
step = 20;//温度的跨度
lower = f;
while (upper >= f) {
c = 5 * (f-32) / 9;//进行转换
printf("%3df\t<----->\t%3dc\n",f,c);
f = f + 20;
}
return 0;
}
这段程序其实有一点小bug,那就是计算的值并不是很精确,
为了得到更精确的数值,我们应该用浮点算术运算符代替整型计算,让我们对这段程序进行修改:
#include<stdio.h>
int main(){
float f,c;
float upper,lower,step;
upper = 300;
lower = 0;
step = 20;
lower = f;
while (upper >= f) {
c = 5 * (f-32) / 9;
printf("%ff\t%fc\n",f,c);
f = f + step;
}
return 0;
}
我们发现输出的结果是带有小数位的:
int a = 5;
int b = 2;
int c = 5 / 2;
我们将a,b声明为整数类型最终计算出c为2
如果这样写我们就会得到2.5
float a = 5;
float b = 2;
float c = 5 / 2;
我们还可以设置小数点后面保留多少位,通过%.保留的位数f
完成
假如现在要保留三位有效数字我们可以在输出语句中这样写
printf("%.3d",0.33333);
这样就会输出0.333
printf("%6.3f",0.2222);
输出的语句占用6个字宽,保留3位有效数字
此外C语言printf函数还支持以下格式
- %o 打印八进制数
- %x表示16进制数
- %s表示字符串
- %%表示%本身