ImageVerifierCode 换一换
格式:PPTX , 页数:1073 ,大小:28.65MB ,
资源ID:8957478      下载积分:20 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8957478.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言程序设计案例教程教学课件电子教案.pptx)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言程序设计案例教程教学课件电子教案.pptx

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,

2、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,

3、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,

4、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/3/7 Monday,#,C,语言程序的特点,Teacher teaching design,CONTENTS,目 录,C,语言程序的特点,C,语言的结构组成,案例分析,仿真演练,标识符,C,语言程序的特点,PART 01,1,、,C,语言提供的语句简洁、使用方便、格式紧凑,语法灵活。,C,语言一共有,32,个关键字,,9,种控制语句,语句简练,书写自由。以下关键字由系统定义,不能用作其他定义。,C,语言程序的特点,与数据类型相关的关键字:,char(,字符型,)int,(整型),short,(短整型

5、long,(长整型),signed,(有符号),unsigned,(无符号),float,(单精度实型或单精度浮点型),double,(双精度浮点型),enum,(枚举型),struct,(结构体类型),typedef,(自定义类型),union,(共用体类型或公用体类型或联合体类型),与存储类型相关的关键字,auto,(自动类型),register,(寄存器类型),static,(静态类型),extern,(外部类型),C,语言程序的特点,与控制语句相关的关键字,if(,如果,)else,(否则),switch,(开关),case,(事例),default,(预置默认),do,(做或干)

6、while,(在,期间,与,同时,虽然),for,(,C,语言表示在于从“控制变量”等于“初值”开始,循环),break,(中断或终止当前循环或终止,switch,),continue,(继续),goto,(转移),return,(返回),其他关键字,const,(表示定义常量,在程序运行过程中,常量的值不能改变),sizeof,(,C,语言的关键字但并不是函数表示某某类型的大小长度),volatile,(,volatile,的本意是“易变的”,,volatile,定义的变量,它的值在编译时是会改变的),9,种控制语句,if()else switch()case for,(,),while,

7、dowhile,(,),continue break goto return,C,语言程序的特点,2,、,C,语言有,34,种运算符,有算术、关系、逻辑、位、赋值、指针、条件、逗号、下标、类型转换等;,3,、,C,语言是格式化模块化程序设计语言主,采用自顶向下、逐步求精的结构化程序设计方法,即化整为零,分工合作、资源共享。,4,、,C,语言具在移植性、通用性的特点;,C,语言的结构组成,PART 02,C,语言的结构组成,案例,1,、请同学们观察分析以下程序的结构,(,程序功能是:求两数之和,),,完成任务。,#include,/*,头文件*,/,main()/*,主函数*,/,函数首

