易截截图软件、单文件、免安装、纯绿色、仅160KB

c中数据类型的隐式转换

1、隐式转换
    C在以下四种情况下会进行隐式转换:
       1、算术运算式中,低类型能够转换为高类型。
       2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。
       3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。
       4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
2、算数运算的隐式转换
    算数运算中,首先有如下类型转换规则:
       1、字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用) 。
       2、short型转换为int型(同属于整型) 。
       3、float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型) 。
    其次,有下面的规则。
    当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型,然后进行操作,转换规则是由低级向高级转换。转换规则如下图所示:
    上图的简化图如下所示:
3、算数运算示例
    执行:x = 100 + 'a' + 1.5 * u + f / 'b' - s * 3.1415926
    其中,u为unsigned型,f为float型,s为short型,x为float型。式中右面表达式按如下步骤处理:
       1、首先将'a'、'b'和s换成int,将1.5和f转换为double型。
       2、计算100+'a',因'a'已转换为int型,于是此运算结果为197。
       3、计算1.5*u,由于1.5已转换为double,u是unsigned型,于是首先u转换为double,然后进行运算,运算结果为double。
       4、计算197+1.5 * u,先将197转换为double(如197.00…00),其结果为double。
       5、计算f/ 'b',f已转换为double,'b'已转换为int,于是先将'b'再转换为double,其结果为double。
       6、计算(197+1.5 * u)+f / 'b',者均为double,于是结果也为dou


相关文档:

C:文件操作 读写字符与读写行(!!!好)

来自:http://zhangjunhd.blog.51cto.com/113473/100299 
1.读写字符函数putc()与getc()
这两个函数类似于putchar()与getchar()函数。假设fp是一个FILE指针,ch是一个字符变量,
ch = getc(fp);// ch = getchar();
putc(ch,fp);// putchar(ch);
将文件内容(按字符)输出到标准输出的C实现:
#include <stdio.h ......

C/C++头文件一览


C、传统 C++

#include <assert.h>    
//设定插入点
#include <ctype.h>    
//字符处理
#include <errno.h>    
//定义错误码
#include <float.h>    
//浮点数处理
#include <fstream.h>   
//文件输入/输出
#include <iomanip.h>  ......

C#——C#中C/C++程序员要注意的问题


1、C/C++程序员请注意,不能在case语句不为空时“向下执行”。
2、值类型和引用类型之间的区别:C#的基本类型(int,char等)都是值类型,是在栈中创建的。而对象是引用类型,创建于堆中,需要使用关键字new。
3、在C#中通过实例访问静态方法或成员变量是不合法的,会生成编译器错误。但是我们可以通过声明他 ......

c/c++中的位操作


C\C++支持比较低阶的位运算,在是众人皆知的了。每本C\C++的教科书都会说到这部分的内容,不过都很简略,我想会有很多人不知道位运算用在什么地方。这个帖子就简略说说位运算的用处,更进一步的用法要大家自己去体会。而主要说的是操作标志值方面。
 /****************************************/
#define BTI ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号