2022年C语言程序设计方案谭浩强期末复习重点.docx
《2022年C语言程序设计方案谭浩强期末复习重点.docx》由会员分享,可在线阅读,更多相关《2022年C语言程序设计方案谭浩强期末复习重点.docx(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源1.1.什么是运算机程序第一章 程序设计和 C 语言欢迎下载精品学习资源程序:一组运算机能识别和执行的指令 ;只要让运算机执行这个程序,运算机就会自动地、有条不紊地进行工作运算机的一切操作都是由程序 把握的,离开程序,运算机将一事无成;1.2 什么是运算机语言运算机语言 :人和运算机沟通信息的、运算机和人都能识别的语言;运算机语言进展阶段:机器语言 (由 0 和 1 组成的指令)符号语言 (用英文字母和数字表示指令)高级语言 (接近于人的自然语言和数学语言)面对过程的语言(非结构化的语言、结构化语言);面对对象的语言1.3 C 语言的进展及其特点C 语言是一种用途广泛、功能强大、使
2、用灵敏的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件;因此 C 语言问世以后得到快速推广;C 语言主要特点:语言简洁、紧凑,使用便利、灵敏;(只有37 个关键字、 9 种把握语句;程序书写形式自由,源程序短) 运算符丰富;( 34 种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富;(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99 又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算;)具有结构化的把握语句;(如if else 语句、 while 语句、 do while 语
3、句、 switch 语句、 for 语句用函数作为程序的模块单位,便于实现程序的模块化;C 语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大;(对数组下标越界不做检查;对变量的类型使用比较灵敏,例如,整型量与字符型数据可以通用;C 语言答应程序编写者有较大的自由度,因此放宽了语法检查)答应直接拜望物理地址,能进行位操作,可以直接对硬件进行操作;(C 语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用 C 语言编写的程序可移植性好;(C 的编译系统简洁,很简洁移植到新系统;在新系统上运行时,可直接编
4、译“标准链接库”中的大部分功能,不需要修改源代码;几乎全部运算机系统都可以使用C 语言)生成目标代码质量高,程序执行效率高;1.4.1 最简洁的 C 语言程序举例C 语言答应用两种注释方式:/:单行注释,可单独占一行,可显现在一行中其他内容的右侧;/* */ :块式注释,可包含多行;1.4.2 C 语言程序的结构C 语言程序的结构特点:1、一个程序由一个或多个源程序文件组成(小程序往往只包括一个源程序文件,一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义;)2、函数是C 程序的主要组成部分(一个C 程序是由一个或多个函数组成的;必需包含一个main 函数(只能有一个);每个函数
5、都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数;)3、一个函数包括两个部分(函数首部、函数体(声明部分、执行部分)4、程序总是从 main 函数开头执行5、C 程序对运算机的操作由C 语句完成( C 程序书写格式是比较自由的:一行内可以写几个语句;一个语句可以分写在多行上;)6、数据声明和语句最终必需有分号7、C 语言本身不供应输入输出语句8、程序应当包含注释,增加可读性欢迎下载精品学习资源1.6 程序设计的任务1.问题分析 2.设运算法 3.编写程序 4.对源程序进行编辑、编译和连接5.运行程序,分析结6. 编写程序文档其次章 算法程序的灵魂一个程序主要包
6、括以下两方面的信息:(1) 对数据的描述; 在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构;(2) 对操作的描述; 即要求运算机进行操作的步骤,也就是算法;数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果;著名运算机科学家沃思Nikiklaus Wirth提出一个公式: 算法 + 数据结构 = 程序一个程序除了算法和数据结构这主要要素外,仍应当接受结构化程序设计方法进行程序设计,并且用某一种运算机语言表示;算法、数据结构、 程序设计方法 和语言工具是一个程序设计人员应具备的学问;2.1 什么是算法广义地说,为解决一个问题而实行的方法和步骤,就称为
7、“算法 ”;运算机算法可分为两大类别:数值运算算法(目的是求数值解);非数值运算算法(包括面特别广泛,常见的是用于事务治理领域)2.3 算法的特性一个有效算法应当具有以下特点:(1) 有穷性;一个算法应包含有限的操作步骤,而不能是无限的;(2) 确定性;算法中的每一个步骤都应当是确定的,而不应当是模糊的、模棱两可的;(3) 有零个或多个输入;所谓输入是指在执行算法时需要从外界取得必要的信息;(4) 有一个或多个输出;算法的目的是为了求解,“解”就是输出;没有输出的算法是没有意义的;(5) 有效性;算法中的每一个步骤都应当能有效地执行,并得到确定的结果;流程图 是表示算法的较好的工具;2.4.3
8、 三种基本结构和改进的流程图三种基本结构:( 1)次序结构 ( 2)选择结构 ( 3)循环结构 当型循环结构直到型循环结构2.4.5 用伪代码表示算法伪代码是用介于自然语言和运算机语言之间的文字和符号来描述算法;用伪代码写算法并无固定的、严格的语法规章,可以用英文,也可以中英文混用;欢迎下载精品学习资源2.4.6 用运算机语言表示算法11112341199100欢迎下载精品学习资源要完成一项工作,包括设运算法 和实现算法 两个部分;设运算法的目的是为了实现算法;例 2.19将例 2.17 表示的算法(求多项式的值)用 C 语言表示;#include int main int sign=1;do
9、uble deno = 2.0,sum = 1.0, term;while deno = 100 sign = -sign; term = sign/deno;sum = sum+term;deno = deno+1;printf %fn,sum;return 0;欢迎下载精品学习资源2.5结构化程序设计方法C实行以下方法保证得到结构化的程序:(1 )自顶向下;( 2)逐步细化;( 3)模块化设计;(4)结构化编码;欢迎下载精品学习资源3.1次序程序设计举例第三章c最简5 9单f 的 32程序设计欢迎下载精品学习资源例 3.1有人用温度计测量5 出用华氏法表示的温度 如 F ,今要求把它转换为
10、以摄氏法表示的温度 如 C;c f32解题思路:找到9二者间的转换公式f代表华氏温度, c 代表摄氏温度算法:(N-S 图)#include int main float f,c ;定义 f 和 c 为单精度浮点型变量f=64.0 ;指定 f 的值c=5.0/9*f-32 ;运算 c 的值printff=%fnc=%fn,f,c; 输出 f 和 c 的值return 0 ;例 3.2 运算存款利息;有1000 元,想存一年;有三种方法可选:1 活期,年利率为 r1 2 一年期定期,年利率为 r2 3 存两次半年定期,年利率为r3,请分别运算出一年后按三种方法所得到的本息和;解题思路:确定运算本
11、息和的公式;从数学学问可知:如存款额为p0,就:活期存款一年后本息和为: p1=p01+r1 ;一年期定期存款,一年后本息和为:p2=p01+r2 ;两次半年定期存款,一年后本息和为: p3=p0( 1+r3/2 )( 1+r3/2 )算法:#include int main float p0=1000, r1=0.0036,r2=0.0225,r3=0.0198, p1, p2, p3;p1 = p0 * 1 +r1 ;p2 = p0 * 1 +r2 ;p3 = p0 * 1 +r3/2 * 1 + r3/2;printf ” %fn%fn%fn ” ,p1, p2, p3;return 0
12、 ;3.2.1 常量与变量1. 常量:在程序运行过程中,其值不能被转变的量;整型常量 :如 1000,12345,0, -345; 实型常量 :十进制小欢迎下载精品学习资源数形式:如 0.34-56.790.0 ,指数形式:如 12.34e3 代表 12.34103; 字符常量 :如 .,转义字符:如 n;字符串常量:如”boy”;符号常量: #define PI 3.14162. 变量:在程序运行期间,变量的值是可以转变的;变量必需先定义 , 后使用, 定义变量时指定该变量的名字 和类型;变量名 和变量值 是两个不同的概念,变量名实际上是以一个名字代表的一个储备地址;从变量中取值,实际上是通
13、过变量名找到相应的内存地址,从该储备单元中读取数据;3. 常变量: const int a=3 ;4. 标识符:一个对象的名字;语言规定标识符只能由字母 、数字 和下划线 3 种字符组成,且 第一个字符必需为字母或下划线合法的标识符:如sum,average, _total, Class, day, BASIC, li_ling不合法的标识符:M.D.John ,¥ 123, 33, 3D64 , a b3.2.2 数据类型所谓 类型 ,就是对数据支配储备单元的支配,包括储备单元的长度占多少字节 以及数据的储备形式;不同的类型支配不同的长度和储备形式;C 语言答应使用的数据类型:整型类型:基本
14、整型 int 型:占 2 个或 4 个字节短整型 short int : VC+6.0 中占 2 个字节长整型 long int :VC+6.0 中占 4 个字节基本类型双长整型 long long int : C99 新增的字符型布尔型浮点类型(单精度浮点型、双精度浮点型、复数浮点型) 枚举类型空类型派生类型(指针类型、数组类型、结构体类型、共用体类型、函数类型)3.2.3 整型数据整型变量的符号属性:整型变量的值的范畴包括负数到正数;可以将变量定义为“无符号”类型; 扩充的整形类型:有符号基本整型signed int ;无符号基本整型unsigned int ;有符号短整型signed s
15、hort int ;无符号短整型unsigned short int ;有符号长整型signed long int ;无符号长整型unsigned long int有符号双长整型signed long long int;无符号双长整型unsigned long long int3.2.3 字符数据类型字符是按其代码 整数 形式储备的, C99 把字符型数据作为整数类型的一种;1. 字符与字符代码:大多数系统接受ASCII 字符集字母: A Z, a z数字: 0 9特地符号: 29 个: .” # & *等空格符:空格、水平制表符、换行等不能显示的字符:空null字符 以 0 表示 、警告 以
16、 a 表示 、退格 以 b 表欢迎下载精品学习资源示 、回车 以 r 表示 等字符 1和整数 1 是不同的概念 :字符 1只是代表一个形状为1的符号,在需要时按原样输出,在内存中以ASCII码形式储备,占1个字节 0 0 1 1 0 0 0 1;整数 1 是以整数储备方式 二进制补码方式 储备的,占2 个或 4 个字节 0 0 0 0 0 0 0 0 |0 0 0 0 0 0 012. 字符变量 : 用类型符 char 定义字符变量3.2.5 浮点型数据浮点型数据是用来表示具有小数点的实数;float型 单精度浮点型 :编译系统为float型变量支配 4 个字节;数值以规范化的二进制数指数形式
17、存放;double 型 双精度浮点型 :编译系统为 double 型变量支配 8 个字节; 15 位有效数字long double长双精度 型3.2.6 怎样确定常量的类型字符常量:由单撇号括起来的单个字符或转义字符;整型常量:不带小数点的数值;系统依据数值的大小确定int型仍是 long型等;浮点型常量:凡以小数形式或指数形式显现的实数;C 编译系统把浮点型常量都按双精度处理;支配8 个字节3.2.7 运算符和表达式3、算术表达式和运算符的优先级与结合性:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规章的式子,称为算术表达式运算对象包括常量、变量、函数等语言规定了运算符的优
18、先级和结合性4、不同类型数据间的混合运算:( 1) +、- 、* 、/运算的两个数中有一个数为float或 double型,结果是 double型;系统将 float型数据都先转换为 double 型,然后进行运算( 2)假如 int型与 float或 double型数据进行运算,先把int型和 float型数据转换为 double型,然后进行运算,结果是 double 型( 3)字符型数据与整型数据进行运算,就是把字符的ASCII 代码与整型数据进行运算例 3.3给定一个大写字母,要求用小写字母输出;#include int main char c1,c2;c1= A;c2=c1+32;pr
19、intf%cn,c2;printf” %dn” ,c2 ;return 0;5、强制类型转换运算符强制类型转换运算符的一般形式为:(类型名)(表达式)doublea(将转换成 double 类型)int x+y(将 x+y 的值转换成int型)float5%3(将 5%3的值转换成 float型)欢迎下载精品学习资源有两种类型转换:系统自动进行的类型转换;强制类型转换3.3.1 C语句的作用与分类语句分为以下 5 类:(1) 把握语句: if、switch 、for 、while 、dowhile 、continue、break 、return、goto 等(2) 函数调用语句3表达式语句 4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言程序设计 方案 谭浩强 期末 复习 重点
限制150内