0
点赞
收藏
分享

微信扫一扫

【读】C语言程序设计 变量与表达式

小暴龙要抱抱 2022-01-31 阅读 30


以下是正文部分

代码实现:

#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表示字符串
  • %%表示%本身
举报

相关推荐

0 条评论