C/C++教程

C语言不同数据类型间的混合运算

本文主要是介绍C语言不同数据类型间的混合运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

使用C语言将不同数据类型之间进行混合运算,此次为个人练习,若有错误敬请提出。

首先,我们来看一个小例子:

        定义一个整型,一个字符型,一个浮点型,输入部分“%d%c%f”不使用空格进行隔开。

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int i;
    char c;
    float f;
    scanf("%d%c%f", &i, &c, &f);
    printf("i=%d,c=%c,f=%f\n", i, c, f);
}

 

那么,输出的结果如下:

1024 y 96.5
i=1024,c= ,f=0.000000

 

为什么c输出来的结果为空?f输出来的是0.000000?因为我们在输入参数时将值使用空格隔开输入,而scanf参数中并没有用空格把三个参数进行隔开。于是,%c取值取到了空格,而空格在ASCII 编码中用字符表示如下表:

 

因此,c取值为空。而f取的值是字符m,于是得出来的值为0.000000

接下来,我们开始整型,字符型,浮点型的混合运算。

要求:读取一个整型数,字符,浮点数,分别到变量i,j,k中,然后将i,j,k直接相加并输出,小数点后保留两位小数,不用考虑输入的浮点数的小数部分超过了两位

我们要知道有小数是属于浮点数,而保留两位小数是%.2f。输出部分使用强制转换

代码如下:

#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int i;
    char j;
    float k;
    scanf("%d %c %f", &i, &j, &k);
    printf("%.2f", (float)i+(float)j+k);
    return 0;
}

 

运行结果:

 输入10 a 98.3 时,所以输出的字符型应为 "205.30" ,如下所示:

10 a 98.3
205.30

 

这篇关于C语言不同数据类型间的混合运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!