一、强制类型转换

printf("3/2+100.5=%f",3/2+100.5);//100.5错误表达

printf ("    (float)3/(float)2 +100.5f=%f \n",    (float)3/(float)2 +100.5f); // (float) 前缀

二、自动类型转换和隐式类型转换

例1:

printf ("    3/2+100.5=%f \n",       (float)3/2 +100.5f);

printf ("   3/2+100.5=%f \n",       3/(float)2 +100.5f);

printf ("   3/2+100.5=%f \n",       3/2.0f +100.5f);

printf ("   3/2+100.5=%f \n",       3.0f/2 +100.5f);

例2:

char v1=2;

short v2=111111;

float v3=3.45;

double v4=10.0f /3;

v1=v2;

printf ("v1=%hd,v2=%hd,v3=%f,v4=%f \n",        v1,v2,v3,v4);

例3:

int a=3,b=2;

float c=100.5f;

printf ("   3/2+100.5=%f \n",        a/b+c);

printf ("   3/2+100.5=%f \n",       (float)a/b+c);

printf ("   3/2+100.5=%f \n",       a/(float)b+c);

转换顺序 :当低类型和高类型运算时自动转化成高类型进行计算

char ,short,int,long long,float,double

c语言强制类型转换的更多相关文章

  1. C++强制类型转换

    C语言强制类型转换过于粗暴,任意类型之间都可以进行转换,编译很难判断其正确性; 难于定位,在源码中无法快速定位所有使用强制类型转换的语句. C++将强制类型转换分为4种不同的类型:static_cas ...

  2. C++强制类型转换:static_cast、dynamic_cast、const_cast、reinterpret_cast

    1. c强制转换与c++强制转换 c语言强制类型转换主要用于基础的数据类型间的转换,语法为: (type-id)expression//转换格式1 type-id(expression)//转换格式2 ...

  3. C++ Primer 有感(命名的强制类型转换)

    C++四种强制类型转换的方法以及其应用场合,之前有看过这个知识点,但是,面试的时候怎么想也就没有写的很全面,于是,这里整理一下: C++中的四种强制类型转换除了具有C语言强制类型转换的功能外,还可提供 ...

  4. C语言结构体的强制类型转换

    陈浩师兄03年的一篇博客<用C写有面向对象特点的程序>描述了用C语言来实现类似C++类继承的方法,这样方法的核心要点就是结构体的强制类型转换,让我来简单分析分析C语言中的结构体强制类型转换 ...

  5. C语言中强制类型转换总结

    C语言中强制类型转换总结  ● 字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128-127,char型变量也可以加修饰符unsigned,则unsigned char 型变量的取值范围 ...

  6. C语言笔记 11_头文件&强制类型转换&错误处理&递归

    头文件 头文件是扩展名为 .h 的文件,包含了 C 函数声明和宏定义,被多个源文件中引用共享.有两种类型的头文件:程序员编写的头文件和编译器自带的头文件. 在程序中要使用头文件,需要使用 C 预处理指 ...

  7. C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  8. 关于强制类型转换(c语言)

    因为今天看的代码中用到了结构体的强制类型转换,就很想了解一下结构体的强制类型转换是怎样的. 一个结构体如下: 在下面这段代码中rbuf->reqCmdBuf是一个空指针,首先将这个空指针赋值给一 ...

  9. C语言的强制类型转换

    1.什么是强制类型转换:遇到一些类型不同的一些数据之间的表达运算 ,需要将较高的数据类型转换成较低类型时. 2.强制类型的形式: (强制转换的类型)(表达式): 2.强制类型的使用: float a, ...

随机推荐

  1. mybaitis uuid插入和定义返回类型

  2. $state.go页面不刷新数据

    http://blog.csdn.net/WenJimmy/article/details/51027952 假如进入market/beian/add添加数据,保存提交后回退market/beian列 ...

  3. 如何用极路由+OpenWrt+RTL电视棒搭建一台SDR服务器,并隐秘地捕获和传输数据

    0×00 前言 近期因为有个从异地捕获无线信号的需求,便尝试着用OpenWrt+公网IP搭建了一台SDR服务器.如果有小伙伴嫌SDR硬件天线看起来太乱.或者电脑没有足够的USB接口也可在局域网搭建SD ...

  4. 数据结构大二课程设计:QT实现线段树

    源码以及编译文件下载地址:http://download.csdn.net/detail/zhiyanpianyu1234/9445909#comment 加入了一些小东西,一直觉得课设是做给自己看的 ...

  5. 2.6---找有环链表的开头结点(CC150)

    public ListNode detectCycle(ListNode head) { ListNode fast = head; ListNode slow = head; int flag = ...

  6. iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用

    http://www.mamicode.com/info-detail-514151.html 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理很重要 ...

  7. VMware12中CentOS7网络设置

    VMware提供了三种将虚拟网卡和物理网卡捆绑起来的方式,即桥接(Bridge)模式,网络地址转换(Network Address Transformation, NAT)模式和主机(Host Onl ...

  8. Windows Setup progject : 修改默认安装路径

    建立Windows Setup project 之后,程序安装的时候会默认选择系统路径- 具体格式为:[ProgramFilesFolder][Manufacturer]\[ProductName], ...

  9. 《oracle每天一练》触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句

    触发器不能调用或间接调用COMMIT,ROLLBACK等DCL语句 在触发器中不能运行 ddl语句和commit,rollback语句 ddl语句:DDL语句用语定义和管理数据库中的对象,如Creat ...

  10. C#值数值类型转换

    1.十进制转16进制 string result=number.ToString("X2"); >>0A //X2表示大写2位 2.字符串转数值类型 "); ...