版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序运算学习目标学习目标:31学会使用学会使用C语言中运算符对程序中的数据进行语言中运算符对程序中的数据进行处理处理4/19/2022主要内容主要内容:31算术运算算术运算数学库函数数学库函数4/19/20223算术运算符算术运算符2C语言程序的最终目标就是正确的语言程序的最终目标就是正确的数据进行处理数据进行处理(计算计算)4/19/20223算术运算符算术运算符2C语言程序对数据的处理语言程序对数据的处理(运算运算)1、直接运算、直接运算1、简单运算:加,减、简单运算:加,减、乘、除乘、除2、较复杂运算:开平方、较复杂运算:开平方、取对数、三角函数取对数、三角函数2、通过一个过程进行
2、运算、通过一个过程进行运算(后面主要学习的内容)(后面主要学习的内容)C语言程序的最终目标就是正确的数据进行语言程序的最终目标就是正确的数据进行处理处理(计算计算)4/19/20223算术运算符算术运算符2C语言给我们提供了许多的算术运算符语言给我们提供了许多的算术运算符,可以可以对数据进行计算。对数据进行计算。+ - * / %加加 减减 乘乘 除除 取余取余4/19/20223算术运算符算术运算符2u对于除(对于除(/)运算,当两个操作数为整型时,结果也)运算,当两个操作数为整型时,结果也为整型。为整型。例如:例如:48/5其值为其值为9;100/13其值为其值为7。u只要其中一个为实型,
3、其结果也为实型。只要其中一个为实型,其结果也为实型。例如:例如:48/5.0其值为其值为9.6 关于算术运算的特别说明:关于算术运算的特别说明:4/19/2022#include int main() float f1,f2; f1=3.0+5/3; f2=3.0+5.0/3; printf(f1=%f, f2=%f ,f1,f2); return 0;/结果会是什么呢?结果会是什么呢?计算过程:计算过程:4/19/2022 f1计算过程:计算过程:第一步计算除法:第一步计算除法: 5/3=1第二步计算加法:第二步计算加法: 3.0+1=4.0第三步把结果赋值给第三步把结果赋值给f1: f1=
4、4.0; f2计算过程:计算过程:第一步计算除法:第一步计算除法:5.0/3=1.666667第二步计算加法第二步计算加法: 3.0+1.666667=4.666667 第三步把结果赋值给第三步把结果赋值给f1: f2= 4.666667;4/19/20223算术运算符算术运算符2对于取余(对于取余(%)运算,它的两个操作数必须是)运算,它的两个操作数必须是整型,其结果是两数相除的余数,也为整型。整型,其结果是两数相除的余数,也为整型。假设假设a和和b是两个是两个int类型的变量,且类型的变量,且b不等于不等于0;则;则a%b的计算结果是的计算结果是a整除以整除以b的余数。的余数。例如,例如,
5、a=20,b=3,则,则a%b的结果为的结果为24/19/20223赋值运算符赋值运算符3赋值运算符赋值运算符=示例:示例:s=0.0;功能说明功能说明:计算计算=右侧式子的值右侧式子的值将将=右侧式子的值赋给左侧的变量右侧式子的值赋给左侧的变量例如:例如:int x=2; /给给x赋一个初值赋一个初值2x=x+3;4/19/20223赋值运算符赋值运算符3注意:的左边必须是一个变量注意:的左边必须是一个变量例如:例如:int x=2,y=5; x=x*x-y*y; 正确正确x=y=5; 正确正确4=x-y; 错误错误x+y=5;错误错误x=y=5;4/19/20223赋值运算符赋值运算符3注
6、意:注意:x=y+z;的理解的理解u不是数学上建立不是数学上建立x是是y与与z的和的关系的意义的和的关系的意义u它仅仅只表示此时需要计算机做一个计算它仅仅只表示此时需要计算机做一个计算:把把y+z的和赋值给的和赋值给x4/19/20223赋值运算符赋值运算符3#include int main() int x=1,y=2,z=0;z=x+y;printf(first:z=%dn,z); x=3;y=4;printf(second:z=%dn,z);return 0;请分析程序执行结果请分析程序执行结果lesson3_fzyy.c4/19/20223运算符运算符3运算符有优先级和结合性,在计算表
7、达运算符有优先级和结合性,在计算表达式的值时,按照运算符的优先级顺序进式的值时,按照运算符的优先级顺序进行。行。例如:例如:int x=1,y=2,z=3,m;m=y*z+1;4/19/20223赋值运算符赋值运算符3例例1:大约在大约在1500年前,年前,孙子算经孙子算经中就记载了一中就记载了一个有趣的问题。个有趣的问题。“今有雉兔同笼,上有三十五今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?头,下有九十四足,问雉兔各几何?” 4/19/20223赋值运算符赋值运算符3根据题意列方程根据题意列方程例:例:从题中可知:有两个已知量从题中可知:有两个已知量 头和脚头和脚 要求要求两个未
8、知量两个未知量 鸡数、兔数,因此需鸡数、兔数,因此需要四个变量来保存这些数据。要四个变量来保存这些数据。int head,foot,chicken,rabbit;4/19/20223赋值运算符赋值运算符3根据题意列方程根据题意列方程例:例:head=35,foot=94;chicken+rabbit=head;2*chicken+4*rabbit=foot;计算机能否求出计算机能否求出chicken和和rabbit?4/19/2022编写程序过程:编写程序过程:1、定义变量:、定义变量:chicken,rabbit,head,foot,并给并给head赋值赋值35,foot赋值赋值942、根据
9、方程,列出计算、根据方程,列出计算chicken的表达式,列出的表达式,列出计算计算rabbit的表达式的表达式3、输出、输出chicken,rabbit4/19/20223赋值运算符赋值运算符3#include int main()lesson3_01.c程序的开始程序的开始定义数据定义数据计算计算(根据方程根据方程)输出结果输出结果程序的结束程序的结束return 0; int chicken=0,rabbit=0,head=35,foot=94; chicken=(4*head-foot)/2; rabbit=head-chicken;printf(“鸡数是鸡数是%dn兔数是兔数是%d”
10、,chicken,rabbit);4/19/20223算术运算符算术运算符2算术表达式的书写算术表达式的书写注意注意:1、C语言中没有语言中没有的符号的符号2、数学乘号是、数学乘号是,在,在C语言中是语言中是*3、在表达式时,乘号不能省略、在表达式时,乘号不能省略4、在使用除法时,请根据需要的结果类型,转换操、在使用除法时,请根据需要的结果类型,转换操作数的类型作数的类型4/19/20223算术运算符算术运算符2例如例如:有两个变量有两个变量x,y是整型变量,如果需要得到是整型变量,如果需要得到x除以除以y的实数型的结果,则不能直接使用的实数型的结果,则不能直接使用x/y可以使用方法可以使用方
11、法:1、x*1.0/y2、强制类型转换、强制类型转换:(float)x/y;(强力推荐强力推荐)4/19/20223算术运算符算术运算符2强制类型转换强制类型转换:可以把一个变量(表达式)的值强制转换成另外可以把一个变量(表达式)的值强制转换成另外的一种类型,格式:的一种类型,格式:(类型类型) 变量名或表达式;变量名或表达式;注意:注意:强制类型转换时,变量本身的类型不会改变强制类型转换时,变量本身的类型不会改变4/19/20223算术运算符算术运算符2#include int main() int x=2,y=3;float f=0.5,d=3.4567;f=f+(float)x/y;y=
12、x+(int)d+f;d=(int)(d*100+0.5)/100.0;printf(x=%d,y=%dn,x,y);printf(f=%f,d=%fn,f,d);return 0;lesson3_qzzh.c请分析程序执行结果请分析程序执行结果4/19/20223复合运算符复合运算符4+= -= *= /= %=x=x+3;x+=3;一个简单的写法一个简单的写法例如:设例如:设x=6,y=2 x*=3+y x=? 把一个数和自己相加把一个数和自己相加(减、乘、除)后保存(减、乘、除)后保存在在“自身中自身中”4/19/20223自增、自减运算符自增、自减运算符5+ -x=x+1;x+=1;x
13、+;注意对于该运算符只注意对于该运算符只需要明白:需要明白:p=x+和和p=+x的区别即可。的区别即可。+x;一个更简单的写法一个更简单的写法+在后面在后面+在前面在前面4/19/2022#include int main() int x=1,y=1,px=0,py=0; px=x+; printf(x=%d, a=%dn,x,px); py=+y; printf(x=%d, b=%dn,y,py); return 0;请分析程序执行结果请分析程序执行结果4/19/2022#include int main() int x=1,y=1,px=0,py=0; px=x+; printf(x=%d
14、, a=%dn,x,px); py=+y; printf(x=%d, b=%dn,y,py); return 0;x+和和+y都是一个计算式,区别都是一个计算式,区别:nx+,这个式子的值是,这个式子的值是x原来的值原来的值n+y,这个式子的值是最新的值,这个式子的值是最新的值(加后)(加后)n公共点:公共点:x,y都会加都会加4/19/2022编写程序过程:编写程序过程:1、定义变量:、定义变量:v,d1,d2,d32、从键盘输入一个数保存在、从键盘输入一个数保存在v中中3、根据数学关系,从、根据数学关系,从v中分离出个位数保存在中分离出个位数保存在d3中,分离出十位数保存在中,分离出十位数
15、保存在d2中,分离出百位中,分离出百位数保存在数保存在d1中中4、按照、按照d3,d2,d1的顺序输出三个数的顺序输出三个数例2:逆序输出一个三位正整数的每一位数字。 4/19/2022例2:逆序输出一个三位正整数的每一位数字。 #include int main( ) lesson3_02.c程序的开始程序的开始定义变量定义变量计算计算输出结果输出结果程序的结束程序的结束输入数据输入数据return 0; int d1, d2, d3, value; printf(nEnter 3 integers:); scanf(%d, &value); d1 = value/100; d2 =
16、 value%100/10; d3 = value%10; printf(n%d - %d%d%d, value, d3, d2, d1); 4/19/2022课堂练习1:3课堂练习课堂练习6提示:x=2 y=5 时 ,z等于:11.666667yyxz12124/19/20223数学库函数数学库函数7C语言中提供了很多的数学函数,在程序中可以使用语言中提供了很多的数学函数,在程序中可以使用数学函数帮助我们进行数学计算数学函数帮助我们进行数学计算(较复杂的数学运算较复杂的数学运算)注意:如果在程序里用到数学函数则,一定要包含注意:如果在程序里用到数学函数则,一定要包含math.h,即在程序开始
17、处:,即在程序开始处:#include 4/19/2022double fabs ( double x )|-3.14159| fabs (-3.14159) 函数名函数名参数:自变量,参数:自变量,使用时直接替换使用时直接替换函数算出结果的函数算出结果的类型,因变量类型,因变量功能:求绝对值功能:求绝对值使用举例:使用举例:3数学库函数数学库函数74/19/2022#include#include int main() double x=0; double y=0.0; scanf(“%lf“,&x); y=fabs(x); printf( x=%7.5f, |x|=%7.5fn,x
18、,y); return 0;程序的开始程序的开始定义变量定义变量计算计算(调用函数调用函数)输出结果输出结果程序的结束程序的结束输入数据输入数据4/19/2022double sin ( double x ) sin (90.) sin (3.14*90/180)注意:自变量的单位是注意:自变量的单位是弧度。弧度。功能:求功能:求x的正弦值的正弦值举例:举例:3数学库函数数学库函数74/19/2022#include#include int main() double x=3.14159*90/180;/x的单位是弧度 double y=0.0; y=sin(x); printf( x=%7.
19、5f, y=%7.5fn,x,y); return 0;求求角的正弦值角的正弦值4/19/2022输出输出sin2+cos2的值的值即从键盘输入一个角度,输出其正弦的平方即从键盘输入一个角度,输出其正弦的平方加余弦的平方的值加余弦的平方的值3数学库函数数学库函数 课堂练习课堂练习74/19/2022#include #include int main()double x=0.0,y=0.0,deg=0.0;scanf(%lf,&x); deg=x*3.14/180;y=sin(deg)*sin(deg)+cos(deg)*cos(deg);printf( x=%f 弧度,y=%fn,x
20、,y); return 0;4/19/2022#include #include int main()double x=0.0,y=0.0,deg=0.0,s,c;scanf(“%lf”,&x);/*lf 输入double型数据*/ deg=x*3.14/180;/*转换成弧度*/ s=sin(deg); c=cos(deg);y=pow(s,2)+pow(c,2);printf( x=%f 弧度,y=%fn,x,y); return 0;另解另解4/19/20223数学库函数数学库函数7double sqrt ( double x ) 9举例:举例:x功能:计算功能:计算 sqrt(
21、9 ) 4/19/2022例例3:输入三角形的三条边,编程求该三角形的面:输入三角形的三条边,编程求该三角形的面积积)()(csbsassarea)(21cbas分析:分析:3数学库函数数学库函数74/19/2022#include #include int main() return 0; float a=0.0,b=0.0,c=0.0,s=0.0,area=0.0; scanf(%f%f%f,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(na=%.2f,b=%.2f,c=%.2fn,a,b,c); printf(narea=%.3fn,area); lesson3_03.c程序有问题没?程序有问题没?如果如果s-a0怎么办?怎么办?4/19/2022函数原型函数原型功能描述功能描述int abs(int x);int abs(int x);返回返回intint型型x x的绝对值的绝对值double f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年广东省深圳市中考英语试题含解析
- 长春版小学心理健康教育四年级(下)教案
- 期中提优卷(无答案) 2024-2025学年人教版(2024)英语七年级上册
- 2024至2030年中国控油洁面奶数据监测研究报告
- 2024至2030年中国带座轴承用润滑脂行业投资前景及策略咨询研究报告
- 2024至2030年中国室内绣花拖鞋数据监测研究报告
- 2024至2030年中国口咽通气管数据监测研究报告
- 2024至2030年中国单刃电动茶树修剪机数据监测研究报告
- 产品英语术语培训
- 2024至2030年中国2,2-二甲基联苯胺盐酸盐行业投资前景及策略咨询研究报告
- 夫妻离婚协议书电子版
- 对外投资合作国别(地区)指南 -坦桑尼亚-20240529-00493
- 人教版高中物理必修一全书综合测评(解析版) 同步练习
- 2024年保密教育线上培训考试题目含答案【模拟题】
- 风电项目居间合同
- 2024年安徽警官职业学院单招职业适应性测试题库完美版
- 中西医方法论比较研究兼论中医的科学性
- 中医医疗技术管理制度
- 专职集体协商指导员岗位
- 2024年度全新实习生协议录用模板下载
- 编译原理课后答案(第三版蒋立源康慕宁编)
评论
0/150
提交评论