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

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12674940.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语言入门至精通完整版ppt课件.ppt)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言入门至精通完整版ppt课件.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,教材、参考书与课时安排,教材,C程序设计(第二版),谭浩强编著 清华大学出版社,参考书,C语言程序设计教程 谭浩强 高等教育出版社,C高级实用程序设计 王士元 清华大学出版社,C程序设计试题汇编 谭浩强 清华大学出版社,课时安排,64学时,熟记C语言的基本概念,熟悉Turbo C的上机操作环境,会读、会编、会调试C程序,学习要点,熟记C语言的语法,学会算法分析与算法设计,课程目的,课程要求,课前请做好预习,保持课堂安静,

2、头脑清醒,思维活跃,认真、独立、按时完成并提交作业,重视上机实践,有效利用宝贵的上机时间,第,1,章,C,语言概述,第,2,章,程序的灵魂,算法,第,3,章,数据类型、运算符与表达式,第,4,章,最简单的,C,程序设计,顺序,程序设计,第,5,章,选择结构,程序设计,第,6,章,循环控制,第,7,章,数组,第,8,章,函数,第,9,章,预处理命令,第,10,章,指针,第,11,章,结构体与共用体,第,12,章 位运算,第,13,章,文件,目 录,C,语言发展历史,C,语言的特点,简单的,C,程序介绍,C,程序的上机步骤,第1章 C语言概述,C,语言程序设计,第一章,C,语言概述,1.1,C,语

3、言发展历史,程序设计语言的发展,机器语言,汇编语言,高级语言,面向过程,面向对象,CPU,指令系统,由0、1序列构成的指令码组成,如:,10000000,加,10010000,减,用助记符号描述的指令系统,可进行地址、位操作,如,ADD A,B,编写系统软件,直接对硬件操作,可读性,移植性差,面向机器的语言,C,语言程序设计,第一章,C,语言概述,可读性,移植性好,编写应用程序,一般较难实现汇编语言的某些功能,如:地址和位的操作,C,语言兼有高级和低级语言的功能,适合写系统软件和应用软件,又称中级语言,C语言发展过程,产生背景,ALGOL 60CPL语言BCPLB语言,写UNIX系统,产生过程

4、时间:19721973,地点:美国贝尔实验室,目的:UNIX操作系统,设计人:Ken.Thompson和Dennis.M.Ritchie,C标准,标准C:1978年,K&R合著The C Programming Language,ANSI C:1983年,87 ANSI C:1987年,1990年国际标准的ANSI C,1994年再次修订。,C版本,Microsoft C,或称,MS-C,Turbo C,或称,TC,C,语言程序设计,第一章,C,语言概述,1.2,C语言的特点,语言简洁、紧凑、灵活,运算符丰富,数据结构、数据类型丰富,链表、树、栈,程序设计结构化、模块化,结构化控制语句:if

5、else、while、switch、for,函数作为模块单位,语法不严格、程序设计自由度大,可以访问内存地址、进行位运算,生成目标代码质量高,可移植性好,C,语言程序设计,第一章,C,语言概述,32,个关键字,:,(,由系统定义,不能重作其它定义,),auto break case char const,continue default do double else,enum extern float for goto,if int long register return,short signed sizeof static struct,switch typedef unsigned un

6、ion void,volatile while,Turbo C,扩充了,11,个关键字:,asm_cs_ds_es_sscdeclfar,hugeinterruptnearpascal,注意:在,C,语言中,关键字都是小写的。,C,语言程序设计,第一章,C,语言概述,C,语言简洁、紧凑,使用方便、灵活。,ANSI C,一共只有,32,个关键字,见,365,页 附录,B,9,种控制语句,:,if()else,for(),while(),dowhile(),continue,break,switch,goto,return,C,语言程序设计,第一章,C,语言概述,C,语言有,9,种控制语句,程序书