8、部,int a,b,sum;/*,声明部分,定义变量*,/,a=123;b=456;/*,给变量赋值*,/,sum=a+b;/*,通过求各运算把结果存储在变量单元*,/,printf(sum is%dn,sum);/*,输出,sum,的值*,/,C,语言的结构组成,案例,2,、阅读以下程序,(,程序功能是:求两数中的最大值,),int max(int a,int b);/*,函数说明*,/,main()/*,主函数*,/,int x,y,z;/*,变量说明*,/,int max(int a,int b);/*,函数说明*,/,printf(input two numbers:n);,scanf

9、d%d,/*,输入,x,y,值*,/,z=max(x,y);/*,调用,max,函数*,/,printf(maxmum=%d,z);/*,输出*,/,int max(int a,int b)/*,定义,max,函数,指明函数类型,形参名称及数据类型*,/,if(ab)/*if,条件判断指如果条件成立 执行下面程序段*,/,return a;/*,上述条件成立,把变量,a,值返回主调函数*,/,else /*,指,if,条件不成立,执行下面程序段*,/,return b;/*,把变量,b,值返回主调函数*,/,C,语言的结构组成,1,、,C,程序的基本单位是,函数,。,2,、,C,程序中语句

10、都以,分号,作为结束标记。,3,、,C,语言的源程序是存放在扩展名为,.C,文件中。,4,、,C,语言中,以,/*/,为标记组成的内容称为,注释,,它不被系统编译和执行,目的是帮助阅读程序,增强程序的 。,5,、,C,源程序是由函数构成的,每一个,C,程序只有一个,main(),函数,它代表程序开始执行的起始位置,,C,程序执行时总是从,主函数(,main(),开始,,main(),函数可以在任何位置。,6,、案例,2,中的,max,函数,其函数说明各部分如下所示,请填充各部分所指的内容。,函数类型 函数名 函数参数表,(,int,)(,max,),(,int a,int b,),7,、一个函

11、数由,函数首部,和,函数体,两部分组成。其中函数首部包括:,函数类型,、,函数名,、,函数参数,三部分。函数体包含在一对,花括号,中。且其中可以包含多对,即可以嵌套。最外层的大括号是函数的开始和结束的标志。,函数体部分包含,函数变量声明部分,和,函数执行部分,两部分。,提醒:请务必注意函数说明部分与函数定义部分在格式上的区别?,9,、函数之间的调用。函数的调用从,main,()开始,先由,main(),函数调用其他函数,然后其他函数再发生若干级调用,然后根据调用顺序层层返回到调用点,最后返回到,main,()函数结束。,标识符,PART 03,标识符,C,语言规定标识符只能由字母、数字和下划线

12、三种字符组成,且第一个字符必须为字母或下划线。例如:,sum,,,day,,,_class,,,student_No,,,a1,等都是合法的标识符。,2a_q,,,a#_12,,,$abc,等都是非法的标识符。,须注意的是:,1,标识符不能和,C,语言的关键字重名。如:,if,(,C,语言的关键字),,main,(,C,语言的关键字)都是不合法的标识符。,2,在,C,语言中,大写字母和小写字母被认为是两个不同的字符。如:,max,和,MAX,是两个不同的标识符。,3,ANSI C,标准没有规定标识符的长度,但各个,C,编译系统都有自己的规定。在,Turbo C,中规定标识符的长度不超过,32,

13、个字符,如果超过只有前,32,个字符有效。,仿真演练,体验探索,PART 04,仿真演练,体验探索,1,、以下叙述中错误的是(,C,)。,A,),C,语句必须以分号结束,B,),C,语言的关键字以及数据定义常以小写字母作为书写形式,C,)函数定义后其结尾要加分号,D,)函数名后圆括号内是形式参数表,有多个参数则用逗号分隔,2,、一个,C,程序的执行是从(,A,),A,),main(),函数开始,直到,main(),函数结束,B,)第一个函数开始,直到最后一个函数结束,C,)第一个语句开始,直到最后一个语句结束,D,),main(),函数开始,直到最后一个函数结束,3,、在一个,C,程序中(,B

14、A)main,函数必须出现在所有函数之前,B)main,函数可以在任何地方出现,C)main,函数必须出现在所有函数之后,D)main,函数必须出现在固定位置,仿真演练,体验探索,4,、,C,语言程序的基本单位是(,A,)。,A,)函数,B,)过程,C,)子程序,D,)主程序和子程序,5,、用,C,语言编写的代码程序(,B,),A,)可立即执行,B,)是一个源程序,C,)经过编译后即可执行,D,)经过编译解释后才能执行,6,、以下叙述不正确的是,(,D,),A,)一个,C,源程序可由一个或多个函数组成,B,)一个,C,源程序必须包含一个,main,函数,C,),C,程序的基本组成单位是函

15、数,D,)在,C,程序中,注释说明只能位于一条语句的后面,7,、,C,语言源程序要正确地执行,必须要有(,C,)函数,A,),printf(),函数,B,)自定义函数,C,),main(),函数,D,)不需要函数,仿真演练,体验探索,8,、,C,语言是下列语言中哪一种(,B,),A,)汇编语言,B,)高级语言,C,)低级语言,D,)机器语言,9,、在,C,程序中,可以作为用户标识符的一组标识符是,(,B,),。,A)void define WORD,B)as_b3 _224 Else,C)Switch -wer case,D)4b DO SIG,10,、下列选项中,是,C,语言提供的合法的关键

