变量定义



int var_int = 111111111;
char var_char = '2';
double var_double = 3.30;
float var_float = 4.80;
short int var_short = 5;
long int var_long = 6111111111111111;

数字间的类型转换



总结:占字节数多的类型转换成占字节数少的类型时,会根据在占字节少的类型的内存区的01排列来决定值。

int 和 short的转换


(int)var_short//short->int
(short)var_int//int->short 如果int过大,short会根据自己所占位置的01情况成为相应的数值

int 和 long的转换


(int)var_long//long->int 如果long过大,int会根据自己所占位置的01情况成为相应的数值
(long)var_int//int->long

short 和 long的转换


(long)var_short//short->int
(short)var_long//long->short 如果long过大,short会根据自己所占位置的01情况成为相应的数值

int 和 float的转换


(int)var_float//float->int向下取整
(float)var_int//int->float

int 和 double的转换


(int)var_double//double->int向下取整
(double)var_int//int->double

double 和 short的转换


(short)var_double//double->short向下取整
(double)var_short//short->double

float 和 short的转换


(short)var_float//float->short向下取整
(float)var_short//short->float

double 和 long的转换


(long)var_double//double->long向下取整
(double)var_long//long->double

float 和 long的转换


(long)var_float//float->long向下取整
(float)var_long//long->float

数字与字符、字符串的转化



这是一组函数,在头文件<stdlib.h>中

字符串转数字


atoi();//把字符串转化为整形。
atol();//把字符串转化为长整形。
atof();//把字符串转化为双精度浮点型。
strtod();//将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
strtol();//将字符串转换为长整值,并报告不能被转换的所有剩余数字。
strtoul();//将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。

数字转字符串


itoa();//将整型值转换为字符串。
ltoa();//将长整型值转换为字符串。
ultoa();//将无符号长整型值转换为字符串。
gcvt();//将浮点型数转换为字符串,取四舍五入。
ecvt();//将双精度浮点型值转换为字符串,转换结果中不包含十进制小数点。
fcvt();//指定位数为转换精度,其余同ecvt()。

指针的转换



指针强制类型转化


TYPE1* point1;
TYPE2* point2;
point1 = (TYPE1*)point2;

举例


void *buffer;
char *p_addr = (char *)buffer;

或者

//内存分配相似时的指针类型变化
struct sockaddr_in server;
memset(&server, 0, sizeof(server));
server.sin_family = AF_INET;
server.sin_port = htons(4444);
server.sin_addr.s_addr = inet_addr("192.168.0.101");
int result = connect(sockfd, (struct sockaddr*)&server, sizeof(struct sockaddr));//调用时转化了

C语言程序设计--类型转换的更多相关文章

  1. 《C语言程序设计(第四版)》阅读心得(一)

    本篇开始写我个人觉得谭浩强老师的<C语言程序设计(第四版)>中之前没有认识到,或者忘了的知识.因为本科学过,所以有些简单的东西就没有放进来了,所以可能并不是太全面. 第一章程序设计与语言 ...

  2. 《C语言程序设计教程》学习笔记

    <C语言程序设计教程>--朱鸣华.刘旭麟等 第一章 C语言概述 1.C语言的特点: 1)兼具高级.低级语言的双重能力(C语言允许直接访问物理地址,能够进行位操作,能实现汇编语言的大部分功能 ...

  3. 李志杰的C语言程序设计第一次作业

    这个作业属于C语言程序设计课程 : https://edu.cnblogs.com/campus/zswxy/CST2020-2 这个作业要求在哪里: https://edu.cnblogs.com/ ...

  4. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  5. 160809208沈昊辰c语言程序设计实验选择结构设计

    <C语言程序设计>实验报告 学 号 160809208 姓 名 沈昊辰 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C区二层机房 ...

  6. C语言程序设计第4堂作业

    大家注意:本次作业稍有增加,由于放假期间大家空闲时间比较充足,将之前学习过程中遗留的问题必须在假期解决.   本次课学习主要内容: 分支结构中的二分支结构.多分支结构和else-if语句 掌握字符型数 ...

  7. 《VB语言程序设计(第3版)》总结

    我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...

  8. 160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 ...

  9. 160809209_李梦鑫_C语言程序设计实验2+选择结构程序设计_进阶

    <C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吴喆 实验地点 C05 机 ...

随机推荐

  1. Ubuntu14.04下安装Libsvm,并使用Libsvm

    (1)Ubuntu14.04下安装Libsvm 转载:https://blog.csdn.net/katrinawj/article/details/78915874 一.下载: 网址:http:// ...

  2. Android(或者Java)通过HttpUrlConnection向SpringMVC请求数据(数据绑定)

    问题描写叙述 当我们使用SpringMVC作为服务端的框架时,有时不仅仅要应对web前端(jsp.javascript.Jquery等)的訪问请求,有时还可能须要响应Android和JavaSE(桌面 ...

  3. 安卓开发笔记——TabHost组件(一)(实现底部菜单导航)

    什么是TabHost? TabHost组件的主要功能是可以进行应用程序分类管理,例如:在用户使用windows操作系统的时候,经常见到如图所示的图形界面.     TabHost选项卡,说到这个组件, ...

  4. PHP多文件上传操作

    在前一篇文章里讲到了关于PHP文件上传原理和简单操作举例是单文件上传. http://www.cnblogs.com/lichenwei/p/3879566.html 其实多文件上传和单文件上传大同小 ...

  5. Thinkphp5笔记四:设置模板路径

    默认的模板路径在模块/view文件里面.如果你觉得这样不太方便管理,想要把他设置Template目录下,可以这样做. 模板参数 ,能够影响的它参数,是当前模块下config.php template- ...

  6. 举例理解Hibernate的三种状态

    初学Hibernate,了解到Hibernate有三种状态:transient(瞬时状态),persistent(持久化状态)以及detached(游离状态). 它们之间有如下转换图来说明: 1.tr ...

  7. 【WP8】图片压缩处理

    最近在做图片上传功能,类似于微信朋友圈的功能,现在的手机像素都比较高,手机上的图片一般都比较大(几M),对于大图,在上传之前,我们需要对图片进行压缩(分辨率和质量),再上传到服务器,以减少网路流量传输 ...

  8. 避免使用jQuery的html方法来替换标签,而是使用replaceWith方法

    tblCostSplit.html内容: <nobr title="">只想显示里面内容,去掉nobr标签</nobr> <nobr title=&q ...

  9. Eclipse中项目全部报错----项目全部打红叉的解决办法

    今天遇到一个超级郁闷的事情,Eclipse新建的项目全部都打有红叉,我起初以为自 己可能是因为这两天一直在配置NDK开发环境方面的东西,是不是一不小心把那个地方给配置了,然后新建项目时项目都会出现红叉 ...

  10. 书籍记录——C++大学基础教程(第五版)

    C++大学基础教程(第五版) Small C++ How to Program,Fifth Edition,H.M.Deitel,P.J.Deitel 第一章 计算机.互联网和万维网简介 第二章 C+ ...