7、写形式自由,主要用小写字母表示,压缩了一切不必要的成分。,=!=,逻辑运算符:!,&|,位运算符 :,|&,赋值运算符:,=,及其扩展,条件运算符:,?:,逗号运算符:,指针运算符:*,&,求字节数 :,sizeof,强制类型转换:,(,类型),分量运算符:,.-,下标运算符:,其它 :,()-,注意:各种运算符混合使用,其优先级与结,合方法是难点,可先预习。,C,语言程序设计,第一章,C,语言概述,C,语言,运算符丰富(附录,C,),C,数,据,类,型,基本类型,构造类型,指针类型,空类型,void,定义类型,typedef,数值类型,字符类型,char,枚举类型,enum,整 型,浮点型,

8、单精度型,float,双精度型,double,短整型,short,长整型,long,整型,int,数组,结构体,struct,共用体,union,注释,编译预处理,主函数,语句,输出:,This is a c program.,例,1.1,第一个程序,This is a c program.,y)z=x;,else z=y;,return(z);,scanf,语句中,“,&a,”,的含义是,“,取地址,”,输入:,10,20,输出:,max=20,声明部分,定义变量,调用,max,函数,返回值赋给,c,定义,max,子函数,函数值、形参,x,、,y,为整型,通过,max,函数将,z,值带回调用

9、处,C语言格式特点,习惯用,小写,字母,大小写敏感,不使用行号,,无程序行,概念,可使用空行和空格,常用,锯齿形,书写格式,C,语言程序设计,第一章,C,语言概述,main(),.,.,.,.,.,.,.,main(),int i,j,sum;,sum=0;,for(i=1;i10;i+),for(j=1;j10;j+),sum+=i*j;,printf(“%dn”,sum);,优秀程序员的素质之一,:,使用,TAB,缩进,对齐,有足够的注释,有合适的空行,C语言结构特点,函数与主函数,程序由一个或多个函数组成,必须有且只能有一个主函数,main,(),可以放在程序中任一位置,程序执行从mai

10、n开始,在main中结束,其它函数通过嵌套调用得以执行。,程序语句,C程序由语句组成,用“,;,”作为语句终止符,注释,/*/,为注释,不能嵌套,不产生编译代码,例:,/*This is the main /*of example1.1*/*/,非法,编译预处理命令,C,语言程序设计,第一章,C,语言概述,编辑,链接,编译,执行,1.4,C,程序的上机步骤,C,程序开发步骤,file.exe,C,语言程序设计,第一章,C,语言概述,程序代码的录入,生成源程序,*,.c,语法分析查错,翻译,生成目标程序,*,.obj,与其它目标程序或库,链接装配,生成可执行,程序,*,.exe,Turbo C集

11、成开发环境,配置要求,UNIX,PC-DOS,MS-DOS,UCDOS操作系统,硬盘容量约2M,448K RAM运行空间,安装Turbo C,创建子目录,Install,若不是可安装盘,将文件拷贝到对应的目录下,TC,*.*,INCLUDE,LIB,*.*,SYS,*.*,C,语言程序设计,第一章,C,语言概述,进入Turbo C,D:TC,TC,.exe,主控菜单,文件操作FILE:,New,Load,Save,Write to,编辑操作EDIT:,插入/修改,块,查找/替换,编译链接,COMPILE,LINK,MAKE,执行,RUN,退出Turbo C,Alt +x,Alt+F ,Q,帮助

12、Help,F1,Ctrl+F1,C,语言程序设计,第一章,C,语言概述,基本操作:,F10,-,调用主菜单,F2,-,存盘,F3,-,打开,F1,-,帮助信息,Alt+F9,-Compile,Ctrl+F9,-Run,Alt+F5,-User Screen,Alt+X,-,退出,Tc,常用热键,文本编辑:,-,移动光标,PgUp,PgDn-,上下翻页,Ctrl+PgUp,Ctrl+PgDn-,文件首尾,Home,行首,End,行尾,Ddelete Insert,Bkspace,块操作,:,Ctrl+KB,-,块开始标记,Ctrl+KK,-,块结束标记,Ctrl+KC,-,块拷贝,Ctrl+KV

13、块移动,Ctrl+KY,-,块删除,Ctrl+KH,-,块隐藏,程序调试:,F8,-Step over,F7,-Trace into,F4,-Goto Cursor,Ctrl+F7,-Add Watch,Ctrl+F8,-Toggle Breakpoint,Ctrl+F2,-Program Reset,窗口操作:,F5,-,窗口缩放,F6,-,窗口切换,C,语言程序设计,第一章,C,语言概述,课后作业,预习“题解与上机指导”一书中,P181199,页的,14.314.10,节,P236,页实验,1,教材,P12,:,1.5,、,1.6,、,1.7,、,1.8,题,。,注意:有关设计程序的