16、字的是,(,C,),。,A)swicth B)cher C)default D)Case,C,程序的开发过程,Teacher teaching design,CONTENTS,目 录,提出问题 引入新课,C,语言开发步骤,C,程序开发环境,案例分析,仿真演练,常用的定界符,提出问题 引入新课,PART 01,提出问题 引入新课,1,、,C,语言的基本数据类型是:,、,、,、,。,2,、,C,语言是下列语言中哪一种(),A,)汇编语言,B,)高级语言,C,)低级语言,D,)机器语言,3,、以下不是,C,语言的特点是,(),A,),C,语言简洁、紧凑,B,)能够编制出功能复杂的程序,C,),C,语

17、言可以直接对硬件进行操作,D,),C,语言移植性好,4,、,C,语言编写的程序称(),A,)高级程序,B,)源程序,C,)目标程序,D,),C#,程序,5,、结构化程序设计的思想是:采用自顶向下,逐步求精的结构化程序设计思想。,C,语言开发步骤,PART 02,开发步骤,1,、,C,源程序的编辑,任选一种文字处理软件如,word,、记事本等编辑源文件。检查确认无误后,保存扩展名为,.C,的源文件。,2,、编译,C,源文件,编译是对源文件词法和语法进行检查和翻译的过程。编译时先处理头文件如,#include,等,将其包含在源文件中一并进行分析,产生中间代码,最后由代码生成器生成目标文件存于文件系

18、统中。其文件扩展名为,.obj,的目标文件。,3,、链接过程,编译生成的目标文件不能直接运行,因为目标文件是一个可浮动的程序模块,必须通过链接程序,将编译生成的目标文件,与其他目标文件、库函数链接在一起,形成一个可执行文件。可执行文件的扩展名为,.exe,可执行程序。,开发步骤,4,、执行过程,可执行文件,可以脱离编译系统而独立存在。在操作系统支持下,单击运行按钮或键入文件名即可立刻执行。,程序能运行,并不意味着结果一定正确,如果存在逻辑性错误是难以发现的,这就要求程序员从算法到程序设计各个环节认真检查,跟踪测试,再经历“编辑编译链接运行”全过程,直到达到预期目的为止。,C,程序集成开发环境,

19、PART 03,集成开发环境,(一),Turboc 2.0,的安装和启动,(,1,)、安装过程(略),(,2,)、启动过程:运行,Turboc 2.0,时,只要在,TC,目录下运行主程序,TC.EXE,即可进入,Turboc 2.0,集成开发环境。,(,3,)、安装完毕后将在当前目录下建立一个,TC,子目录,,TC,目录还建立两个子目录,LIB,和,INCLUDE,,其中,LIB,子目录用于存放库文件,,INCLUDE,子目录中存放所有头文件。,(,4,),Turboc 2.0,集成开发环境的界面操作介绍,1,、采用投影仪进行直观演示教学:(略);,集成开发环境,2,、完成以下内容:(课堂上完

20、成),(,1,)在,Turboc 2.0,集成开发环境编辑状态,要激活主菜单可以按功能键:,F10,。,(,2,)默认的,C,语言源文件的文件名后缀为:,.C,。,(,3,)文件存盘的热键是:,F2,。,(,4,)运行程序的热键是:,CTRL+F9,、显示程序运行结果的热键是:,ALT+F5,。,(,5,)将一个,C,源文件编译生成,.OBJ,目标文件的热键是:,ALT+F9,。,(,6,)把当前,.OBJ,文件及库文件连接生成可执行,.EXE,文件的热键是:,F9,。,(二),wintc,运行环境界面操作介绍,(,1,)安装和启动(略)。,(,2,)界面介绍:采用投影仪进行直观演示教学。,常

