资源描述:
《大学C语言教程第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、第五节其他运算符的应用第六节运算符的优先级与结合性第七节程序举例本章小结习题四运算符是C语言中用于描述数据运算的特殊符号,表达式是基本数据对象和运算符的结合描述。第一节运算符与表达式概述一、运算符运算符是表示运算类型和规则的特定符号。C语言中的运算符按其在表达式中与运算对象的关系(即连接运算对象的个数),可分为单目运算符、双目运算符和三目运算符;按它们在表达式中的作用,可分为12种。具体的运算符及其含义如表4.1所示。表4.1运算符及其含义二、表达式在C语言中,表达式是通过各种运算符把多个运算对象组合起来而形成的式子,运算对象包括常量、变
2、量和函数。表达式主要有算术表达式、关系表达式、逻辑表达式、赋值表达式、条件表达式和逗号表达式等。表达式无论长短,最终应该计算出一个确定的值,其结果的类型取决于表达式的类型及表达式中混合运算的类型转换。例如: intnum1,num2=15; floatf1,f2=2.15; charch1,ch2=‘a’; num1=f2*ch2-15; f1=f2*ch2-15; ch1=f2*ch2-15; 上例中,表达式结果的类型取决于表达式的类型,如 num1=f2*ch2-15,其结果是整型;f1=f2*ch2-15
3、,其结果是实型。C语言中的运算符范围很广,除了控制语句和输入输出外的基本操作都作为运算符处理。其中以算术运算符最重要,本节将重点介绍。第二节算术运算符与算术表达式一、算术运算符算术运算符用于对数据进行算术运算。C语言中的算术运算符及其含义如表4.2所示。表4.2算术运算符及其含义对于算术运算符应注意以下几点: (1)“+”和“–”运算符既可以作为加法、减法运算符,也可以作为正、负运算符。 (2)在使用“/”运算符时,要注意数据类型,如果操作数都是整数,则结果为两数相除的商;如果操作数都是实数,则结果是实数。 (3)“%”运算
4、符又称为求余运算符,它的操作数都是整数,结果是两数相除的余数。(4)算术运算符的优先级,可以从以下3点理解。 1)先进行乘除运算,再进行加减运算,结合方向是自左至右。 2)取负和自增自减运算符的优先级相同,结合方向是自右至左。 3)取负和自增自减运算符的优先级高于加减乘除运算符。二、算术表达式C语言中的算术表达式是由算术运算符、常量、变量、函数及圆括号组成的。关于算术表达式,应注意以下两点: (1)双目运算符两侧运算对象的数据类型必须一致,其结果也应与运算对象的数据类型一致。如果数据类型不一致,则系统将自动按照转换规律对
5、其进行转换,然后再进行运算。 (2)两个整数相除,其结果为整数,如5/2=2,1/2=0;两个整数求模运算,其结果应为这两个整数相除的余数,如5%2=1,1%2=1。例4.1求任意两个数相除的结果及余数。 程序 #include main() {intnum1,num2,num3,num4; printf(“Pleaseinputtwonumbers.”); printf(“num1=”); scanf(“%d”,&num1); printf("num2=");scanf(“%d”
6、,&num2); num3=num1/num2; num4=num1%num2; printf(“%d%c%d=%d”,num1,47,num2,num3); printf(“%d%c%d=%d”,num1,37,num2,num4);}输入Pleaseinputtwonumbers.num1=15↙num2=4↙输出分析 程序中首先输入两个整型数据num1和num2;然后通过求余运算和求模运算,求出两数相除的商和余数;最后输出运算结果。程序中求余和求模运算符是通过其ASCII码输出的。例4.2算术运算符优先级
7、实例。 程序 #include main() {intnum1,num2,num3,num4,num5; printf(“Pleaseinputanumber.”); printf(“num1=”);scanf(“%d”,&num1); num2=-num1++; num3=-++num2; num4=--num3; num5=num1+num2*num3-num4; printf(“num3=%dnum4=%dnum5=%d”,num3,num4,num5
8、);}输入Pleaseinputanumber.num1=15↙输出关系运算用于判断关系表达式中运算符左右运算对象的大小,关系的成立是建立在关系表达式结果的基础上的。关系表达式的结果称为逻辑值