c语言数据类型运算符与表达式

上传人:第*** 文档编号:49575446 上传时间:2018-07-31 格式:PPT 页数:36 大小:237.50KB
返回 下载 相关 举报
c语言数据类型运算符与表达式_第1页
第1页 / 共36页
c语言数据类型运算符与表达式_第2页
第2页 / 共36页
c语言数据类型运算符与表达式_第3页
第3页 / 共36页
c语言数据类型运算符与表达式_第4页
第4页 / 共36页
c语言数据类型运算符与表达式_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《c语言数据类型运算符与表达式》由会员分享,可在线阅读,更多相关《c语言数据类型运算符与表达式(36页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据类型运算符与表达式引例:计算7/2#include int main(void) double s; s=7/2;printf(“%fn”,s) ; return 0 ; 运算结果为3!?为什么得不到正确结果3.5 计算机对不同类型数据的存储方式不同 计算机对数据的存储 位(bit),字节(byte) 整数,小数,实数,字符的存储方式各不相同 因此,C语言也需要区分数据类型C语言的基本数据类型 整型:int 实型:根据取值范围不同 单精度 float 双精度 double 字符型:char基本数据类型扩展 有符号,无符号型 signed可以修饰 int, char unsigned

2、可以修饰 int, char 长型,短型 long可以修饰 int short可以修饰 int, double这些类型的区别在哪里 存储空间大小不同 char类型使用1个字节 int类型使用4个字节(vc环境下) double类型使用个字节 方式不同 整数类型 :整数的补码形式存放 实数类型: + 0.314 * 10 +1 = 3.14数符 小数部分 指数符号 指数这些类型名统称为关键字 语言中规定的具有特定意义的字符串, 也称为保留字 不能用在规定意义以外的用途 还有很多,见附录代码中有两种数据#include int main(void) double s; s=7/2;printf(“

3、%fn”,s) ; return 0 ; 变量常量C语言数据的表现形式 常量 程序执行中值不发生改变 区分类型,有书写格式决定 例:15 , 13.5, 0, 0 变量 用变量名定义数据储存空间,定义时指定类型 程序执行中变量的值可以发生改变变量定义存储示意随机数a变量名5a6a定义变量存入整数5存入整数65被替换为6问题: 1.变量如何定义? 2.如何存入或取出数据?变量定义的代码实现 一般形式:类型名 变量名表; 例: int s; float x; double a,l;多个变量时 用逗号隔开变量名命名规则 由az、AZ、09、_ 组成 变量名的第一个字符不能是数字 关键字不能作为变量名

4、 注意区别大小写练习:判断正误Int float _123 9k qbasic printfa.b year business()变量名要简单明了、见名知意 不提倡用函数名 变量名,关键字都属于标示符 c语言中出现的各种数字,字母,下划线构 成的字符串统称为标示符 包括 关键字 自定义标示符,如变量名 预定义标示符,如函数名等变量的使用 如何将数据放入变量? 如何将数据从变量中取出? 使用赋值运算符 =赋值运算 赋值运算符 = 例: i=6; 表示将6放入变量i中 赋值运算的一般形式 变量 = 表达式 赋值运算符的左边必须是变量赋值运算需要区别数据类型 类型相同才能赋值 类型不同? 转换为相同

5、类型 如何转换?系统自动 例:int a;a=4.5;自动转换为4,然后赋值给a变量定义及赋值的代码实现int a; a=5; a=6;随机数a5a6a定义变量存入整数5存入整数65被替换为6变量定义在代码中的位置 main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); c语言提供的各种运算算术运算 算术运算符: + +(加)(加) - -(减)(减) * *(乘)(乘) / /(除)(除) %(求余)(求余) - -(求负)(求负) 说明 运算符两边类型要求一致 得到的运算结果也为该类型 求余运算符”%“两侧的运算

6、量必须是整型两边类型不一致怎么办 系统自动转换,转换规则如下:floatintlongdoublechar转换方向c语言中也支持强制转换 转换语句的一般形式 (类型名)表达式; 例: double x; int y,z; x=2.5,y=5; z=(int)x+y; x=3.5;自动类型转换实例A + 12 10.05 657766.95charintdoubleintdouble练习:计算 2+3.5 1/2 1/2.0 5%2 2%5 代码段 执行后,a的值是多少 int a; a=2+3.5;注意 C语言的运算中,用()代替, 练习: 将代数式 改写成算术运算表达式3.14159 * (

7、 r * r ) / ( a + b ) 引例问题的解决 #include int main(void) double s; s=7/2; printf(“%fn”,s) ; return 0 ; 赋值运算补充 简单赋值运算 = 复合赋值运算符 +=,-=,*=,/=,%= a+=5; 相当于a=a+5 x*=y+7 相当于x=x*(y+7) a%=b 相当于a=a%b 复合赋值运算符的使用有利于高效的编译处理 ,产生高质量的目标代码 优先级别低自增自减运算 对变量的运算 加1和减1 +n;n+;-n;n- 效果相同 区别体现在 代码1: int n=5,m; m=+n; 代码2: int n=5,m; m=n+;m=6,n=6m=5,n=6逻辑运算 运算符 double d=2.0 , e; c=a/b ; c=a/d ; e=a/b ; e=a/d ;长度运算 运算符 sizeof() 用法 sizeof(数据类型标示符) sizeof(表达式) 例:vc环境下 double a; sizeof(int); 计算结果为4 sizeof(a); 计算结果为8位运算 运算符 , &, |, , 按位取反,按位与,按位或,按位异或 左移位,右移位 直接对二进制位进行运算 只能对整数,字符类型进行运算 通过位运算能直接控制硬件,提高运算效 率 是c语言区别于其他高级语言的一大特长

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号