版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章运算符1.;回顾 常量在程序中不能被更改,而变量在程序中可以被更改 C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型 整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型 单精度浮点型和双精度浮点型变量可以存储实数 字符型变量可以存储单个字符,其值是该字符的ASCII 码 算术运算符提供运算功能,包括+、-、*、/、%、+、- printf() 和 scanf() 函数属于格式输入输出函数 getchar() 和 putchar() 函数用来输入输出单个字符的函数2目标 理解表达式 掌握赋值运算符的用法 熟练使用关系运算符 掌握简单的条件语句的使用 熟
2、练使用逻辑运算符 了解sizeof运算符 理解运算符的优先级3表达式 3-14Z = ( X * 2 ) + ( 5 Y ) 表达式 3-2操作数操作数操作数操作数表达式表达式表达式表达式表达式表达式运算符运算符5表达式 3-3 表达式由操作数和运算符的组合而成表达式中的操作数可以是变量、常量或者子表达式运算符的主要类型有: 算术运算符 赋值运算符 关系运算符 逻辑运算符6变量变量 表达式表达式; ;赋值运算符Height = 177.5;Weight = 78;Gender = m;x = a+b;w = sin(a)+sin(b);y = i+ -j;7复合赋值运算符运算符运算符表达式表达
3、式计算计算结果(假设结果(假设 X=10X=10)+=X += 5X = X + 515-=X -= 5X = X - 55*=X *= 5X = X * 550/=X /= 5X = X / 52%=X %= 5X = X % 508示例#include void main () float book_price = 60.75; printf(n 书的价格 = %f,book_price); book_price += 12.50; printf(n 书的新价格 =%fn,book_price);book_price=book_price+12.50;输出:书的价格 = 60.750000
4、书的新价格 = 73.2500009关系运算符 3-1 操作数操作数关系运算符关系运算符关系表达式的关系表达式的计算结果计算结果 = = 逻辑值(真或假)逻辑值(真或假)在在C C语言中,语言中,“0 0”表示表示“假假”,“非非0 0”表示表示“真真”操作数操作数 关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。10关系运算符关系运算符关系运算符 3-2操作数操作数1 1操作数操作数2 211关系运算符 3-3num1=10; num2=5;num3=20;num4=10;(num1 + num2) (num3 num4)num=40;num/10 !
5、= 2gender = m真假=如果 gender = f如果 gender = m12条件结构 2-1 条件结构就是需要根据不同条件进行判断,然后执行不同的操作 简单 if 语句的一般形式为:if () 如果条件为真,if 语句执行一个语句或一组语句; 如果条件为假,则执行 if 语句后面的语句(如果有)。13条件结构 2-2 if-else 语句的一般形式为:语句的一般形式为: if () else 如果条件为真,执行 if 后面的一个语句或一组语句; 如果条件为假,则执行 else 后面的语句。14# include void main() int num1, num2, sum; pr
6、intf(n请输入两个数:); scanf(%d %d, &num1,&num2); sum = num1+ num2 ; if(sum 100) printf(n两数的和大于 100 n );简单if语句的示例内存内存num1num2sum5678134请输入两个数:56 78两数的和大于 10015#include void main()int num;printf(n请输入一个整数:); scanf (%d,&num);if(num % 2) = 0)printf(%d 是一个偶数。n,num); elseprintf(%d 是一个奇数。n,num);if-els
7、e语句的示例内存内存num57请输入一个整数:5757 是一个奇数。16逻辑运算符 q逻辑运算符用于连接一个或多个条件,判断这些条件是否成立q逻辑运算符的类型为:运算运算运算符运算符表达式表达式逻辑“与”&operand1 & operand2逻辑“或”|operand1 | operand2逻辑“非”!operand1 17 逻辑“与”运算符 &所有学科及格考勤率达到 75%留级留级留级升级YesNoNoNoNoYesYesYes18逻辑“与”运算符 &表达式表达式 1 1表达式表达式 2 2结果结果000010100111所有学科及格考勤率达到 75%留级留
8、级NoNo升级YesYes留级NoYes留级留级NoYes19逻辑“或”运算符 |无法支付可支付可支付可支付YesNoNoNoNoYesYesYes购物帐单信用卡20现金信用卡逻辑“或”运算符 |表达式 1表达式 2结果000011101111无法支付NoNo可支付NoYes可支付NoYes可支付YesYes21逻辑“非”运算符 !不带伞带伞NoYes天气 NOT 阴天22逻辑“非”运算符 !表达式结果1001天气 NOT 阴天真真假带伞操作不带伞23逻辑运算符总结所有学科所有学科及格及格考勤率达到考勤率达到 75%&天气天气 NOT 阴天阴天只有当两个两个条件都为真真时才执行操作只要
9、任何任何一个条件为真真时就执行操作对原条件取反取反,即:如果原条件为假时就执行操作|!24问题描述:要求用户输入一个字符,用程序判断该字符是否为小写字母 ,并输出相应的信息。#include void main()char a;printf(n请输入一个字符:);scanf(%c,&a);if(a=a & a=z) printf(您输入的字符是小写字母n,a);elseprintf(您输入的字符不是小写字母n,a);使用&运算符的示例内存内存numT请输入一个字符:T您输入的字符不是小写字母2526问题描述:接受用户输入的三种商品的价格。如果购买的三种商品中至少有一种商
10、品的价格大于 50 或者三种商品的总额大于 100,则折扣率为15,否则折扣率为,计算并显示用户应付的钱数。 #include void main() float rate1,rate2,rate3; double discount,total; printf(n请输入第一种商品的价格:); scanf(%f,&rate1); printf(n请输入第二种商品的价格:); scanf(%f,&rate2); printf(n请输入第三种商品的价格:); scanf(%f,&rate3); total=rate1+rate2+rate3; if(rate150)|(rat
11、e250)|(rate350)|(total100) discount=0.15*total; total=total-discount; printf(n折后总价为:%6.2fn,total); else printf(n总价为:%6.2fn,total); 使用 | 运算符的示例 if(rate150)|(rate250)|(rate350)|(total100)输出:请输入第一种商品的价格:34请输入第二种商品的价格:42请输入第三种商品的价格:38折后总价为:96.90问题描述:确定用户输入的数字是否可以被5整除,并输出相应的消息。 #include void main() int n
12、um; printf(n 请输入一个数:); scanf(%d,&num); if (!(num %5) printf(n 该数能被 5 整除 n ); else printf(n 该数不能被 5 整除 n );使用 ! 运算符的示例请输入一个数:90该数能被 5 整除27sizeof 运算符 sizeof(int);float num;sizeof(num);24char1int2short int2long4float4double8sizeof 运算符返回的大小q使用 sizeof 运算符可以获得数据类型占用内存空间的大小。其一般形式为: sizeof(type_name)qsi
13、zeof 运算符的结果以字节为单位显示注意:在32位计算机中,int类型的变量占4字节的内存大小,和long类型的大小一样,所以现在基本上可以直接使用int类型,而不需要使用long类型。 28运算符优先级 2-1 当我们遇到一个复杂表达式时,需要确定先执行哪种运算,此时就需要考虑运算符的优先级 z = x + y g * h * (t/20)+ 65 r % 2先算哪部分加?减?取余?除?括号?要解决此问题,需要使用:运算符优先级29运算符优先级 2-2运算符运算符描述描述结合性结合性()圆括号自左向右!, +, -, sizeof逻辑非,递增, 递减,求数据类型的大小自右向左*, /, %
14、乘法,除法,取余自左向右+, -加法,减法自左向右, , =小于,小于等于,大于,大于等于自左向右= =, !=等于,不等于自左向右&逻辑与自左向右|逻辑或自左向右=,+=, *=, /=, %= ,-=赋值运算符,复合赋值运算符自右向左30问题描述: 判定给定的年份是否为闰年。提示:闰年的判定规则为:能被 4 整除但不能被 100 整除的年份,或能被 400 整除的年份。 #include void main() int year; printf(n 请输入年份:); scanf(%d,&year); if(year % 4 =0 & year % 100 != 0)
15、 | (year % 400 = 0) printf(n %d 年是闰年 n , year); else printf(n %d 年不是闰年 n , year);综合示例1请输入年份:20052005 年不是闰年31问题描述:输入一个5位数,判断它是不是回文数。例如:12321是回文数,个位与万位相同,十位与千位相同。 #include void main()long ge,shi,qian,wan,x;printf(n 请输入一个五位整数:);scanf(%ld,&x);wan=x/10000; /分解出万位数qian=x%10000/1000; /分解出千位数shi=x%100/10; /分解出十位数ge=x%10; /分解出个位数if (ge=wan & shi=qian) /*个位等于万位并且十位等于千位*/printf(n 这个数是回文数n);elseprintf(n 这个数不是回文数n);综合示例2输出:请输入一个五位整数:45654这个数是回文数32总结 2-1 表达式是操作数和运算符的集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浮雕《和服少女》的创作实践报告
- 100%覆盖面试考点2025德语游戏客服面试题库及答案
- 2021上海事业单位招聘考试历年真题+岗位选择指南
- 2023市政院技术岗笔试专属试题及答案解析
- 2020年民用燃气户内安检员培训考试题及完整答案
- 大学武术公共课2022期末考零基础必过指南+题目答案
- 2024潍坊教育类优才计划笔试在职备考指南+真题答案
- 支教战略合作协议书
- 女性疾病妇科炎症护理指南
- 结核性脑膜炎护理指南
- 部编版六年级下册语文课堂作业(可打印)
- 材料承认管理办法
- 中共山西省委党校在职研究生考试真题(附答案)
- 2025年浙江杭钢集团招聘笔试冲刺题2025
- 2025年广东省中考数学试卷真题(含答案详解)
- DB64∕680-2025 建筑工程安全管理规程
- 山姆基本工资管理制度
- 高中生研究性报告及创新成果
- DB32/ 4385-2022锅炉大气污染物排放标准
- 湘雅临床技能培训教程第2版操作评分标准表格内科
- 弃土清运合同协议
评论
0/150
提交评论