收藏 分销(赏)

chap2-用C语言编写程序PPT.ppt

上传人:快乐****生活 文档编号:10039127 上传时间:2025-04-19 格式:PPT 页数:40 大小:1.01MB 下载积分:12 金币
下载 相关 举报
chap2-用C语言编写程序PPT.ppt_第1页
第1页 / 共40页
chap2-用C语言编写程序PPT.ppt_第2页
第2页 / 共40页


点击查看更多>>
资源描述
,*,Chap,2,用,C,语言编写程序,2.1 在屏幕上显示,Hello World!,2.2,求华氏温度 100,F,对应的摄氏温度,2.3 计算分段函数,2.4 输出华氏摄氏温度转换表,2.5 计算12!/(5!7!),1,本章要点,How to,在屏幕上,显示文字信息,?,How to,实现,简单的数据处理,,例如将华氏温度转换为摄氏温度?,How to,用,if,语句,计算分段函数?,How to,用,for,语句,求 1+2+100?,How to,定义和调用函数完成上述4项工作?,在使用函数的过程中,要注意哪些问题?怎样确定函数的参数?,2,【,例2,-1,】,在屏幕上显示一个短句,:,Hello World!,2.1 在屏幕上显示,Hello World!,3,/*,显示,“,Hello World!,”,*/,注释文本,#,include,void main(),主函数,printf(Hello World!n);,语句结束,输出函数 换行符,在屏幕上显示,Hello World!,4,【,例2,-2,】,在屏幕上显示,:,Programming is fun!,And Programming in C is even more fun!,#,include /*,编译预处理命令,*,/,void main(),printf(Programming is fun!,n,);,printf(And Programming in C is even more fun!,n,),;,在屏幕上显示一些信息,printf(,Programming is fun!n And Programming in C is even more fun!n,);,5,What we learn?,标准库函数,printf(),可用于在屏幕上显示文本信息,在这两例中,需要显示的内容是固定不变的一串文字(即,字符串常量,),将字符串常量作为函数参数;,字符串的标志:一对,“”,;,换行符,n,是,一个,特殊的字符;,C,程序中所有标点符号都是西文符号;,要调用,printf(),函数,必须在程序开头进行预处理,将它所在的,标准输入输出库,(stdio.h),包含进来。,#include,6,2.18,日上机情况回顾,有关 新建,C,源程序的说明,菜单命令:,【,文件,】-【,新建,】-【,文件,】-【C+,Source File】,在开始编写新程序之前,应当先,关闭工作区,,或,关闭,VC,,否则会出现连接错误!,查找错误:双击错误提示信息行,书写方面:,i,l,1,的区别,适当的空格、空行和缩进,7,2.2 简单的数据计算,【,例,2-3】,求华氏温度100,F,对应的摄氏温度,C,摄氏温度,其中,已知,F=100,,求,C=,?,8,2.2.1 程序解析,#,include,void main(),int celsius,fahr;/*,变量定义*,/,fahr=100;/*,变量使用*,/,celsius=5*(fahr-32)/9;,printf(fahr=,%d,celsius=,%d,n,fahr,celsius,);,程序运行结果,:,fahr=100,celsius=37,9,2.2.2 常量、变量和数据类型,int celsius,fahr;,farh=100;,celsius,=5*(,fahr,-32)/9;,常量:,在程序运行过程中,其值不能被改变,变量:,在程序运行过程中,其值可以被改变,数据类型,常量:由书写格式决定,变量:在定义时指定,变量:,先定义,后使用!,10,变量的定义,变量定义的一般形式:,类型名 变量名表;,如,:,int,celsius,fahr;,定义整型变量,int,celsius,fahr=100;,定义整型变量,并为,fahr,设初值,float,x;,定义单精度浮点型变量,double,area,length;,定义双精度浮点型变量,double,数据比,float,数据精度高,取值范围大,变量取名原则:小写字母;见名知义,11,变量的定义,变量名,代表内存中的一个存储单元,用于存放变量的值,该存储单元的大小由变量的数据类型决定,!在数学中,变量代表未知数,x=x+1,12,2.2.3 算术运算和赋值运算,fahr,=,100;,celsius,=,5,*,(,fahr,-,32,),/,9;,1、算术运算,双目算术运算符:,+-*/%,算术表达式:用,算术运算符,将,运算对象,连接起来的、符合,C,语言语法规则的式子,数学式:,(5/9)(,F-32),;C,表达式:,5,*,(,fahr-32)/9,数学式:,s(s-a)(s-b)(s-c),,,C,表达式:,?,s*(s-a)*(s-b)*(s-c),13,算术运算,!注意,/,整数除整数,得整数,如:1/2 0,9/4 2,5*(,fahr-32)/9,和,5,/9,*(,fahr-32),等价吗?,%,左右两个操作数必须是整数类型,如:56 5,94 1,1004 0,双目运算符两侧操作数的类型要相同,否则系统会自动进行类型转换,+,和,-,还可作为单目运算符,即正负号,14,赋值运算,=,赋值表达式:用,=,将一个,变量,和一个,表达式,连接起来的式子,即,变量,表达式,如:,fahr=100;,celsius=5*(fahr-32)/9;,先计算赋值运算符右侧,表达式,的值,将赋值运算符右侧,表达式,的值赋给左侧的,变量,左边必须是一个变量!,15,2.2.4 格式化输出函数,printf(),数据输出:格式化输出函数,printf,(),#,include,printf(Hello World!n);,printf(fahr=%d,celsius=%dn,fahr,celsius);,printf,(,格式控制字符串,输出参数1,输出参数,n,);,用一对双引号,“”,括起来,表示输出文字的格式,要输出的数据,16,printf(,Hello World!n,);,printf(,fahr=,%d,celsius=,%d,n,fahr,celsius,);,格式控制字符串,:,普通字符:按原样输出,格式控制说明:按指定的格式,%,.,输出数据,与数据类型有关,int,型:,%,d,float,double,型:,%,f,,,%lf,printf(fahr=,%d,celsius=,%d,n,fahr,celsius);,printf(),格式控制字符串,输出:,fahr=,100,celsius=,37,17,小结与课后作业,小结,如何用,printf(),输出固定不变的文本信息,如何用,printf(),输出变量的值,如何定义变量,算数运算,+-*/%,赋值运算,=,作业,P45,,,1,,,2,,,3,18,What will we learn?,关系运算,if-else,语句,格式化输入函数,scanf(),常用数学库函数,else-if,语句,2.3 计算分段函数,19,【,例2-4,】,输入,x,,,求分段函数,f(x),的值,保留2位小数。,e,x,x,1,f(x)=,x,2,-1 x,1,2.3.1 程序解析,要解决的问题:,输入(,x,的值),计算分段函数,f,求,e,x,输出,并保留2位小数,20,#,include,#include,void main(),float x,y;,printf(input x:n);/*,输入提示,*/,scanf,(%f,/*,调用,scanf(),函数输入数据,*/,if,(x=1)/*if else,语句,*/,y=,exp(x),;/*,调用指数函数,exp(x),计算,e,x,*/,else,y=x*x-1;,printf(f(%f)=,%.2f,n,x,y);,2.3.1 程序解析,求分段函数,input x:,0.5,f(0.500000)=1.65,input x:,2.4,f(2.400000)=4.76,x,必须输入吗?,21,2.3.2 关系运算,x=1,比较,x,与,1,的大小,,比较的结果:,真 假,当,x,取值0.5时,,x=1,的结果是:,?,当,x,取值1.5时,,x=,=,!=,x y x y x=y x!=y,关系表达式:,用,关系运算符,将,2,个,表达式,连接起来的式子。,区分和,22,运用关系表达式,表示比较的数学式,C,关系表达式,x10,x10,x10,x=10,x=10,x!=,10,x=10,用关系表达式描述条件,判断,x,是否为负数,x 0,判断,x,是否不为零,x!=0,23,2.3.3,if-else,语句,if,(,表达式,),语句1,else,语句2,If,(x=1),y=exp(x);,else,y=x*x-1;,语句1,表达式,语句2,真,假,24,【,例2-5,】,输入,x,,,求分段函数,f(x),的值,保留1位小数,。,1/x x,0,f(x)=,0,x=0,例2-5,另一个分段函数,if(x!=0),y=1/x;,else,y=0;,if,(,表达式,),语句1,else,语句2,25,#,include /*,例2-5*/,void main(),float x,y;,printf(input x:n);,scanf(%f,if(x!=0),y=1/x;,else,y=0;,printf(f(%.2f)=%.1f n,x,y);,例2-5 程序,26,软件测试的基本思想,精心设计一批,测试用例,输入数据,预期输出结果,,然后分别用这些测试用例运行程序,看程序的实际运行结果与预期输出结果是否一致。,软件测试,input x:,2.5,f(2.50)=0.4,input x:,0,f(0.00)=0.0,if(x!=0),y=1/x;,else,y=0;,if,(x=1),y=exp(x);,else,y=x*x-1;,input x:,0.5,f(0.500000)=1.65,input x:,2.4,f(2.400000)=4.76,27,2.3.4 格式化输入函数,scanf(),数据输入:格式化输入函数,scanf,(),#,include,scanf(%f,&,x);,scanf,(,格式控制字符串,输入参数1,输入参数,n,);,用双引号括起来,表示输入的格式,变量地址:,&,变量名,28,格式控制字符串,:,按指定的格式输入数据,%,,,与数据类型有关:,int,型:,%,d,float,型:,%,f,double,型:,%,l,f,普通字符:原样输入,如:,scanf(,%f,scanf(),格式控制字符串,输入:,2.5,scanf(x=,%,f,输入:,x=,2.5,尽量不要出现普通字符!,找错误!,Int a,b;,Scanf(,“,%f%f,“,&a,&b,),;,29,输入华氏温度,求,对应的摄氏温度。,#,include,void main(),int celsius,fahr;,fahr=100;,celsius=5*(fahr-32)/9;,printf(fahr=%d,celsius=%dn,fahr,celsius);,改进例2-3的程序,printf(input fahr:n);,scanf(%d,input fahr:,100,fahr=100,celsius=37,30,2.3.5 常用的库函数,库函数:,事先编好的函数,供用户在编程时调用。,如:,scanf(),printf(),exp(),库函数的一些必要信息,存放在相应的系统文件(即,头文件,.h,)中。,#,include,命令,在调用库函数时,要将相应的头文件包含到源程序中。,例如,调用,scanf(),printf(),,需要#,include,调用,exp(),,需要#,include,31,常用数学库函数,(P24),平方根函数,sqrt(x),绝对值函数,fabs(x),fabs(-3.56),的值为,3.56,幂函数,pow(x,n),:,x,n,pow(1.1,2),的值为,1.21,(即,1.1,2,),指数函数,exp(x),:,e,x,exp(2.3),的值为,e,2.3,以,e,为底的对数函数,log(x),:,ln x,log(123.45),的值为,4.815836,以,10,为底的对数函数,log10(x),:,log,10,x,log10(123.45),的值为,2.091491,。,更多函数见附录,4,:,C,语言常用函数,32,输入存款金额,money,、,存期,year,和年利率,rate,,,根据公式计算存款到期时的本息合计,sum,输出时保留,2,位小数。,sum=money(1+rate),year,例2-6 计算存款的本息,sum=money*pow(1+rate),year),33,#,include,#include,void main(),int money,year;,double,rate,sum;,printf(input money,year and rate:n);,scanf(%d%d%,lf,sum=money*,pow,(1+rate),year);,printf(sum=%.2f,sum);,例2-6 程序,input money,year and rate:,1000 3 0.025,sum=1076.89,34,scanf(,%d,%d,%lf,&money,&year,&rate,);,输入:,1000,3,0.025,scanf(),需要多个输入参数和多个格式控制说明,输入参数的类型、个数和位置要与格式控制说明一一对应,scanf(,%d,%lf,%d,&money,&year,&rate,);,?,程序运行时,输入的多个数据之间必须有间隔。,调用,scanf,函数输入多个数据,scanf(,%d,%lf,%d,&money,&rate,如何输入?,输入参数、格式控制说明、输入数据,-,数据之间采用空格作为间隔符号,35,【,例2-7,】,输入,x,,,计算并输出下列分段函数,f(x),的值(保留,2,位小数),x+1 x,1,f(x)=,x+2 1,x,2,x+3 x,2,2.3.6,else,if,语句,36,#include,void main(),double x,y;,printf(input x:n);,scanf(%lf,if(x 1)y=x+1;,else if,(x 2)y=x+2;,else y=x+3;,printf(f(%.2f)=%.2fn,x,y);,例2-7 程序,input x:,0.5,f(0.50)=1.50,input x:,1.2,f(1.20)=3.20,input x:,2,f(2.00)=5.00,37,else,if,语句,if(,表达式1,),语句1,else if,(,表达式2,),语句2,else if,(,表达式,n-1,),语句,n-1,else,语句,n,if(x 1)y=x+1;,else if(x,4,使用,else,if,语句,How to?,39,小结与课后作业,小结,用,scanf(),函数实现数据的输入,用,if else,语句实现简单的分段函数,用关系运算实现条件判断,用,else-if,语句实现复杂的分段函数,用数学函数实现复杂的计算功能,课后作业,P45:4,5,6,7,40,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服