21、用的定界符,PART 04,常用的定界符,1,、花括号,和,2,、尖括号,3,、圆括号(和),4,、方括号,和,5,、注释符,/*,和*,/,6,、双引号,“,7,、单引号,定界符包括:,仿真演练,体验探索,PART 05,仿真演练 体验探索,【,编辑第一个程序,】,L1/*,这是我的第一个程序*,/,L2#include,L3 void main(),L4 ,L5 printf(welcome to learning c language);,L6 ,仿真演练 体验探索,【,编辑第二个程序,】,L1/*,这是我的第一个程序*,/,L2#include,L3 void main(),L4,L5

22、 int a,b,sum;,L6 a=123;b=456;,L7 sum=a+b;,L8 printf(sum is%dn,sum);,L9 ,仿真演练 体验探索,(一)、根据上述程序思考以下内容:,1,、程序,1,、程序,2,中,L1,行的含义是:,2,、程序,1,、程序,2,中,L2,行的含义是:,3,、程序,1,、程序,2,中,L3,行的含义是:,4,、程序,1,的,L4,、,L6,行,程序,2,的,L4,、,L9,行的含义是:,5,、程序,2,的,L5,行的含义是:,6,、程序,2,的,L6,行的含义是:,7,、程序,2,的,L7,行的含义是:,8,、程序,2,的,L8,行的含义是:,

23、9,、程序中的分号作用是:,(二)想一想,编辑,C,源程序在书写方面要注意些什么?,格式化输出函数,Teacher teaching design,CONTENTS,目 录,数据的输出函数,输出函数格式说明符,明确考点 交流提升,案例分析,仿真演练,数据的输出函数,PART 01,数据的输出函数,printf,函数(称为格式输出函数),printf,函数所以称为格式输出函数,按用户指定的格式,把数据输出到显示器屏幕上。其关键字最末一个字母,f,是,format,的缩写,即为“格式”的意思。,1)printf,函数调用的一般形式:,printf(“,格式控制字符串”,输出表列,),功能:按“格式

24、控制字符串”的指定格式,输出对应的变量。,说明,:,(,1,)格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串(普通字符)两种组成。格式字符串是以,%,开头的字符串,在,%,后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。,如:,“,%d”,表示按十进制整型输出;,“,%ld”,表示按十进制长整型输出;,“,%c”,表示按字符型输出等。,(,2,)非格式字符串在输出时原样照印,在显示中起提示作用。,(,3,)输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该从左到右一一对应。,数据的输出函数,2,)输出表列,(,1,)变量输出表属于

25、可选内容。如果输出的数据多于,1,个,相邻之间用逗号分隔。如:,printf(How do you do!n);,printf(a=%d b=%dn,a,b);,(,2,)变量输出表内容可以是表达式:如:,printf(%d,3*a+5);,(,3,)“格式控制字符串”中的格式字符,必须与“输出表列”中输出项的数据类型 一致,否则会引起输出错误。如初学者会无意间出现如下的错误,看着莫名其妙的程序结果却不知道是怎么回事:,int a=10;printf(%f,a);,输出函数格式说明符,PART 02,格式说明符,格式字符,意,义,d,以十进制形式输出带符号整数,(,正数不输出符号,),o,以八

26、进制形式输出无符号整数,(,不输出前缀,0),x,X,以十六进制形式输出无符号整数,(,不输出前缀,Ox),u,以十进制形式输出无符号整数,f,以小数形式输出单、双精度实数,e,E,以指数形式输出单、双精度实数,g,G,以,%f,或,%e,中较短的输出宽度输出单、双精度实数,c,输出单个字符,s,输出字符串,格式说明符,printf,附加格式说明字符(如,%m.nf,和,%m.ns,等):,标 志,意,义,-,结果左对齐,右边填空格,m(,正整数,),数据最小宽度,n(,正整数,),对实数表示输出,n,位小数,对字符串表示截取的字符个数,字母,l,用于长整型整数,可以加在格式符,d,o,x,u

27、前面。,#,对,c,s,d,u,类无影响;对,o,类,在输出时加前缀,0,;对,x,类,在输出时加前缀,0 x,;对,e,g,f,类当结果有小数时才给出小数点,空格,输出值为正时表示以空格,为负时加以负号,明确考点 交流提升,PART 03,明确考点 交流提升,(,1,)格式字符,d,以带符号的十进制整数形式输出,允许形式:,%d,、,%md,、,%-md,、,%ld,等。,%d,按整型数据的实际长度输出;,%md-m,是正整数,表示输出数据宽度,若,m,小于数据的实际位数,,m,不起作用;,%-md-,数据宽度小于,m,时,负号”,-”,要求结果左对齐,右边填空格;,%md-,数据宽度小于

28、m,时,结果右对齐,左边填空格;,%ld-,字母,l,用于长整型数据输出,还可以加在格式符,o,x,u,前面。,明确考点 交流提升,【,例,1】,格式符,d,的使用。,main(),int n1=111;,long n2=222222;,printf(n1=%d,n1=%4d,n1=%-4d,n1=%2dn,n1,n1,n1,n1);,printf(n2=%ld,n2=%9ld,n2=%2ldn,n2,n2,n2);,printf(n1=%ldn,n1);,运行结果:,n1=111,n1=111,n1=111,n1=111,n2=222222,n2=222222,n2=222222,请思考为

29、什么产生这样的结果?,整数还有下面的输出形式:,%o(,小写字母,o,),-,整数八进制无符号形式输出;,%x-,整数十六进制无符号形式输出。,%u-,对于,unsigned,型数据,以十进制无符号形式输出。,明确考点 交流提升,(,2,)、格式字符,f,以小数形式,输出单精度和双精度实数,允许形式:,%f,、,%m.nf,、,%-m.nf,、,%mf,、,%.nf,等。,%f-,按系统默认宽度输出实数:整数部分全部输出,小数部分输出,6,位。,单精度变量的输出有效位是,7,位;双精度变量的输出有效位是,16,位。,%-m.nf-m,是正整数,表示数据最小宽度;,n,是正整数,表示小数位数,,

30、m,和负号的用法与前面相同。,%g-,让系统根据数值的大小,自动选择,%f,或,%e,格式、且不输出无意义的零。,【,例,2】,输出实数的有效位。,main(),float x=11111.111,y=33333.333;,printf(x+y=%fn,x+y);,程序运行结果:,x+y=44444.443359,,但有效数字只有,7,位:,44444.44,。,双精度变量的输出与此类似,只是有效位是,16,位。,明确考点 交流提升,【,例,3】,思考题:以下输出语句的结果:,printf(%fn,12.3);,12.300000,printf(%2fn,12.3);,12.300000,pr

31、intf(%10fn,12.3);,12.300000,printf(%.3fn,12.3);,12.300,printf(%10.3fn,12.34567);,12.346,printf(%5.3fn,12.3),12.300,printf(%10.3fn,12.3);,12.300,printf(%5.3fn,12.34444);,12.344,明确考点 交流提升,(,3,)、格式字符,e,以指数形式输出实数,允许形式:,%e,、,%m.ne,、,%-m.ne,、,%me,、,%.ne,等,m,限定输出实型数据的总宽度,n-1,限定输出的小数位数。,%e-,以标准指数形式输出:尾数中的整数

32、部分大于等于,1,、小于,10,,小数点占一位,尾数中的小数部分占,5,位;指数部分占,4,位,其中,e,占一位,指数符号占一位,指数占,2,位,共,11,位(不同系统的规定略有不同)。如,3.33333e-03,。,【,例,4】,思考题:以下,%e,的输出格式事例,思考以下输出语句的结果:,printf(%en,12.3);1.23000e+01,printf(%2en,12.3);1.23000e+01,printf(%15en,12.3);1.23000e+01,printf(%.3en,12.3);1.23e+01,printf(%15.3en,12.3);1.23e+01,print

33、f(%5.3en,12.3);1.23e+01,printf(%15.3en,12.345);1.23e+01,明确考点 交流提升,4,、格式字符,c,输出一个字符,允许形式:,%mc%c-,以字符形式输出一个字符。,【,例,5】,字符和整数的输出。,main(),char ch=a;int i=97;,printf(ch=%c,ch=%cn,ch,i);/*c,i,以字符形式输出*,/,printf(i=%d,i=%dn,ch,i);/*c,i,以整数形式输出*,/,printf(ch=%2cn,ch);/*m,限定输出字符的总宽度,m,大于字符宽度则字符左端填充空格*,/,程序运行结果:,

34、ch=a,ch=a,i=97,i=97,ch=a,明确考点 交流提升,5,、格式符,s,输出一个字符串,允许形式:,%s,、,%m.ns%s-,输出一个字符串。,%m.ns-m,是正整数,表示允许输出的字符串宽度;,n,是正整数,表示对字符串截取的字符个数。,【,例,6】,输出字符串。,main(),printf(%s,%3s,%-9sn,student,student,student);,printf(%8.3s,%-8.3s,%3.4sn,student,student,student);,运行结果:,student,student,student,stu,stu,stud,说明:如果想输

35、出字符,%,,可以在“格式控制字符串“中连续用两个,%,表示,如,,printf(“%5.2f%”,1.0/2);,输出结果为:,50.00%,。,仿真演练,体验探索,PART 04,案例分析 仿真演练,1,、以下程序运行后的输出结果是()。,main(),int x=0210;,printf(%Xn,x);,2,、以下程序运行后的输出结果是()。,main(),char c;int n=100;,float f=10;double x;,x=f*=n/=(c=50);,printf(%d%fn,n,x);,3,、有以下程序运行后的输出结果是(),main(),int m=0256,n=256

36、printf(%o%on,m,n);,A)0256 0400 B)0256 256 C)256 400 D)400 400,4,、有以下程序运行后的输出结果是(),main(),int a=666,b=888;,printf(%dn,a,b);,A),错误信息,B)666 C)888 D)666,888,5,、以下程序段的输出结果是(),main(),int i=9;,printf(%on,i);,6,、以下程序运行后的输出结果是(),main(),int a,b,c;,a=25;,b=025;,c=0 x25;,printf(%d%d%dn,a,b,c);,案例分析 仿真演练,案例分析

37、仿真演练,7,、有以下程序执行后输出结果是(),main(),int x=102,,,y=012;,printf(%2d,%2dn,x,y);,A)10,01 B)02,12 C)102,10 D)02,10,8,、已知字符,A,的,ACSII,码值为,65,,以下语句的输出结果是(),main(),char ch=B;,printf(“%c%dn”,ch,ch);,9,、有以下程序语句,main(),int n1=10,n2=20;,printf(,n1,,,n2);,要求按以下格式输出,n1,和,n2,的值,每个输出行从第一列开始,请填空。,n1=10,n2=20,案例分析 仿真演练,10

38、有以下程序运行后的输出结果是,(),main(),int a,b,d=25;,a=d/10%9;,b=a,printf(%d,%dn,a,b);,A,),6,1,B,),2,1,C,),6,0 D,),2,0,11,、有以下程序运行后的输出结果是(),main(),int c=35;,printf(%dn,c,A,),0,B,),70,C,),35,D,),1,12,、若有以下程序段运行后的输出结果是(),main(),int a=2,b=5;,printf(a=%d,b=%dn,a,b);,A,),a=%2,b=%5 B,),a=2,b=5 C,),a=%d,b=%d D,),a=%d,

39、b=%d,格式化数据的输入函数,Teacher teaching design,CONTENTS,目 录,数据的输入函数,格式控制字符串,附加格式说明符,案例分析 仿真演练,数据输入格式,明确考点 交流提升,数据的输入函数,PART 01,数据的输入函数,数据的输入函数,scanf,函数称为格式输入函数,它可以按用户指定的格式从键盘上把数据输入到指定的变量中。,1,、,scanf,函数的一般形式是:,scanf(“,格式控制字符串”,地址表列,);,功能:按“格式控制字符串”的要求,从键盘上把数据输入到变量中。,说明,:,、地址列表中给出各变量的地址。地址是由地址运算符“,&”,后跟变量名组成

40、的。,例如:,&a,&b,【,解析,】,分别表示变量,a,和变量,b,的地址。这个地址就是编译系统在内存中给,a,b,变量分配的地址。变量的地址是,C,编译系统分配的,用户不必关心具体的地址是多少。,、变量地址表由若干个被输入数据的地址组成,相邻地址之间,用逗号分开。地址表中的地址,可以是变量的地址,也可以是字符数组名或指针变量。,和,的关系是数量、类型及位置要从左至右一一对应,在格式控制字符串,中指定变量接收输入值的位置和格式。,例如:从键盘上输入三个整数,:scanf(%d,%d,%d”,思考:如果格式控制字符串与变量地址没有一 一对应时,会出现什么结果?如:,、,scanf(%d,%d,

41、scanf(%d,格式控制字符串,PART 02,格式控制字符串,格式控制字符串,、格式字符串的一般形式为:,%*,输入数据宽度,长度,类型,其中有方括号,的项为任选项。各项的意义如下:,类型:表示输入数据的类型,其格式符和意义如输入数据的类型表所示。,格式,字符意义,d,输入十进制整数,o,输入八进制整数,x,输入十六进制整数,u,输入无符号十进制整数,f,或,e,输入实型数(用小数形式或指数形式),c,输入单个字符,s,输入字符串,附加格式说明符,PART 03,格式举例,(,1,)宽度,n:,指定输入数据的列宽为,n,。,即,只接收输入数据中相应的,n,位,赋给对应的变量,多余部分舍

42、去。,例如,,scanf(%2c%c,printf(c1=%c,c2=%cn,c1,c2);,如果输入“,abcd”,,则系统将读取的“,ab”,中的“,a”,赋给变量,c1,;将读取的“,cd”,中的“,c”,赋给变量,c2,,所以,printf(),函数的输出结果为:,c1=a,c2=c,。,思考:,scanf(%5d,输入:,12345678,则,a,的值是,scanf(%4d%4d,输入:,12345678,则变量,a,,,b,的值是,(,2,)抑制符号*,该字符可以使对应的数据输入后,被抑制,不赋给任何变量。如:,scanf(%2d%*2d%2d,printf(x1=%d,x2=%d

43、n,x1,x2);,如果输入,112233,,则输出结果为:,(,3,)字符,l-%ld.%lo,%lx,%lu,,用于输入长整型数据;,%lf,%le,,用于输入实型数据。,(,4,)字符,h-%hd.%ho,%hx,用于输入短整型数据,数据输入格式,PART 04,数据输入格式,(,1,)如果相邻格式说明符之间,没有数据分隔符号(如,%d%d,),则由键盘输入的数据可以用空格分隔(至少一个),或者用,Tab,键分隔,或者输入,1,个数据后按“回车”,然后再输入下个数据。,例如,,scanf(%d%d,如果给,x1,输入,11,,给,x2,输入,33,,则正确的输入操作为:,1133,或者:

44、11,33,(,2,)“格式控制字符串”中出现的普通字符(非格式字符),包括转义字符,需要原样输入。否则产生对应错误,这点务必注意,例如,,scanf(%d,%d,输入格式为:,11,,,33,scanf(%d,:,%d,输入格式为:,11,:,33,scanf(x1=%d,x2=%dn,输入格式为:,x1=11,,,x2=33n,注:这样的输入格式是很麻烦的,最好不这样设计。,数据输入格式,(,3),输入数据时,遇到以下情况,该数据被认为输入结束:,遇到空格,或者“回车“键,或者“跳格”(,Tab,)键。,指定的输入宽度结束时。如“,%5d”,,只取,5,列。,遇到非法输入。如,输入数值数

45、据时,遇到非数值符号。,(,4),使用“,%c”,输入字符时,不要忽略空格的存在。如,,scanf(%c%c,printf(c1=%c,c2=%c n,c1,c2);,如果输入:,xy,,则系统将空格,赋值给,c1,,字母,x,赋值给,c2,。,思考练习:,scanf(%c%c%c,输入为:,d e f,则,a,b,c,的值分别是:,(,5),有以下程序,main(),int a;,printf(input a numbern);,scanf(%d,printf(%ld,a);,如果输入,2,时,结果为,131074,与题意不符,请思考结果不正确的原因?,数据输入格式,注意:(,1,)如果需要

46、实现人机对话的效果,设计数据输入格式时,可以先用,printf(),函数输出提示信息,再用,scanf(),函数进行数据输入。,例如,把,scanf(x1=%d,x2=%dn,改为:,printf(x1=);scanf(%d,printf(x2=);scanf(%d,这样就可以有屏幕提示的效果了。,(,6,)有以下程序,main(),int a,b,c;,printf(input a,b,cn);,scanf(%d%d%d,printf(a=%d,b=%d,c=%d,a,b,c);,思考如何从键盘上输入数据?,学习提示:格式输入输出函数的规定比较繁琐,但不要死记硬背,可以先掌握一些基本的规则,

47、多上机操作,随着以后学习的深入,通过编写和调试程序逐步深入自然地去掌握。,明确考点,交流提升,PART 05,明确考点 交流提升,【,例,1】,main(),char a,b;,printf(input character a,bn);,scanf(%c%c,printf(%c%cn,a,b);,思考:如输入,M N,则变量,a,b,的值是:,;,如果赋值不正确如何修改?,【,例,2】,#include ,main(),int a,b;char c,ch;,printf(Enter integer a and b:);,scanf(%d%d,printf(Enter character c a

48、nd ch:);,scanf(%c%c,printf(a=%d b=%dn,a,b);,printf(c=%d ch=%dn,c,ch);,运行结果为,:,Enter integer a and b:123 456,Enter character c and ch:AB,a=123 b=456,c=10 ch=65,思考:请分析程序运行后,结果产生的原因是?。,明确考点 交流提升,【,例,4】,有以下程序,main(),int m,n,p;,scanf(m=%dn=%dp=%d,printf(%d%d%dn,m,n,p);,若想从键盘上输入数据,使变量,M,中的值为,123,N,中的值为,45

49、6,P,中的值为,789,则正确的输入是,(),A)M=123 N=456 P=789,B)M=123 N=456 P=789 C)M=123,N=456,P=789,D)123 456 78,【,例,3】,#include ,main(),int a,b;char c,ch;,printf(Enter integer a and b:);,scanf(%d%d,printf(Enter character c and ch:);,scanf(%*c%c%c,printf(a=%d b=%dn,a,b);,printf(c=%c ch=%cn,c,ch);,如输入以下数据,Enter inte

50、ger a and b:123 456,Enter character c and ch:AB,则输出结果是:,明确考点 交流提升,【,例,5】,有定义语句:,int b,;,char c10,;,则正确的输入语句是(),A,),scanf(%d%s,B,),scanf(%d%s,C,),scanf(“%d%s”,b,c);,D,),scanf(%d%s,b,【,例,6】,以下程序运行时若从键盘输入:,10 20 30,。输出结果是,(),。,#include,main(),int i=0,j=0,k=0;,scanf(%d%*d%d,printf(%d%d%dn,i,j,k);,仿真演练,体

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

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

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服