14、作业,必须经过上机调试!,C,语言程序设计,第一章,C,语言概述,算法的概念,简单算法举例,算法的特性,怎样表示一个算法,第2章 程序的灵魂算法,C,语言程序设计,第二章 程序的灵魂,算法,结构化程序设计方法,C,语言程序设计,第二章 程序的灵魂,算法,程序包括的内容:,数据结构:数据的类型和组织形式,算法:操作步骤的描述,Nikiklaus Wirth,提出,:,程序,=,数据结构,+,算法,教材认为:,程序,=,算法,+,数据结构,+,程序设计方法,+,语言工具和环境,灵魂,加工对象,工具,C,语言程序设计,第二章 程序的灵魂,算法,2.1,算法的概念,为解决一个问题而采取的方法和步骤,就

15、成为算法。例如:歌曲的乐谱,建造房子等。,算法核心是解决“做什么”和“怎么做”的问题。,P15,页的例,2.1,,求,15,之积。,可以有多种方法,一般采用简单和运算步骤少的。,准确、高效,计算机算法类别,数值运算算法,非数值运算算法,C,语言程序设计,第二章 程序的灵魂,算法,2.2,简单算法举例,例,2.1,方法,1,:累乘,方法,2,:用循环结构解决,灵活、通用。,例,2.2,通过循环选择打印,例,2.3,判断闰年,例,2.4,累加求级数的和,循环改变正负号和分母加,1,。,例,2.5,判断素数,课后认真思考,加深什么是算法的概念,C,语言程序设计,第二章 程序的灵魂,算法,2.3,算法

16、的特性,有穷性,在合理范围内可完成,确定性,无歧义性,有零个或多个输入,从外界得到信息,有一个或多个输出,问题的答案,有效性,每步有确定的结果,C,语言程序设计,第二章 程序的灵魂,算法,2.4,怎样表示一个算法,自然语言表示,2.2,节例。易懂,文字冗长,易歧义性,流程图表示,用流程图符号构成,直观,易懂,N-S,流程图表示,伪代码表示,计算机语言表示,顺序结构,选择结构,循环结构,C,语言程序设计,第二章 程序的灵魂,算法,传统流程图流向混乱、可读性差,所以应该采用结构化流程图。,结构化程序设计,基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(,goto,),结构化程序

17、由三种基本结构反复嵌套构成的程序,优点:结构清晰,易读,提高程序设计质量和效率,三种基本结构,顺序结构,A,B,A,B,流程图,N-S,图,C,语言程序设计,第二章 程序的灵魂,算法,P,A,B,真,假,P,B,A,真,假,选择结构,A1,A2,Ai,An,k=k2,k=k1,k=kn,k=ki,.,.,二分支选择结构,多分支选择结构,C,语言程序设计,第二章 程序的灵魂,算法,循环结构,当型循环结构,直到型循环结构,P,A,假,真,当,P,为真,A,A,P,真,假,A,直到,P,为真,注:,A,B,A1.An,可以是一个简单语句,也可以是一个基本结构,C,语言程序设计,第二章 程序的灵魂,

18、算法,三种基本结构的共同特点:,只有一个入口;,只有一个出口;,结构内的每一部分都有机会被执行到;,结构内不存在“死循环”。,C,语言程序设计,第二章 程序的灵魂,算法,2.5,结构化程序设计方法,结构化程序:用三种基本结构组成的程序,基本设计思路:,复杂问题分解成 几个最基本问题,再分别处理。,采用的方法:,自顶向下;,逐步细化;,模块化设计:复杂问题按功能分成多个子模块,结构化编码:正确采用三种基本结构实现,C,语言程序设计,第二章 程序的灵魂,算法,课后作业,P36,页习题:,2.4,、,2.8,(结合实验指导读懂答案),用,N-S,图表示,2.4,题中,用传统流程图求解以下问题:将一个

