版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计运算符与表达式运算符与表达式 3.1 算术运算与算术表达式算术运算与算术表达式 3.2 关系运算与关系表达式关系运算与关系表达式3.3 逻辑运算与逻辑表达式逻辑运算与逻辑表达式3.4 赋值运算与赋值表达式赋值运算与赋值表达式 3.5 自增、自减和逗号运算自增、自减和逗号运算 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 3.1.1 算术运算算术运算 1基本算术运算符基本算术运算符 基本算术运算符有如下基本算术运算符有如下5种:种: +(加法加法)、(减法减法)、*(乘法乘法)、/(除法除法)、%(求余数求余数) 1) 关于
2、除法运算关于除法运算“/” C语言规定:两个整数相除,其商为整数,小数语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,部分被舍弃。例如,10/3=3。如果相除的两个数中至。如果相除的两个数中至少 有 一 个 是 实 型 的 , 则 结 果 为 实 型 。 例 如 ,少 有 一 个 是 实 型 的 , 则 结 果 为 实 型 。 例 如 ,10.0/3=3.333333。 3.1 算术运算与算术表达式算术运算与算术表达式情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 如果商为负值,则取整的方向随系统而异。但大如果商为负值,则取整的方向随系统而异。但大多数系统采取多数系统采取
3、“向零取整向零取整”原则,既取整后向零靠拢,原则,既取整后向零靠拢,换句话说,取其整数部分。例如,换句话说,取其整数部分。例如,-5/3=-1。 2) 关于求余数运算关于求余数运算“%” 求余数运算要求两侧的操作数均为整型数据,否求余数运算要求两侧的操作数均为整型数据,否则出错。例如,则出错。例如,5%2=1。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 3.1.2 算术表达式算术表达式 1算术表达式的概念算术表达式的概念 所谓算术表达式,是指表达式中的运算符都是算术所谓算术表达式,是指表达式中的运算符都是算术运算符。例如,运算符。例如,3+6*9、(x+y)/2-1等,都是算术
4、表达式。等,都是算术表达式。 2表达式求值表达式求值 表达式求值的规则如下:表达式求值的规则如下: (1) 按运算符的优先级高低次序执行。例如,先乘除按运算符的优先级高低次序执行。例如,先乘除后加减。后加减。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计3.2 关系运算及其表达式关系运算及其表达式 所谓所谓“关系运算关系运算”,实际上是,实际上是“比较运算比较运算”:将:将两个值进行比较,判断其比较的结果是否符合给定的两个值进行比较,判断其比较的结果是否符合给定的条件。例如,条件。例如,“ab”中的中的“”表示一个大于关系运算,表示一个大于关系运算,如果如果a的值是的值是5,b的值
5、是的值是3,则大于关系运算,则大于关系运算“”的结的结果为果为“真真”,即条件成立;如果,即条件成立;如果a的值是的值是2,b的值是的值是3,则大于关系运算则大于关系运算“”的结果为的结果为“假假”,即条件不成立。,即条件不成立。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计3.2.1 关系运算符及其优先次序关系运算符及其优先次序1关系运算符关系运算符C语言提供语言提供6种关系运算符:种关系运算符: = (大于或等于大于或等于) (大于大于) != (不等于不等于) 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2优先级优先级 (1) 在关系运算符中,前四个优先级相同
6、,后两个在关系运算符中,前四个优先级相同,后两个也相同,且前四个高于后两个。例如,也相同,且前四个高于后两个。例如,“”优先于优先于“= =”。而。而“”与与“b,a+bc-d,(a=3)=b,(ab)= =(bc)情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2关系表达式的值关系表达式的值 关系表达式的值是一个逻辑值关系表达式的值是一个逻辑值(非非“真真”即即“假假”)。由。由于于C语言语言没有逻辑型数据没有逻辑型数据,所以用整数,所以用整数“1”表示表示“逻辑逻辑真真”,用整数,用整数“0”表示表示“逻辑假逻辑假”。 例如,假设例如,假设num1=3,num2=4,num3=
7、5,则:,则: (1) num1num2的值为的值为( ) (2) (num1num2)!=num3的值为的值为( ) (3) num1num2num3的值为的值为( ) (4) (num1=0)&(x=0,同时,同时x10*/ (x5) /*x5*/ !(x= =0) /*否定否定x=0,即,即x不等于不等于0时条件成立时条件成立*/ 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2) 逻辑运算符的运算规则逻辑运算符的运算规则 (1) &:当且仅当两个运算量的值都为:当且仅当两个运算量的值都为“真真”时,时,运算结果为运算结果为“真真”,否则为,否则为“假假”。
8、 (2) :当且仅当两个运算量的值都为:当且仅当两个运算量的值都为“假假”时,运时,运算结果为算结果为“假假”,否则为,否则为“真真”。 (3) !:当运算量的值为!:当运算量的值为“真真”时,运算结果为时,运算结果为“假假”;当运算量的值为假时,运算结果为;当运算量的值为假时,运算结果为“真真”。 例如,假定例如,假定x5,则,则(x=0)&(x10)的值为的值为“?”,(x5)的值为的值为“?”。 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2逻辑运算符的运算优先级逻辑运算符的运算优先级 (1) 在三个逻辑运算符中,逻辑非的优先级最高,在三个逻辑运算符中,逻辑非的优
9、先级最高,逻辑与次之,逻辑或最低,即:逻辑与次之,逻辑或最低,即: !(非非)&(与与)(或或) (2) 与其他种类运算符的优先关系如下:与其他种类运算符的优先关系如下: !(非非) 高高 算术运算算术运算 关系运算关系运算 &(与与) (或或) 赋值运算赋值运算 低低情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 3.3.2 逻辑表达式逻辑表达式 1逻辑表达式的概念逻辑表达式的概念 逻辑表达式是指用逻辑运算符将一个或多个表达逻辑表达式是指用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。在式连接起来,进行逻辑运算的式子。在C语言中,用语言中,用逻辑表达式
10、表示多个条件的组合。逻辑表达式表示多个条件的组合。 例如例如:“(year%4= =0)&(year%100!=0)(year%400= =0)”就是一个判断一个年份是否是闰年的逻辑表达式。就是一个判断一个年份是否是闰年的逻辑表达式。 逻辑表达式的值也是一个逻辑值逻辑表达式的值也是一个逻辑值(非非“真真”即即“假假”)。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2逻辑量的真假判定逻辑量的真假判定 0和非和非0 如前所述,如前所述,C语言用整数语言用整数“1”表示表示“逻辑真逻辑真”,用用“0”表示表示“逻辑假逻辑假”。但在判断一个数据的。但在判断一个数据的“真真”或或
11、“假假”时,却以时,却以0和非和非0为根据:如果为为根据:如果为0,则判定为,则判定为“逻辑假逻辑假”;如果为非;如果为非0,则判定为,则判定为“逻辑真逻辑真”。数据。数据的逻辑运算真值表如表的逻辑运算真值表如表4-1所示。所示。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计表表3-3 逻辑运算真值表逻辑运算真值表 ab!a!ba&bab非非0非非00011非非0001010非非000情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 对于逻辑与运算,如果第一个操作数被判定为对于逻辑与运算,如果第一个操作数被判定为“假假”,由于第二个操作数不论由于第二个操作数不论“
12、真真”还是还是“假假”,都不会对,都不会对其结果产生影响,所以系统不再判定或求解第二个操其结果产生影响,所以系统不再判定或求解第二个操作数。作数。 对于逻辑或运算,如果第一个操作数被判定为对于逻辑或运算,如果第一个操作数被判定为“真真”,同样的,第二个操作数不论同样的,第二个操作数不论“真真”还是还是“假假”,都不,都不会对其结果产生影响,所以系统不再判定或求解第二会对其结果产生影响,所以系统不再判定或求解第二个操作数。个操作数。 例如,假设例如,假设n1、n2、n3、n4、x、y的值分别为的值分别为1、2 、 3 、 4 、 1 、 1 , 则 求 解 表 达 式, 则 求 解 表 达 式“
13、(x=n1n2)&(y=n3n4)”后,后,x的值变为的值变为?,而,而y的值的值?情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计3.4 赋值运算与赋值表达式赋值运算与赋值表达式 1赋值运算赋值运算 赋值运算符的一般形式为赋值运算符的一般形式为 变量变量=赋值表达式赋值表达式 注意:被赋值的变量,必须是单个变量,且必须注意:被赋值的变量,必须是单个变量,且必须在赋值运算符的左边。在赋值运算符的左边。 例如:例如: x=5 y=(float)5/2 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 思考题:思考题: 假设变量假设变量num的数据类型为的数据类型为fl
14、oat,其值为,其值为52.5,则执行则执行“num=(int)num”后,后,num的值等于多少?的值等于多少?情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 2复合赋值运算复合赋值运算C语言规定的语言规定的10种复合赋值运算符如下:种复合赋值运算符如下:+=, =,*=,/=,%= /*复合算术运算符复合算术运算符(5个个)*/=,=,|=,= 一般格式:一般格式: 变量变量 双目运算符双目运算符 表达式表达式 它等价于:变量它等价于:变量=(变量变量 双目运算符双目运算符 表达式表达式)。 注意:当表达式为简单表达式时,表达式外的一对圆注意:当表达式为简单表达式时,表达式外的
15、一对圆括号才可以省略,否则可能出错。括号才可以省略,否则可能出错。例如:例如: x+=5 /*等价于?等价于?*/ y*=x+3情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计3.5 自增、自减和逗号运算自增、自减和逗号运算 3.5.1 自增自增(+)、自减、自减(-)运算运算 自增运算使单个变量的值增自增运算使单个变量的值增1,自减运算使单个变,自减运算使单个变量的值减量的值减1。自增、自减运算符都有两种用法:。自增、自减运算符都有两种用法: (1) 前置运算前置运算运算符放在变量之前:运算符放在变量之前:+变量、变量、-变量,如:变量,如:+i;-j;。它先使变量的值增。它先使变
16、量的值增(或减或减)1,然,然后再以变化后的值参与其他运算,即先增减,后运算。后再以变化后的值参与其他运算,即先增减,后运算。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 (2) 后置运算后置运算运算符放在变量之后:变量运算符放在变量之后:变量+、变量变量-,如:如:i+;j-;。它使变量先参与其他运算,然。它使变量先参与其他运算,然后再使变量的值增后再使变量的值增(或减或减)1,即先运算,后增减。,即先运算,后增减。 【例例3.4】 自增、自减运算符的用法与运算规则自增、自减运算符的用法与运算规则示例。示例。 /*程序功能:自增、自减运算符的用法与运算程序功能:自增、自减运算符
17、的用法与运算规则示例规则示例*/情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计main() int x=6,y; printf(x=%dn,x); y=+x; printf(y=+x:x=%d,y=%dn,x,y); y=x-; printf(y=x-:x=%d,y=%dnx,y); 情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 程序运行结果如下:程序运行结果如下: x=6 y= +x:x=7,y=7 y=x-:x=6,y=7 思 考 题 : 如 果 将 例思 考 题 : 如 果 将 例 3 . 4 中 的 前 置 运 算 语 句中 的 前 置 运 算 语 句“y=+
18、x;”改为后置运算语句改为后置运算语句(y=x+;),“y=x+;”语句中的后置运算改为前置语句中的后置运算改为前置(y=-x;),程,程序运行结果会如何?序运行结果会如何?情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 说明:说明: (1) 自增、自减运算常用于循环语句自增、自减运算常用于循环语句(第第5章章)以及指以及指针变量针变量(第第9章章)中。它使循环控制变量加中。它使循环控制变量加(或减或减)1,或使,或使指针指向下指针指向下(或上或上)一个地址。一个地址。 (2) 自增、自减运算符不能用于常量和表达式。例自增、自减运算符不能用于常量和表达式。例如,如,5+、-(a+b
19、)等都是非法的。等都是非法的。 (3) 在表达式中,同一变量连续进行自增自减运算在表达式中,同一变量连续进行自增自减运算时,很容易出错,所以最好避免这种用法。时,很容易出错,所以最好避免这种用法。 例如,表达式例如,表达式(x+)+(x+)+(x+)的值等于多少的值等于多少(假设假设x=3)?有人认为相当于?有人认为相当于3+4+5=12。事实上?。事实上?情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 在TC和MSC系统下,该表达式值为9:先把变量的初值(=3)取出来,作为表达式中变量x的值,执行两次加法得9;然后,再执行变量x的自增运算3次,所以变量x的值为6。显然,想象的与实际的大相径庭,所以,类似这种用法,最好不要使用。情境情境1 1:学生成绩输入输出设计:学生成绩输入输出设计 3.5.2 逗号运算符及其表达式逗号运算符及其表达式 C语言提供一种用逗号运算符语言提供一种用逗号运算符“,”连接起来的连接起来的式子,称为逗号表达式。逗号运算符又称顺序求值运式子,称为逗号表达式。逗号运算符又称顺序求值运算符。它的一般形式如下:算符。它
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西省人教版高中英语高三上册写作技巧专项训练
- 2026年湘教版六年级英语下册第7单元阅读理解专项训练
- 2026考研英语写作高分技巧模拟卷
- 2026年四川省人教版初中英语第6单元写作练习
- 中医催乳模拟试题及清晰答案解析
- 医用治疗设备考试试题及答案
- 2026年高考英语口语表达与听力试题
- 2026年职场英语听说能力考试知识点解析
- 我国高等教育国际化进程中的挑战与对策研究真题
- 广东省惠州市惠东燕岭学校2027届九年级化学第一学期期中调研试题含解析
- 中国石化岗位管理办法
- 第一次月考测评卷(1-2单元试卷)(含答案)2025-2026学年六年级数学上册(人教版)
- 南昌存量房买卖合同(标准版)
- 医药企业2025年研发外包(CRO)模式下的研发成本分析与控制报告
- 4-轨道车运行控制设备(GYK)V1.5.1使用说明书20191022
- DB4403-T 339-2023 城市级实景三维数据规范
- 选举法培训课件
- 北师大版(2024新版)七年级上册数学全册教案
- GB/T 6892-2023一般工业用铝及铝合金挤压型材
- 标准钎探记录表
- 建筑马明哲的管理之路平安心语
评论
0/150
提交评论