c语言短整型的长度修饰符,C语言程序设计No.3 第3章数据类型概要1.ppt

C语言程序设计No.3 第3章数据类型概要1

* §3.8 算术运算符和算术表达式 2、算术表达式和运算符的优先级与结合性 (1)算术表达式:用运算符和括号将运算对象(也叫操作数)连接起来、符合C语法规则的式子。 运算对象包括常量、变量、函数等 如:3.14*r*r x+sqrt(0.25*y)/(abs(a+b-3.6)) (2)运算符的优先级和结合性 优先级:先 * / % 后 + - 结合型:左结合性,即表达式从左向右进行计算 (详见附录D) * §3.8 算术运算符和算术表达式 3、强制类型转换 可以利用强制类型转换运算符将一个表达式转换成所需类型。 形式:(类型名)表达式 如:(double) a (int)(x+y) (float)(8%5) 教材P57 例3.8 注意:与(int)x+y不同 只将x转换成整型,然后与y相加 又如: float x; i=x%3; 那么输出的i的结果是? 出错!? 原因:%要求其两侧均为整型量,所以应改为i=(int)x%y;(运算符优先级?) * §3.8 算术运算符和算术表达式 三、自增、自减运算符 + + i, - -i 在使用之前,先使用i的值加1或减1 i + +, i - - 在使用之后,使i的值加1或减1 注意: 自增、自减运算符只能用于变量,而不能用于常量或表达式。如:5++、-(a+b) (不合法) 相当于i=i+1,但执行的时机不同 例:自增自减运算 #include “stdio.h” void main( ) { int i=0, j; j=i++; printf(“%d %d\n”,i, j); i=0; j=++i; printf(“%d %d\n”,i, j); } 1 0 1 1 * §3.9 赋值运算符和赋值表达式 一、赋值运算符“=” 形式:变量=表达式 作用:将表达式的值赋给变量 (常量、变量是表达式的特例) 如:a=5; ave=(a+b)/10 二、赋值结果与类型转换 1、实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分 2、整型数据赋给单、双精度变量 时,数值不变,但以浮点数形式 存储到变量中 注意:与数学中的等式不同! 数学中x=y和y=x一样。 #include “stdio.h” void main ( ) { int i; float f; i=5.34; f=23 printf(“%d %f \n”, i, f); } 5 23.000000 * §3.9 赋值运算符和赋值表达式 二、赋值结果与类型转换 3、长度相同的有符号与无符号整型数间,原样赋值 (但数值有时会有变化) #include “stdio.h” void main( ) { unsigned a; int b=-1; a=b; printf(“%d→%u\n”, b, a); a=65534u; b=a; printf(“%d→%u\n”, b, a); } 1 1 11 11 11 11 11 11 11 1 1 11 11 11 11 11 11 11 a b -1→65535 -2→65534 1 1 11 11 11 11 11 11 10 1 1 11 11 11 11 11 11 10 a b 内存中的处理方式 * §3.9 赋值运算符和赋值表达式 二、赋值结果与类型转换 4、char、int、long等类型的转换 (1)“短”数据赋给“长”变量 符号扩展:若最高位为1(负数),则变量高字节位补1;反之,补0。 43号字符‘+’ ‘\53’ i 254号字符‘\376’ i #include void main ( ) { char c; int i; c=43; i=c; printf(“i=%d\n”,i); c=‘\376’; i=c; printf(“i=%d\n”,i); } 00 10 10 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值