19、16,进制数转化为,10,进制数,复习二进制的基本概念,“计算机文化基础”一书中,P2733,页,第3章 数据类型、运算符与表达式,C,语言程序设计,第三章 程序的灵魂,算法,C,的数据类型,常量与变量,整型数据,实型数据,字符型数据,变量赋初值,各种数值型数据间的混合运算,算术运算符和算术表达式,赋值运算符和赋值表达式,逗号运算符和逗号表达式,C,语言程序设计,第三章 程序的灵魂,算法,3.1,C,的数据类型,C,数,据,类,型,基本类型,构造类型,指针类型,空类型,void,字符型,char,整 型,实 型(浮点型),单精度型,float,双精度型,double,数组类型,结构体类型,共

20、用体类型,短整型,short,长整型,long,整型,int,枚举类型,enum,数据类型决定:,1.,数据占内存字节数,2.,数据取值范围,3.,可以进行的操作,C,语言程序设计,第三章 程序的灵魂,算法,常量和符号常量,定义:程序运行过程中,其值不能被改变的量(常数),分类:直接常量、,符号常量,3.2,常量与变量,C,语言程序设计,第三章 程序的灵魂,算法,符号常量,:,用,标识符,代表常量,一般用大写字母:,PRICE,、,PI,定义格式:,#define,符号常量 常量,其值在作用域内不能改变和再赋值。,例,3.1,符号常量举例,#define PRICE 30,#include,v

21、oid main(),int num,total;,num=10;,total=num*PRICE;,printf(total=%dn,total);,total=300,运行结果:,符号常量的优点是:,见名知意、一改全改,C,语言程序设计,第三章 程序的灵魂,算法,变量,定义:其值可以改变的量。,定义格式:,数据类型 变量名;,变量应该有名字,并在内存中占据一定的存储单元。,变量名和变量值有不同的含义,变量名实为一个符号地址,a,3,例 变量的使用,main(),int a;,a=3;,printf(“a=%d,a);,变量名,变量值,存储单元,C,语言程序设计,第三章 程序的灵魂,算法,标

22、识符,定义:标识变量名、符号常量名、函数名、数组名、,文件名的字符串序列,名字,。,命名规则:,只能由,字母、数字、下划线,组成,且,第一个字符必须是字母或下划线,大小写字母含义不同,一般用,小写,不能使用,关键字,TC,允许最长,32,个字符,建议长度不超过,8,个字符,使用:,先定义、后使用,标识符应该,“,见名知意,”,,如,total,max,标识符应该,“,不宜混淆,”,,如,l,与,1,O,与,0,这些标识符合法吗?,1A,、,M.D.John,、¥,123,、,#33,、,Tatol,、,int,、,max,C,语言程序设计,第三章 程序的灵魂,算法,3.3,整型数据,整型常量(

23、整常数)的三种表示方法,十进制整数:由数字,09,和正负号表示,.,如,123,-456,0,八进制整数:由数字,0,开头,后跟数字,07,表示,.,如,0,123,0,11,十六进制整数:由,0 x,开头,后跟,09,af,AF,表示,.,如,0 x,123,0 x,ff,C,语言程序设计,第三章 程序的灵魂,算法,补充知识:,字节和位,内存以字节为单元组成,每个字节有一个地址,一个字节一般由,8,个二进制位组成,每个二进位的值是,0,或,1,0,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,8,9,10,.,7,6,4,3,2,5,1,C,语言程序设计,第三章 程序的灵魂,算

24、法,数值的表示方法,原码、反码和补码,原码:最高位为符号位,其余各位为数值本身的绝对值,反码:,正数:反码与原码相同,负数:符号位为,1,,其余位对原码取反,补码:,正数:原码、反码、补码相同,负数:最高位为,1,,其余位为原码取反,再对整个数加,1,3,12,6,9,1,2,4,5,7,8,10,11,9-5=4,9+7=16=(14),12,C,语言程序设计,第三章 程序的灵魂,算法,原码,反码,补码,+7,00000111,00000111,00000111,-7,1,0000111,1,1111000,1,1111001,+0,00000000,00000000,00000000,-0

