第七讲 运算符和表达式-逻辑运算符_第1页
第七讲 运算符和表达式-逻辑运算符_第2页
第七讲 运算符和表达式-逻辑运算符_第3页
第七讲 运算符和表达式-逻辑运算符_第4页
第七讲 运算符和表达式-逻辑运算符_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目二程序设计基础知识第七讲运算符和表达式-逻辑运算符C语言程序设计任务驱动式教程运算符和表达式C程序基础知识概述数据类型常量变量目录数据类型转换问题导入101-199-6610在这一组数中,如何设计一表达式选取其中大于100或小于0的数?逻辑运算符逻辑表达式运算符和表达式-----逻辑运算符任务七逻辑运算符有3个:!(逻辑非)&&(逻辑与)||(逻辑或)用逻辑运算符将表达式连接起来,构成逻辑表达式。“x大于100或x小于0”可以这样表达(x>100)||(x<0)逻辑表达式的结果是什么呢?运算符和表达式-----逻辑运算符任务七逻辑表达式的结果有两种:关系式成立,则为“真”,用1表示。关系式不成立,则为“假”,用0表示。

(x>100)||(x<0)这一表达式的结果是什么呢?表达式的结果与a、b、c的取值有关。运算符和表达式-----逻辑运算符任务七设a是一种可能的状态,b是另一种可能的状态,不同的逻辑运算,得到的逻辑结果如何?(0表示假,1表示真)aba&&ba||b1111100101010000A!A1001运算符和表达式-----逻辑运算符任务七

设a=5、b=6、c=7,

“a>b&&c>a”是?

示例1

0&&1a>b&&c>a结果”假”,表达式的值为0“a>b&&c>a”的结果是0

示例2

设a=1、b=6、c=10,

“a==b||c>b”是?

0||1a==b||c>b结果”真”,表达式的值为1“a==b||c>b”的结果是1运算符和表达式-----逻辑运算符任务七

判断某一字符为大写字母。(设变量ch代表“字符”)应用1ch>=‘A’&&ch<=‘Z’判断某一年份是否为闰年。闰年的条件是:能被4整除但不能被100整除,或者能被400整除。(设变量year代表“年份”)year%4==0&&year%100!=0||year%400==0应用2

思考逻辑运算符中哪个运算符的优先级别最高?运算符和表达式-----逻辑运算符任务七运算符类型运算含义优先级结合性!单目!x逻辑非高↓低从右向左&&双目x&&y逻辑与从左向右||双目x||y逻辑或从左向右

逻辑运算符优先级与结合性

运算符和表达式任务七逻辑运算符中的“&&”和“||”的结合性为从左到右,“!”的结合性为从右到左。例如:a>c&&a<b 等效于(a>c)&&(a<b)a==b||x>y 等效于(a==b)||(x>y)a<b||!a 等效于(a<b)||(!a)a>c&&a<b+c 等效于(a>c)&&(a<(b+c))2<3&&6>3-!0 等效于(2<3)&&(6>(3-!0))

逻辑运算符优先级与结合性

运算符和表达式-----逻辑运算符任务七【注意】(1)对于逻辑与运算,如果第一个操作对象被判定为“假”,系统将不再判定或求解第二个操作对象。例如:8<3&&6>5先计算8<3,结果为“假”,系统将不再计算6>5,整个表达式的结果为“假”。(2)对于逻辑或运算,如果第一个操作对象被判定为“真”,系统将不再判定或求解第二个操作对象。例如:8>3||6>5先计算8>3,结果为“真”,系统将不再计算6>5,整个表达式的结果为“真”。运算符和表达式-----逻辑运算符任务七例:

a&&b&&c//只在a为真时,才判别b的值;

只在a、b都为真时,才判别c的值例:

a||b||c//只在a为假时,才判别b的值;

只在a、b都为假时,才判别c的值例:a=1;b=2;c=3;d=4;m=1;n=1;

(a>b)&&(c>d)短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符.//结果:0运算符和表达式-----逻辑运算符任务七逻辑运算符与其他运算符优先级的关系技能实训

已知:m=2,n=3,a=1,b=2;x=(m=a>b)&&(n=a<b);y=(m=a>b)||(n=a<b);参照下面的结果编写程序计算x,y的值。练一练技能实训任务七练一练技能实训任务七#include<stdio.h>intmain(){ intm=2,n=3,a=1,b=2; /*定义变量m,n,a和b并赋值*/ intx,y; /*定义变量x和y*/ x=(m=a>b)&&(n=a<b); /*计算逻辑表达式的值并将值赋给变量x*/ printf("x=%d,m=%d,n=%d\n",x,m,n);/*输出变量x,m和n的值*/ y=(m=a>b)||(n=a<b); /*计算逻辑表达式的值并将值赋给变量y*/ printf("y=%d,m=%d,n=%d\n",y,m,n);

/*输出变量y,m和n的值*/ return0; /*函数返回值0*/}技能实训输入一个华氏温度F,根据公式:c=5*(f-32)/9,(华氏温度:f,摄氏温度:c),计算输出对应的摄氏温度。编写程序:已知直线方程y=kx+3,要求输入y坐标以及k,求x坐标。编写程序:输入一个3位数的整数,然后求该数的3个数字之和。编写程序:输入一个字符ch,然后输出与它前后相邻的两个字符。练一练技能实训任务七技能实训输入一个华氏温度F,根据公式:c=5*(f-32)/9,(华氏温度:f,摄氏温度:c),计算输出对应的摄氏温度。练一练技能实训任务七#include<stdio.h>

main()

{

int

k,y;

double

x;

scanf("%d,%d",&y,&k);

x=(y-3)/k;

printf("%ld",x);

return

0;

}#include<stdio.h>

main()

{

char

ch;

printf("%c

%c",ch-1,ch+1);

return

0;

}学习总结答一答任务七学习总结【问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论