计算机二级C语言完整教学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机二级C语言完整教学课件.ppt》由用户(金钥匙文档)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 二级 语言 完整 教学 课件
- 资源描述:
-
1、计算机二级计算机二级C语言完整语言完整 教学课件教学课件 谭浩强谭浩强 著著 (第四版)(第四版) 第第1章章 程序设计和程序设计和C语言语言 第第2章章 算法算法程序的灵魂程序的灵魂* 第第3章章 最简单的最简单的C程序设计程序设计 顺序结构程序设计顺序结构程序设计 第第4章章 选择结构程序设计选择结构程序设计 第第5章章 循环结构程序设计循环结构程序设计 第第6章章 利用数组处理批量数据利用数组处理批量数据 第第7章章 利用函数实现模块化程序设计利用函数实现模块化程序设计 第第8章章 善于利用指针善于利用指针 第第9章章 用户自己建立数据类型用户自己建立数据类型 附录附录B 附录附录C 附
2、录附录D 附录附录F 目录目录 P22 第一章第一章 本章要点本章要点 C C语言的特点语言的特点 C C程序的结构程序的结构 在计算机上运行在计算机上运行C C程序的方法程序的方法 1.1 什么是计算机程序什么是计算机程序 程序程序:一组计算机能识别和执行的一组计算机能识别和执行的指令指令。 只要让计算机执行这个程序,计算机就会只要让计算机执行这个程序,计算机就会 自动地自动地、有条不紊地有条不紊地进行工作进行工作。 计算机的一切操作都是由计算机的一切操作都是由程序程序控制的,离控制的,离 开程序,计算机将一事无成开程序,计算机将一事无成。 P1 1语言的诞生与发展语言的诞生与发展 1.2
3、什么是计算机语言 机 器 语 言 机 器 语 言 汇 编 语 言 汇 编 语 言 高 级 语 言 高 级 语 言 C语言是国际语言是国际 上广泛流行上广泛流行 的高级语言的高级语言 计算机语言计算机语言: 人和计算机交流信息人和计算机交流信息的、的、 计算机和人都能识别的语言计算机和人都能识别的语言。 P1-3 源程序源程序 目标程序目标程序 结构化语言结构化语言 1.3 C1.3 C语言的发展及特点语言的发展及特点 C C语言是在语言是在B B语言的基础上发展起来的。语言的基础上发展起来的。 19731973年美国贝尔实验室的年美国贝尔实验室的D.M.Ritchie D.M.Ritchie
4、在在B B语言的语言的 基础上设计出了基础上设计出了C C语言,但仅在贝尔实验室使用。语言,但仅在贝尔实验室使用。 经过多次版本改进之后,经过多次版本改进之后,C C语言先后移植到大、中、语言先后移植到大、中、 小、微型计算机上小、微型计算机上, , C C语言迅速得到推广,很快风语言迅速得到推广,很快风 靡世界靡世界, ,成为最广泛的几种计算机语言之一。成为最广泛的几种计算机语言之一。 19831983年年, ,美国国家标准化协会美国国家标准化协会(ANSI)(ANSI)根据根据C C语言各种语言各种 版本对版本对C C的发展和扩充的发展和扩充, ,制定了新的标准制定了新的标准ANSI CA
5、NSI C 。 19941994年后,年后,ISOISO又多次修订了又多次修订了C C语言标准。语言标准。C99C99 P3 C语言特点语言特点 语言简洁、紧凑、灵活语言简洁、紧凑、灵活 运算符和数据类型丰富运算符和数据类型丰富 程序设计结构化、模块化程序设计结构化、模块化 生成目标代码质量高生成目标代码质量高 可移植性好可移植性好 有高级语言和有高级语言和 低级语言特点低级语言特点 C语言程序设计 第一章第一章 C C语言概述语言概述 P4-5 (1 1)语言简洁、紧凑)语言简洁、紧凑, ,使用方便、灵活。使用方便、灵活。 3232个关键字个关键字、 9 9种控制语句种控制语句, ,程序形式
6、自由程序形式自由 (2 2)运算符丰富。)运算符丰富。3434种运算符种运算符 (3 3)数据类型丰富。)数据类型丰富。 (4 4)具有结构化的控制语句)具有结构化的控制语句 ,是完全模块化和结构化,是完全模块化和结构化 的语言。的语言。 (5 5)语法限制不太严格)语法限制不太严格, ,程序设计自由度大。程序设计自由度大。 (6 6)允许直接访问物理地址)允许直接访问物理地址, ,能进行位操作能进行位操作, , 可直接对可直接对 硬件进行操作。兼有高级和低级语言的特点硬件进行操作。兼有高级和低级语言的特点 。 (7 7)目标代码质量高)目标代码质量高, ,程序执行效率高。程序执行效率高。 (
7、8 8)程序可移植性好)程序可移植性好( (与汇编语言比与汇编语言比) )。基本上不做修改。基本上不做修改 就能用于各种型号的计算机和各种操作系统。就能用于各种型号的计算机和各种操作系统。 32个关键字个关键字:(由系统定义,不能重作其它定义由系统定义,不能重作其它定义) 见见P365 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 t
8、ypedef unsigned union void volatile while C语言程序设计 第一章第一章 C C语言概述语言概述 9 9种控制语句种控制语句(结构化控制语句)(结构化控制语句): if( )else for( ) while( ) dowhile( ) continue break switch goto return C语言程序设计 第一章第一章 C C语言概述语言概述 3434种运算符:种运算符:见见P365 算术运算符:算术运算符:+ + - - * / % + * / % + - 关系运算符:关系运算符: = != = != 逻辑运算符:!逻辑运算符:! /*文
9、件包含*/ /*主函数 */ /*函数体开始*/ /*输出语句*/ /*函数体结束*/ 说明: mainmain- -主函数名,主函数名, voidvoid- -空空类型类型 每个每个C C程序必须有一个程序必须有一个主函数主函数mainmain 是函数开始和结束的标志是函数开始和结束的标志, ,不可省不可省 每个每个C C语句以分号结束语句以分号结束 使用标准库使用标准库函数时函数时应在程序开头一行写:应在程序开头一行写: #include stdio.h#include 例例1.1 #include int main( ) printf (”This is a C program.n”);
10、 return 0; 例1.2 求两数之和 #include #include void main( ) void main( ) int a,b,sum; int a,b,sum; a=123; b=456;a=123; b=456; sum=a+b;sum=a+b; printf(sum is %dprintf(sum is %dn ,sum);n ,sum); /*声明部分,定义变量为整型声明部分,定义变量为整型*/ 说明:说明: /*/*/或或/表示注释。注释只是给人看的表示注释。注释只是给人看的, , 对编译和运行不起作用。所以可以用汉字或英文字符表对编译和运行不起作用。所以可以用汉
11、字或英文字符表 示,可以出现在一行中的最右侧,也可以单独成为一行。示,可以出现在一行中的最右侧,也可以单独成为一行。 用用sum的值的值替代替代 例例1.3求两个整数中的较大者。求两个整数中的较大者。 解题思路:解题思路: 用一个函数实现求两个整数中的较大者用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果在主函数中调用此函数并输出结果 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(in
12、t x,int y) int z; if (x y) z = x; else z = y; return(z); 主函数主函数 max函数函数 例1.3 求2个数中较大者。 #include #include void main( ) void main( ) int max(int x,int y); int max(int x,int y); int a, b, c; int a, b, c; scanf(scanf(d,d,d, d, c=max(a,b); c=max(a,b); printf(max=printf(max=d d n,c);n,c); /* 主函数主函数*/ /* 对
13、被调用函数对被调用函数max的声明的声明 */ /*定义变量定义变量a、b、c */ /*输入变量输入变量a和和b的值的值*/ /*调用调用max函数函数,将得到的值赋给将得到的值赋给c */ /*输出输出c的值的值*/ max(a,b);max(a,b); int max(int x, int y) int z; if (xy) z=x; else z=y; return (z); 说明:本程序包括说明:本程序包括mainmain和被调用函数和被调用函数maxmax 两个函数。两个函数。maxmax函数的作用是将函数的作用是将x x和和y y中中 较大者的值赋给变量较大者的值赋给变量z z。
14、returnreturn语句将语句将z z 的值返回给主调函数的值返回给主调函数mainmain。 C程序小结: (1) (1) C C程序是由函数构成的程序是由函数构成的。 这使得程序容易实现模这使得程序容易实现模 块化。块化。 (2) (2) 一个函数由两部分组成一个函数由两部分组成: : 函数的首部:函数的首部:例例1.31.3中的中的maxmax函数首部函数首部 int max(int x,intint max(int x,int y )y ) 函数体:函数体:花括号内的部分。若一个函数有多个花括花括号内的部分。若一个函数有多个花括 号号, ,则最外层的一对花括号为函数体的范围。则最外
15、层的一对花括号为函数体的范围。 函数体包括两部分函数体包括两部分 : 声明部分:声明部分:int a,b,cint a,b,c; ; 执行部分:由若干个语句组成。执行部分:由若干个语句组成。 P10-11 小结:小结: (3) C(3) C程序总是从程序总是从mainmain函数开始执行的函数开始执行的, ,与与mainmain函数函数 的位置无关。的位置无关。 (4) C(4) C程序书写格式自由程序书写格式自由, ,一行内可以写几个语句一行内可以写几个语句, , 一个语句可以分写在多行上,一个语句可以分写在多行上,C C程序没有行号。程序没有行号。 (5) (5) 每个语句和数据声明的最后
16、必须有一个分号。每个语句和数据声明的最后必须有一个分号。 (6) C(6) C语言本身没有输入输出语句。输入和输出的操语言本身没有输入输出语句。输入和输出的操 作是由库函数作是由库函数scanfscanf和和printfprintf等函数来完成的。等函数来完成的。C C 对输入输出实行对输入输出实行“函数化函数化”。 1.5 运行程序的步骤和方法运行程序的步骤和方法 运行程序的步骤运行程序的步骤 上机输入与编辑上机输入与编辑源程序源程序 对对源程序源程序进行编译进行编译 与库函数连接与库函数连接 运行运行目标程序目标程序 P12-13 编辑编辑 链接链接 编译编译 执行执行 C程序的上机步骤程
17、序的上机步骤 C语言程序设计 第一章第一章 C C语言概述语言概述 程序代码的录入程序代码的录入, 生成源程序生成源程序*.c 语法分析查错,翻译语法分析查错,翻译 生成目标程序生成目标程序*.obj 与其它目标程序或库与其它目标程序或库 链接装配链接装配,生成可执行生成可执行 程序程序*.exe 源程序源程序目标程序目标程序 可执行程序可执行程序 内容内容程序设计语言程序设计语言 机器语言机器语言机器语言机器语言 可执行可执行不可以不可以不可以不可以可以可以 文件名后缀文件名后缀.c.obj.exe 演示演示 P370 1.6 程序设计的任务程序设计的任务 1. 问题分析问题分析 2. 设计
18、算法设计算法 3. 编写程序编写程序 4. 对源程序进行编辑、编译和连接对源程序进行编辑、编译和连接 5. 运行程序,分析结果运行程序,分析结果 6. 编写程序文档编写程序文档 结果错了,程序肯定错结果错了,程序肯定错 结果对了,程序未必对结果对了,程序未必对 P14 通常把由高级语言编写的程序称为“通常把由高级语言编写的程序称为“源程源程 序序”。”。 把由二进制代码构成的程序称为“把由二进制代码构成的程序称为“目标程目标程 序序”。”。 为了能使计算机处理高级语言源程序,需要为了能使计算机处理高级语言源程序,需要 把把源程序转换成及其能够接受的目标程序源程序转换成及其能够接受的目标程序,
19、这种具有翻译功能的软件成为“这种具有翻译功能的软件成为“编译程序编译程序” 或“或“解释程序解释程序”。每一种高级语言都有与它”。每一种高级语言都有与它 对应的翻译程序。对应的翻译程序。 第2章 主要内容 2.1 2.1 算法的概念算法的概念 2.2 2.2 简单算法举例简单算法举例 2.3 2.3 算法的特征算法的特征 2.4 2.4 怎样表示一个算法怎样表示一个算法 2.5 2.5 结构化程序设计方法结构化程序设计方法 一个程序包括两个方面:一个程序包括两个方面: 对数据的描述。对数据的描述。 对操作的描述。对操作的描述。 著名计算机科学家沃思公式:著名计算机科学家沃思公式: 程序数据结构
20、算法程序数据结构算法 实际上,算法、数据结构、程序设计方实际上,算法、数据结构、程序设计方 法和语言工具法和语言工具4个个方面是一个程序设计人方面是一个程序设计人 员所应具备的知识。员所应具备的知识。 指定数据的指定数据的类型类型和数据的和数据的 组织形式,即组织形式,即数据结构数据结构 操作步骤,也就是操作步骤,也就是算法算法 P16 2.1 什么是算法 算法(广义):算法(广义): 为解决一个问题而采取的为解决一个问题而采取的方法和步骤方法和步骤 计算机算法分为:计算机算法分为: 数值运算算法数值运算算法 非数值运算算法非数值运算算法 P17:方法:方法 有优劣之分有优劣之分 2.2 简单
21、算法举例 P17-18 例例2.1 求求12345。 原始方法原始方法 通用算法通用算法:设变量设变量P为被乘数,为被乘数,i为乘数为乘数 S1:使使P=1 S2:使使i=2 S3:使使P*i,乘积仍放在变量乘积仍放在变量P中,表示为:中,表示为: P*i P S4:使使i的值加的值加1,即,即i1 i 。 S5:若若i5,返回,返回S3,否则结束。否则结束。 (若(若i5,结束,否则,返回,结束,否则,返回S3) 具有通用性、灵活性。(具有通用性、灵活性。(S3S5组成一个循环)组成一个循环) 如何求如何求1357911? 问题:见问题:见P18 3 2 11 11 例例 2.2 有有50个
22、学生,要求将他们中成绩在个学生,要求将他们中成绩在80分以上的分以上的 学号和成绩输出。用学号和成绩输出。用n表示学生学号,表示学生学号,n1代表第一个学代表第一个学 生学号,生学号, ni代表第代表第i个学生学号。用个学生学号。用g代表学生成绩,代表学生成绩, gi代表第代表第i个学生成绩。个学生成绩。 算法:算法: S1: 1 i S2:如果:如果gi80,则输出,则输出ni 和和gi,否则不输出,否则不输出 S3: i+1 i S4: 如果如果i50,返回,返回S2,继续执行;否则,算法结束,继续执行;否则,算法结束 (S2S4组成一个循环)组成一个循环) P19 归纳:归纳: P19
23、2.3 算法的特性 P21 一个算法应具有特点:一个算法应具有特点: 有穷性。有穷性。一个算法包含有限的操作步骤,一个算法包含有限的操作步骤, 而不能是无限的。而不能是无限的。 确定性。确定性。算法中的每一个步骤都应当是确算法中的每一个步骤都应当是确 定的,不能模棱两可。定的,不能模棱两可。 有零个或多个输入。有零个或多个输入。 有一个或多个输出。有一个或多个输出。 有效性。有效性。如:如:a/b,若若b=0,不能执行。,不能执行。 2.4 怎样表示一个算法 常用算法表示的方法:常用算法表示的方法: 自然语言、传统流程图、结构化流程图(自然语言、传统流程图、结构化流程图(N-S流流 程图)、伪
24、代码等。程图)、伪代码等。 2.4.1 用自然语言表示算法用自然语言表示算法 2.4.2 用流程图表示算法用流程图表示算法 P22 一个流程图包括:一个流程图包括: 表示相应操作的框表示相应操作的框 带箭头的流程线带箭头的流程线 框内外必要的文字说明框内外必要的文字说明 例例2.6 将例将例2.1的算法的算法 用流程图表示。用流程图表示。 求求12345 P23 图图2.6 1t i5 开始开始 2i t*it i+1i 结束结束 N Y 例例2.6 将例将例2.1的算法的算法 用流程图表示。用流程图表示。 求求12345 如果需要将最后结果如果需要将最后结果 输出输出: P23 图图2.7
25、1t 输出输出t i5 开始开始 2i t*it i+1i 结束结束 N Y 例例2.7 例例2.2的算法用流程图表示。有的算法用流程图表示。有 50个学生,要求将成绩在个学生,要求将成绩在80分以上的分以上的 学生的学号和成绩输出。学生的学号和成绩输出。 1i i50 开始开始 i+1i 结束结束 N Y 输入输入ni、gi 1i 开始开始 gi80 输出输出ni、gi i+1i i50 N Y Y N 如果包括输入数据部分如果包括输入数据部分 P24 图图2.8 1i i50 开始开始 i+1i 结束结束 N Y 输入输入ni、gi 1i gi80 输出输出ni、gi i+1i i50 N
展开阅读全文