25、10000000,11111111,00000000,数的范围,01111111,11111111,(-127+127),01111111,10000000,(-127+127),01111111,10000000,(-128+127),(用一字节表示数),负数补码转换成十进制数:最高位不动,其余位取反加,1,例 补码:,11111001,取反:,10000110,加,1,:,10000111=-7,C,语言程序设计,第三章 程序的灵魂,算法,整型变量,整型数据在内存中的存放形式,数据在内存中以二进制补码形式存放,每一个整型变量在内存中占,2,个字节,10,的原码,反码,补码,-10,的原码

26、取绝对值,反码,补码,0,0 00 00 00 00 00 10 10,0,0 00 00 00 00 00 10 10,0,0 00 00 00 00 00 10 10,1,0 00 00 00 00 00 10 10,0,0 00 00 00 00 00 10 10,1,1 11 11 11 11 11 01 01,1,1 11 11 11 11 11 01 10,整数的最左二进制位是符号位,,0,正、,1,负,C,语言程序设计,第三章 程序的灵魂,算法,整型变量的分类,三类整型变量,有符号,无符号,基本型(简称整型),int,unsigned int,短整型,short,或,short

27、 int,unsigned short,长整型,long,或,long int,unsigned long,整数类型和取值范围,TURBO C,所占位数,最小取值范围,int,16,-32768+32767,short,16,-32768+32767,long,32,-,2147483648+2147483647,unsigned int,16,065535,unsigned short,16,065535,unsigned long,32,04294967295,C,语言程序设计,第三章 程序的灵魂,算法,整型变量的定义,先定义后使用,强制类型定义,int a,b;,(指定变量,a,、,b,

28、为整型),unsigned short c,d;,(指定变量,c,、,d,为无符号短整型),long e,f;,(指定变量,e,、,f,为长整型),0,0 00 00 00 00 00 11 01,00 00 00 00 00 00 00 00,00 00 00 00 00 00 11 01,0,0 00 00 00 00 00 11 01,0,0 00 00 00 00 00 00 00,00 00 00 00 00 00 11 01,00 00 00 00 00 00 11 01,00 00 00 00 00 00 11 01,int,型,short,型,long,型,unsigned i

29、nt,型,unsigned int,型,unsigned long,型,符号位,例,3.2,整型变量的定义与使用,#include,void main(),int a,b,c,d;,unsigned u;,a=12;b=-24;u=10;,c=a+u;d=b+u;,printf(“a+u=%d,b+u=%dn,c,d);,指定,abcd,为整型变量,指定,u,为无符号整型变量,定义放在函数开头的声明部分,作用域,不同类型混合运算,类型自动转换,结果:,a+u=22,b+u=-14,定义与赋值同时进行:,int a=12;,C,语言程序设计,第三章 程序的灵魂,算法,整型数据的溢出,此情况称为“

30、溢出,”,运行时不报错,,编程时要注意,0,1 11 11 11 11 11 11 11,整型变量最大值,32767,1,0 00 00 00 00 00 00 00,加,1,后是,32768,的补码形式,例,3.3,整型数据的溢出,#include,void main(),int a,b;,a=32767;,b=a+1;,printf(%d,%d n,a,b);,32767,-32768,运行结果:,改为:,long b,;,结果是什么?,C,语言程序设计,第三章 程序的灵魂,算法,整型常量的类型,整型常量的值在,-32768+32767,范围内,编译器认为是,int,类型,整型常量的值超

31、过上述范围,而在,2147483648 +2147483647,范围内,编译器认为是,long,类型,当系统定义,short int,与,int,占内存长度相同,则两种类型常量均可以赋给,int,和,short int,型变量,在整型常量后面加大写,L,或小写,l,,则告诉编译器,把该整型常量作为,long,类型处理。例:,123L,、,0L,在整型常量后面加,u,,则按无符号整型方式存放,负数转换成补码再按无符号整型方式存放。,C,语言程序设计,第三章 程序的灵魂,算法,3.4,浮点型数据,浮点型常量的表示方法,浮点数(,float,)又称为实数(,real,),两种表示方法:,十进制小数形

