自定义View系列教程00–推翻自己和过往,重学自定义View
自定义View系列教程01–常用工具介绍
自定义View系列教程02–onMeasure源码详尽分析
自定义View系列教程03–onLayout源码详尽分析
自定义View系列教程04–Draw源码分析及其实践
自定义View系列教程05–示例分析
自定义View系列教程06–详解View的Touch事件处理
自定义View系列教程07–详解ViewGroup分发Touch事件
自定义View系列教程08–滑动冲突的产生及其处理


探索Android软键盘的疑难杂症
深入探讨Android异步精髓Handler
详解Android主流框架不可或缺的基石
站在源码的肩膀上全解Scroller工作机制


Android多分辨率适配框架(1)— 核心基础
Android多分辨率适配框架(2)— 原理剖析
Android多分辨率适配框架(3)— 使用指南


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn/lfdfhl

本文主要关注数据的类型转换。先来看两个小练习。

练习 1

请看如下代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    double d;
    puts("请你输入一个小数");
    scanf("%lf",&d);
    printf("你输入的小数是%f",d);

    return 0;
}

运行结果如下:

小结:

  • 假若变量no是int类型,那么使用scanf(“%d”,&no)接收键盘输入的整数;使用printf(“%d”,no);将数据打印至控制台

  • 假若变量no是double类型,那么使用scanf(“%lf”,&no);接收键盘输入的小数;使用printf(“%f”,no);将数据打印至控制台。请注意:此处scanf函数中使用的字母lf不是数字1和f


练习 2

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i=2;
   double d=5.0;
   printf("%f\n",(d/i));
   puts("--------------");
   int a;
   int b;
   puts("请输入两个整数");
   printf("整数a:\n");
   scanf("%d",&a);
   printf("整数b:\n");
   scanf("%d",&b);
   printf("两者的平均值是%f,\n",(double)(a+b)/2);

   return 0;
}

运行结果如下:

要点概述:

  • 类型提升。当两个不同类型的操作数进行加减乘除运算时,较小数据类型的操作数会被转换为较大数据类型。比如,int和double进行操作,int会被提升为double类型;请参见代码第6-8行

  • 类型转换。利用(类型)可以实现数据类型的转换;例如,代码第10-17行。请注意(double)(a+b)/2首先将(a+b)转换为double类型再除以2


数据类型转换

在此,总结关于基本数据类型的转换,请看如下示图(图片出处:《明解C语言》(第三版)):





更多推荐

C语言自学完备手册(06)——基本数据类型(2)