c语言两种同的数据类型相加,C语言第3章数据类型,表达式与运算符.ppt

C语言第3章数据类型,表达式与运算符

第三章 数据类型、运算符与表达式 例1 从键盘输入半径,求圆的面积。 #include #define PI 3.1415926 main() { float radius,area; scanf("%f",&radius); area=PI*radius* radius; printf("area=%f\n",area); } 运行结果: 2↙ area=12.566370 例2 变量的定义、赋值和输出。 #include main() { char course; int num, grade; course=’C’; /*course赋值为’C’*/ num=1201; /*num赋值为1201*/ grade=90;/*grade赋值为90*/ printf("%d, %c, %d\n", num, course, grade) ; } 运行结果为: 1201, C, 90 整型≠整数 int 的范围: - 32768~+32767 例5 #include main() { int a ; printf(“Input :”); scanf(“%d”,&a); printf(“a=%d\n”,a); } 3.7 数据类型转换 C语言允许不同的类型的数据进行混合运算,但在运算前,需 要对数据进行的类型转换。类型转换的方法主要有两种:自动转 换和强制转换。 一、自动转换 各类数值型(包括字符型)数据之间的混合运算(赋值运算除 外),由系统自动完成类型转换,转换的规则如图所示: 赋值运算符的优先级只高于逗号运算符,低于其他任何运算符,其结合性为自右向左。赋值表达式的计算过程:先求赋值运算符右侧表达式的值,然后将求出的值赋给左侧的变量。当赋值运算符左右两侧的数据类型不相同时,系统将自动进行类型转换,将右侧的类型转换成左侧的类型后再赋值,一般有以下几种情况: 1)将浮点型赋给整型,则将小数部分舍弃,只保留整数部分。例如有int i;执行“i=1.5”,结果i的值为1; 2)将整型赋给浮点型,数值不变,但增加小数部分(小数部分值为0),并以浮点形式存放。例如有float f;执行“f=4”,结果f的值为4.000000; 3)将字符型赋给整型,则将字符的ASCII码值放到整型量的低8位中,高位为0; 4)将整型赋给字符型,则只取整型量的低8位赋给字符量。 例9 赋值表达式的计算。 #include main() { int num; num=26; num+=num-=num*=num; printf("num=%d\n",num); } 运行结果为: num=0 四、逗号运算符和逗号表达式 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。其一般形式为: 表达式1,表达式2 ,…,表达式n 其求值过程是分别求表达式1、表达式2…表达式n的值,并以最后一个表达式n的值作为整个逗号表达式的值。 例10 逗号运算符的运用。 main() { int a,b,x,y; a=1,b=2; y=(x=a,a+b); printf("x=%d,y=%d\n",x,y); } 运行结果为: x=1,y=3 横向箭头表示必定的转换;纵向箭头表示类型级别的高低,当运算符两侧数值类型不同时,低级类型向高级类型转换。例如有如下变量定义:int i;double d;则表达式3*i+d最终的结果类型为double型。 二、强制转换 运算的过程中,除了系统自动转换类型,还可以进行强制类型转换运算符“(类型)”将表达式转换成括号内标明的类型,其一般形式为: (类型) 表达式 强制类型转换运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值