32、式:,必须有小数点,如,0.123,、,.123,、,123.0,、,0.0,、,123.,指数形式:,e,或,E,之前,后,必须有数字;指数必须为整数,如,123.456e0,、,12.3456e1,、,1.23456e2,、,0.123456e3,、,0.0123456e4,等,规范化指数形式,只有一位非零整数的指数形式,是指数的输出形式,6.28e-2,表示,6.28,10,-2,-3.0824e4,表示,3.0824,10,4,C,语言程序设计,第三章 程序的灵魂,算法,浮点型变量,浮点型数据在内存中的存放形式,浮点型数据在内存中占,4,个字节(,32,位),在内存中分成,3,部分,指

33、数为,2,的幂次,+,.314159 1,数符,小数部分,指数,浮点型变量的分类,单精度,float,32,位,67,双精度,double,型,64,位,1516,长双精度,long double,型,128,位,1819,类,型,位数,有效数字,float x,y;,(指定,x,、,y,为单精度浮点型变量),double z;,(指定,z,为双精度浮点型变量),long double t,;,(指定,t,为长双精度浮点型变量),C,语言程序设计,第三章 程序的灵魂,算法,浮点型数据的舍入误差,数据超过有效位数,则产生误差,要避免一个很大的数与一个很小的数加减,例,3.4,浮点型数据的舍入误差

34、include,void main(),float a,b;,a=123456.789e5;,b=a+20;,printf(%f n,b);,舍入误差使,1.0/3*3,的结果并不等于,1!,12345678848.000000,运行结果:,浮点型常量的类型,浮点型常量一般按双精度,64,位处理,数后加,F,或,f,按单精度,浮点型常量不分,float,和,double,C,语言程序设计,第三章 程序的灵魂,算法,3.5,字符型数据,字符常量,定义,:,用,单引号,括起来的,单个,字符,或,转义字符,字符常量的,值,:该字符的,ASCII,码,值,定义格式:,char,变量名,=,值,转义

35、字符,:,反斜线后面跟一个字符或一个代码值表示,如 ,a A n t,如,a,97,,,A,65,n,10,t,9,char ch=65,与,char ch=,A,与,char=101,是等效的,C,语言程序设计,第三章 程序的灵魂,算法,表,3.3,转义字符及其含义,转义字符,含义,n,v,r,a,ddd,t,b,f,“,xhh,转义字符,含义,换行,垂直制表,回车(不换行),响铃,单引号,3,位,8,进制数代表的字符,水平制表(右移,8,格),退格,换页,反斜线,双引号,2,位,16,进制数代表的字符,例,3.5,转义字符的使用,#include,void main(),printf(“a

36、b c,t,de,r,f,t,g,n,”);,printf(“h,t,i,bb,j k”);,f gde,h j k,显示结果:,打印结果:,fab gde,h jik,C,语言程序设计,第三章 程序的灵魂,算法,字符变量,存放字符常量,占用一个字节,存放,一个,字符,定义形式:赋值:,char c1,c2;c1=a;c2=b;,字符数据在内存中的存储形式及其使用方法,以二进制存放字符的,ASCII,码值(,0255,整数),与整数的存储形式类似,以字符或整数形式输出,例,3.6,向字符变量赋整数,#include,void main(),char c1,c2;,c1=97;,c2=98;,p

37、rintf(“%c%c n,c1,c2);,printf(“%d%d n,c1,c2);,a b,97 98,运行结果:,输出形式取决于,printf,函数中的格式符,格式符为,“,%c,”,时输出的变量值为,字符,格式符为,“,%d,时输出的变量值为,整数,C,语言程序设计,第三章 程序的灵魂,算法,对字符数据进行算术运算,实质是对其,ASCII,值进行算术运算,例,3.7,大小写字母的转换,#include,void main(),char c1,c2;,c1=a;,c2=b;,c1=c1-32;,c2=c2-32;,printf(“%c%c,c1,c2);,A B,运行结果:,字符型与整

38、型间互相赋值,例:互相赋值,#include,void main(),int c1;,char c2;,c1=a;,c2=98;,c1=c1-32;,c2=c2-32;,printf(“%c%c,c1,c2);,小写字母比大写字母的,ASCII,码大,(32),10,C,语言程序设计,第三章 程序的灵魂,算法,字符串常量,定义:用双引号,(,“”,),括起来的字符序列,“,How do you do”,“CHINA”,“a”,“$123.45”,存储:,每个字符串尾,自动,加一个,0,作为字符串结束标志,h e l l o,0,例 字符串,“,hello,”,在内存中,例 空串 “”,0,字符

