北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt

北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt

ID:56972279

大小:192.00 KB

页数:97页

时间:2020-07-25

北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt_第1页
北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt_第2页
北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt_第3页
北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt_第4页
北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt_第5页
资源描述:

《北大裘宗燕《从问题到程序》第五章 C程序结构课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、从问题到程序裘宗燕北京大学数学学院2005年第五章 C程序结构本章讨论与C程序整体结构有关的问题。对正确理解C语言/正确书写C程序都很重要。是学习用C程序设计时应了解的“深层问题”。有些叙述性内容,有些例子要推迟到后面章节。建议在学习后面章节之后重读这章。1)基本数值类型的全面介绍2)函数与C程序结构,函数原型3)变量类,作用域与存在期4)预处理命令5)字位运算符(特殊问题,只需初步了解)5.1数值类型实数类型:float,double,longdouble实数类型外的算术类型都是整数类型。字符类型也看作整数类型,可以作为整数参加运算。每一

2、基本整数类型都有带符号与无符号两种类型,用限定词signed或unsigned说明。无符号类型的值大于等于0。同一基本类型的带符号/无符号类型用同样长度编码。signed可省略,如signedlong简写为long。字符类型:char,signedchar,unsignedchar用一个字节表示,其中存字符编码。字符作为整数参加运算时直接用编码,依赖于编码方式。ASCII字符集里数字(字母)字符的编码连续排列。char等同于signedchar或unsignedchar(不同系统可能不同)。简单程序只用char,不需要关心有无符号。只有用c

3、har参加整数运算时才需要考虑。有符号/无符号字符不好理解。就是:参加整数运算时看作有符号整数还是无符号整数?若字符编码在0-127内也不会有问题。基本ASCII字符集的编码范围是0-127。整数类型基本:int,shortint,longint总共六个:intunsignedintshortunsignedshortlongunsignedlongshortint简写为short,longint简写long,unsignedint简写为unsignedshort表示范围不大于int,long不小于int。无符号/有符号类型位数相同。具体表

4、示由C语言系统确定。基本类型是int,一般用计算机的字长表示。16位机器的C系统中,int通常用16位表示;32位机器的C系统中,int通常用32位表示。微机C系统情况复杂:老系统16位int,8086字长,32位long,16位short许多新系统用32位int和long,short用16位。整数字面量可用十、八或十六进制写(加后缀)。short无字面量写法。无符号数加后缀u或U:例:123U,2987654LU,327LU,32014U无符号整数的算术运算按取模方式做(不会溢出),超出表示范围时取模作为计算结果。例:若16位unsign

5、d范围为0~65535。计算超范围时取模65536。234U+65500U的计算结果是198U。混合类型运算前把小类型转换到大类型的值。整数提升:小整数(short、char等)先转为int值再运算。若转换结果超出int范围(unsignedshort提升可能出问题),就提升为unsigned。基本类型相同时,认为无符号类型是比同样的有符号类型更大的类型。例如做下面计算:2365U+18764将先由18764(整型值)转换生成unsigned对应值,再用此新值参与运算。若转换结果在相应类型里无法表示,结果没有定义。基本数据类型的选择C语言提

6、供多个浮点类型和整数类型,是供编程者选择使用。对于初学,这方面的选择不太重要。如无特殊需要,浮点数总用double,因其精度和范围能满足一般要求(float精度过低,longdouble可能低效,一般不用它们)。如无特殊需要,整数总用int。int是C语言里最基本的类型,能得到硬件基本支持,其效率不会低于任何其他整数类型。有时用long类型。如无特殊需要,字符总采用char。尽量少用unsigned类型,除非服务于特殊目的。5.2函数和标准函数库问题复杂使程序变长。大程序难开发/难阅读理解/难修改;修改时容易破坏完整性,难保证不引进新错误。

7、程序中常出现许多相同/类似片段。使程序更长,增加不同部分间的联系,损害可修改性。处理复杂问题的基本方法:将复杂事物分解为较简单的部分,分别处理。由各部分的解构造出整个问题的解。复杂概念在简单的基本概念的基础上定义。证明复杂数学定理,常先证明一些引理。为支持复杂程序开发,各种程序抽象机制被引进程序语言。使人能把程序片段抽象出来作为整体对待处理。借助这些机制可控制复杂的程序结构,完成复杂的程序或软件系统。抽象机制也是程序结构的组织手段。C只提供了计算过程的抽象机制,函数。其他语言把这类抽象机制分为“函数”和“过程”两类。C统称为函数。后有许多发

8、展,如模块、类型定义、面向对象等。编写大程序时应特别注意函数分解。没有合理函数分解不可能完成复杂工作/多花时间/程序更难理解/错误更难发现和纠正。开始就应强调好的编程习惯(包括函

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。