39、常量与字符串常量不同,a,a 0,例,a,“a”,例,:char ch;,ch=“A”;,例,:char ch;,ch=A;,没有字符串变量,,只能用字符数组存放,C,语言程序设计,第三章 程序的灵魂,算法,3.6,变量赋初值,变量的使用:,先定义,后使用,变量定义位置:,一般,放在函数开头,变量初始化,:,可以在定义时赋初值,例,:,int a=1,b=-3,c;,float data=3.67;,char ch=A;,int x=1,y=1,z=1;,int x=y=1;,(,),编译程序根据变量定义为其,分配指定字节的内存单元,.,地址,int a=1,b=-3,c;,a,b,c,2,字

40、节,2,字节,2,字节,地址,地址,.,内存,1,-3,随机数,错!,int a=b=c=3,C,语言程序设计,第三章 程序的灵魂,算法,3.7,各类数值型数据间的混合运算,整型、实型、字符型数据间可以混合运算,自动转换,什么情况下发生,运算转换,-,不同类型数据混合运算时,赋值转换,-,把一个值赋给与其类型不同的变量时,输出转换,-,输出时转换成指定的输出格式,函数调用转换,-,实参与形参类型不一致时转换,运算转换规则,:,不同类型数据运算时先,自动,转换成同一类型,C,语言程序设计,第三章 程序的灵魂,算法,double,float,long,unsigned,int,char,short

41、低,高,说明,:,必定的转换,运算对象类型不同时转换,例,char ch;,int i;,float f;,double d;,ch/i +f*d -(f+i),int,int,double,double,double,double,double,double,int,int,double,double,double,double,double,double,10+a +i*f -d/l,例,int i;,float f;,double d;,long l;,C,语言程序设计,第三章 程序的灵魂,算法,强制转换(见,P56,强制类型转换运算符部分),一般形式:,(,类型名,),(,表达式),

42、例:,(int)(x+y),(int)x+y,(double)(3/2),(int)3.6,说明:强制转换得到,所需类型的中间变量,,原变量类型不变,例,3.8,#include,main(),float x;,int i;,x=3.6;,i=(int)x;,printf(“x=%f,i=%d”,x,i);,结果:,x=3.600000,i=3,精度损失问题,较高类型向较低类型转换时可能发生,强制类型转换运算符,表达式仅一个变量时,括号可以省略,C,语言程序设计,第三章 程序的灵魂,算法,3.8,算术,运算符和算术表达式,C,运,算,符,算术运算符:(,+-*/%+-,),关系运算符:(,=!

43、逻辑运算符:(!,&|,),位运算符 :(,|&,),赋值运算符:(,=,及其扩展),条件运算符:(,?:,),逗号运算符:(,),指针运算符:(*,&,),求字节数 :(,sizeof,),强制类型转换:(类型),分量运算符:(,.-,),下标运算符:(,),其它 :(,()-,),学习运算符应注意:,运算符功能,与运算量关系,要求运算量个数,要求运算量类型,运算符优先级别,结合方向,结果的类型,C,语言程序设计,第三章 程序的灵魂,算法,算术运算符和算术表达式,基本算术运算符:,+,-,*/%,结合方向:从左向右,优先级:,-,-,*/%,-,+-,(2)(3)(4),说明:,“,

44、可为,单目,运算符时,右结合性,两整数相除,结果为整数,%要求两侧均为整型数据,+-*/,运算的两个数中有一个数为实数,结果是,double,型,例,5/2 =,-5/2.0 =,例,5%2 =,-5%2 =,1%10 =,5%1 =,5.5%2,例,5/2 =,2,-5/2.0=,-2.5,例,5%2 =,1,-5%2 =,-1,1%10 =,1,5%1 =,0,5.5%2,(,),C,语言程序设计,第三章 程序的灵魂,算法,自增、自减运算符,+,作用:使变量值加,1,或减,1,种类:,前置,+i,-i (,先执行,i,+1,或,i-1,,,再使用,i,值),后置,i+,i-(,先使

45、用,i,值,再执行,i,+1,或,i-1,),例,j=3;k=+j;,j=3;k=j+;,j=3;printf(,“,%d,”,+j);,j=3;printf(,“,%d,”,j+);,a=3;b=5;c=(+a)*b;,a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,j=4,/3,j=4,/c=20,a=4,/c=15,a=4,C,语言程序设计,第三章 程序的灵魂,算法,几点说明:,例,-,i+,i=3;printf(,“,%d,”,-i+);,-(i+),/-3,+-不能用于常量和表达式,如,5+,(,a+b)+,+-,结合方向:,自右向左,优先级:-+-*/

46、2)(3)(4),该运算符常用于循环语句中,使循环变量加减,1,有关表达式使用中的问题说明,不同系统对运算符和表达式的处理次序不同,尽可能写通用性强的语句,不要写有歧义和不知系统如何执行的程序,C,语言程序设计,第三章 程序的灵魂,算法,3.9,赋值运算符和赋值表达式,简单赋值运算符,符号:,=,格式:,变量标识符,=,表达式,作用:将一个数据(常量或表达式)赋给一个变量,左侧必须是变量,不能是常量或表达式,例,a=3;d=func();c=d+2;,例,3=x-2*y;a+b=3;,(,),C,语言程序设计,第三章 程序的灵魂,算法,赋值表达式,形式:,赋值表达式的值与变量值相等

47、且可嵌套,例,:a=b=c=5,a=(b=5),a=5+(c=6),a=(b=4)+(c=6),a=(b=10)/(c=2),/,表达式值为5,,a,b,c,值为5,/b=5;a=5,/,表达式值11,,c=6,a=11,/,表达式值,10,,,a=10,b=4,c=6,/,表达式值,5,,,a=5,b=10,c=2,C,语言程序设计,第三章 程序的灵魂,算法,3.10,逗号运算符和逗号表达式,形式:,表达式,1,表达式,2,表达式,n,结合性,:,从左向右,优先级,:,15,,,级别最低,逗号表达式,的值:等于表达式,n,的值,用途:,常用于循环,for,语句中,例,a=3*5,a*4,a

48、3*5,a*4,a+5,例,x=(a=3,6*3),x=a=3,6*a,例,a=1;b=2;c=3;,printf(“%d,%d,%d”,a,b,c);,printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/,赋值表达式,表达式值18,,x=18,/,逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,C,语言程序设计,第三章 程序的灵魂,算法,例,:,逗号表达式使用,main(),int x,y=7;,float z=4;,x=(y=y+6,y/z);,printf(x=%dn,x);,X=3,运行结果:,本章的内容

49、散乱而复杂,但却是程序设计的基础,要认真看书,通过编程序才可以深入理解。,C,语言程序设计,第三章 程序的灵魂,算法,课后作业,P6668,页习题:,3.2,3.5,(思考),3.3,3.4,3.9,3.12,(写出答案),3.6,3.10,(上机验证),上机:实验教材:实验,2,(做好上机准备),预习第四、第五章,第4章 最简单的C程序设计顺序程序设计,C,语言程序设计,第四章 顺序程序设计,C,语言概述,赋值语句,数据输入输出的概念及在,C,语言中的实现,字符数据的输入输出,格式输入与输出,顺序结构程序设计举例,4.1,C,语句概述,C,程序结构:,一个,C,程序可以由多个源程序文件构成,

50、一个源程序文件由若干函数、预编译命令及全局变量声明部分构成,函数包括数据定义部分和执行部分,执行部分是,C,语言语句,完成对数据的操作,C,语言程序设计,第四章 顺序程序设计,C,语句分为,5,类,控制语句:共,9,种,完成一定的控制功能,这些语句能够根据一定的测试条件决定某些语句是否被执行,如分支、循环、跳转等语句。,C,语言程序设计,第四章 顺序程序设计,if()else,(,条件语句,),for(),while(),(,循环语句,),dowhile(),continue,(,结束本次循环语句,),switch,(,多分支选择语句,),break,(,终止,switch,或循环语句,),g

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服