C语言程序设计项目式教程完整版课件全书电子教案教材课件(完整).ppt
《C语言程序设计项目式教程完整版课件全书电子教案教材课件(完整).ppt》由会员分享,可在线阅读,更多相关《C语言程序设计项目式教程完整版课件全书电子教案教材课件(完整).ppt(204页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第 一 章 第四章目 两个整数的四则运算项一学习学习目标目标通过编写计算任意两个整数的四则运算程序,介绍 C语言程序基本结构,调试运行流程,以及实现该功能所必需的 C语言语法知识。在任务实现过程中:了解 C语言程序的基本构成与运行方法。理解常量、变量的区别以及整型、字符型数据的常量、变量表示方法。掌握算术运算符、关系运算符及算术表达式、关系表达式。掌握数据的输入输出函数及使用方法。具有使用 if-else语句及 while语句实现基本功能的能力。学习路径学习路径任务一任务一 指定两个非零整数的基本运算指定两个非零整数的基本运算任务名称任务名称简单简单的的C C语言程序结构语言程序结构 学习一种
2、编程语言,最佳途径就是多阅读代码段,多编写程序代码,接下来通过最基本的C语言程序的基本构成学习基本格式和书写规范,代码示例如下所示:简单简单的的C C语言程序结构语言程序结构说明说明1注释注释 程序注释是书写规范程序时很重要的一个内容,注释可以方便程序的阅读和维护。注释在编译代码时会被忽略,不会编译到最后的可执行文件中,所以注释不会增加可执行文件的大小。简单简单的的C C语言程序结构语言程序结构说明说明2预处理预处理include称为文件包含命令,其意义是把双引号或尖括号内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h的头文件。C语言的头文件中包括
3、了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文,示例代码如下所示:简单简单的的C C语言程序结构语言程序结构说明说明3main()函数函数C语言程序是由若干个函数组成,每个程序有且仅有一个main()函数(主函数),不论其在程序中的位置,C语言程序总是从main()函数开始执行,当main()函数执行完毕时,亦即程序执行完毕。main后面的一对圆括号是必须的,其中可放置函数的参数列表,也可无参数。用括起来的部分,是主函数的函数体部分,示例代码如下所示:简单简单的的C C语言程序结构语言程序结构说明说明4语句语句C语言中以“;”作为语句结束的标志。
4、函数体就是由若干语句组成的,同时语句也出现在函数之间,示例代码如下所示:简单简单的的C C语言程序结构语言程序结构 学习一种编程语言,最佳途径就是多阅读代码段,多编写程序代码,接下来通过最基本的C语言程序的基本构成学习基本格式和书写规范,代码示例如下所示:整型常量与整型整型常量与整型变量变量 应用程序运行过程中需要处理数据,并需要部分空间临时存放数据,该技能点讲解 C语 言中整型、整型常量、整型变量的基本概念。(1)整型 整型用于描述现实生活中的整数,例如 1,32,-55等,基本类型符为 int。(2)整型常量 整型常量就是整常数,程序中不改变的整数数据都可以看成是整型常量。在 C语言中,十
5、进制整型常量与日常数学中整数相同。另外还有八进制、十六进制。(3)整型变量的声明和初始化:一般情况下,变量用来保存程序运行过程中输入的数据、计算获得的中间结果以及程序的最终结果。一个变量在使用之前应该有一个名字,在内存中占据一定的存储单元,变量必须“先声明,后使用”。例如变量 r声明的格式如下所示:变量的命名变量的命名 变量名属于标识符,命名时,一定要符合标识符的命名规定,即只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线。如下所示:a,sum,_avg,b8,a_1(合法变量名)1a,sum,$_avg,b8,a_1#(都是不合法变量名)算术运算符和表达式算术运算符和表达
6、式(1)算术运算符C语言中的算术运算符主要用于执行加、减、乘、除等算术运算。算术运算符分为单目运 算符和双目运算符两类,如表 1.1所示。注意 1:两个整型数据相除结果也是整型数据,即整除。注意 2:取余运算%,仅能用于整型数据,即运算量仅能是整数或整型变量。算术运算符和表达式算术运算符和表达式(2)表达式 表达式是用运算符、括号将操作数连接起来所构成的式子。C语言的操作数包括常量、变量和函数值等。特殊的情况,一个单个变量或常量也可叫做表达式。数据输出数据输出程序中的数据输入输出是指外界(例如用户等)与计算机之间的数据交换,从计算机把数据传给外界称之为输出。常用的数据输出是在显示器上显示信息,
7、在 C语言中,数据输入输出都是由库函数实现的。(1)printf()函数 printf()是格式输出函数,是 C语言中使用最频繁的输出函数。它是一个标准库函数,它 的函数原型在头文件“stdio.h”中。printf函数的调用格式如下:在在 Visual Studio 2017 Visual Studio 2017 中运行中运行 C C 程序程序任务一任务一任务实施任务实施本任务:计算指定两个非零整数(10和 5)之和、之差、之积、之商。任务一任务一任务拓展任务拓展拓展任务名称:指定长方形的长和宽,求长方形的面积。任务二任务二 任务二任务二 随机输入的两个非零整数的基本运算随机输入的两个非零整
8、数的基本运算scanfscanf()()函数函数scanf()函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。scanf()函数的一般格式如下所示:scanf()scanf()函数格式说明函数格式说明 该函数的功能是按用户指定的格式从键盘上把数据输入到指定的变量之中。格式控制字符串的作用与 printf()函数相同,但不能显示非格式字符串,也就是不能显 示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。在使用 scanf()函数输入数据时,遇到下面的情况时该数据认为结束:遇空格或按“回 车”键或“跳格”(Tab)键;按指定的宽度结束,如“%3d
9、”,只取 3列;遇到非法输入例如&a、&b,分别表示变量 a和变量 b的地址。这个地址就是编译系统在内存中给 a,b变量分配的地 址。在语言中,使用了地址这个概念,这是与其他语言不同的。应该把变量的值和变量的地 址这两个不同的概念区别开来。变量的地址是 C编译系统分配的,用户不必关心具体的地址 是多少。任务二任务二任务实施任务实施本任务:由键盘输入 2个非零整数,计算这 2个整数之和、之差、之积、之商。运行结果:任务二任务二任务拓展任务拓展拓展任务名称:使用键盘输入长方形的长和宽,计算并输出长方形的面积。任务三任务三 任务三任务三 随机输入的整数的基本运算随机输入的整数的基本运算关系运算符关系
10、运算符关系运算符主要实现数据的比较运算,用于比较运算。包括大于()、小于(=)、小于等于(=)、等于(=)和不等于(!=)六种。由关系运算符将两个表达式连接起来的式子,就叫关系表达式。关系表达式的值是一个逻辑值,即“真”或“假”,分别用 1和 0表示。C语言中的关系运算符如下所示。关系运算符的优先级关系运算符的优先级关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算 符,高于赋值运算符。在六个关系运算符中、=的优先级相同,高于=和!=,而=和!=的优先级相同。流程图流程图 流程图是一种常用的算法图形表示方法。流程图是用具有特定涵义的图形符号(例如矩 形、菱形和平行四边
11、形等)通过“流程线(Flowline)”连接而成的。它可以清晰地反映程序的执 行过程。流程图的常用图形符号,如下所示。控制结构控制结构所有的程序无论长短,都只采用 3种基本程序控制结构,即顺序结构、选择结构和循环结 构。这 3种结构都具有如下特点:只有一个入口;只有一个出口;每一条语句都应当有一条从入口到出口的路径通过,即每条语句都有机会被执行;没有死循环。控制结构控制结构顺序结构顺序结构(1)顺序结构 顾名思义,顺序结构就是按照程序中语句本身的先后次序,依次执行。如图 所示,先 执行 A操作,再执行 B操作,两者就是顺序执行的关系。控制结构控制结构选择结构选择结构 在编写程序的时候,许多事情
12、也是事先不固定的,例如,编写程序求任意值的绝对值函数,当自变量的值大于等于 0时,其值就是其本身;当自变量的值小于 0时,其值就是其相反数。自变量的值到底是多少,在编写程序的时候是不知道的,所以在程序中必须有判断环节来确定执行不同操作。这种判断环节就是选择结构。选择结构是先判断指定的条件,再决定执行哪个语句,如下所示,当条件成立,即为真时,执行 A;否则,执行 B。注意,只能执行 A或 B之一。控制结构控制结构循环结构循环结构循环结构分为当型循环结构和直到型循环结构两类。当型循环结构是指先判断循环条件,当循环条件成立,即为逻辑真时,反复执行循环体;当循环条件不成立,即为逻辑假时,停止循环,执行
13、循环体后面的语句,如下所示。直到型循环结构是指先执行循环体,再判断循环条件是否成立,若成立,则反复执行循环体;若不成立,则退出循环,执行循环体后面语句,如下所示。单一单一if if结构结构 选择结构中最基本的分支结构是 if语句,按形式分 if语句可以分为单分支、双分支和多分支等,单一 if语句定义形式如下所示 当上述中“表达式”值为“逻辑真”时,执行“语句”中内容。例如计算整型变量 x的绝对值,示例代码如下所示:If-elseIf-else结构结构if语句的第二种形式为 if-else结构的双分支。其定义形式如下所示:当“表达式”值为“逻辑真”时,执行“语句 1”;当“表达式”值为“逻辑假”
14、时,执行“语句 2”。例如,判断整型变量 x是 5,则输出“right”,否则输出“error”,示例代码如下所示:条件运算条件运算 条件运算符是 C语言中唯一的三目运算符,要求有三个运算对象。由条件运算符组成的 表达式称为条件表达式,其格式如下:条件表达式的求值规则为:如果表达式 1的值为真,则以表达式 2的值作为条件表达式的值,否则以表达式 3的值作为整个条件表达式的值。条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此条件表达式通常用于赋值语句之中条件运算符?和:是一对运算符,不能分开单独使用。条件运算符的结合方向是自右至左任务三任务三任务实施任务实施 本任务:由键盘输
15、入 2个任意整数(考虑零不可以做除数),计算这 2个整数之和、之差、之积、之商。任务三任务三任务拓展任务拓展拓展任务名称:比较 x、y的大小,如果 x大则在屏幕中输出“xy”,否则输出“x2&21 的值为032&21 的值为112&23 的值为021&12 的值为0|逻辑或:参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。12|21 的值为132|21 的值为112|23 的值为021|12 的值为1单目!逻辑非:参与运算量为真时,结果为假;参与运算量为假时,结果为真。!1 的值是0!0 的值是1逻辑运算逻辑运算 (2)逻辑运算符的优先级和结合性 三个逻辑运算符中,逻辑非
16、“!”的优先级最高,具有右结合性,其次是逻辑与“&”,最后是逻辑或“|”,逻辑与和逻辑或都具有左结合性。它们的优先级为:!&|。当一个复杂的表达式中既有算术运算符、关系运算符,还有逻辑运算符时,它们之间的优先级如下:算术运算符 关系运算符 逻辑运算符。条件运算条件运算 条件运算符是C语言中唯一的三目运算符,要求有三个运算对象。由条件运算符组成的表达式称为条件表达式。条件表达式的一般格式如下:条件表达式的求值规则为:若表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件运算符?和:是一对运算符,不能分开单独使用。条件运算符的运算优先级低于关系运算符
17、和算术运算符,但高于赋值符。条件运算符的结合性是自右至左,例如条件表达式嵌套:ab?a:cd?c:d,应理解为ab?a:(cd?c:d)。表达式1?表达式2:表达式3forfor和和do-whiledo-while语句语句 (1)for语句简介 C语言中的for语句使用最为灵活,它完全可以代替while语句。其流程图和执行过程分析可以看出,它相当于while循环中如下形式for(表达式1;表达式2;表达式3)循环体 表达式1;while(表达式2)循环体表达式3;forfor和和do-whiledo-while语句语句 该语句的执行过程为:第一步:执行表达式1;第二步:求表达式2的值,若其值为
18、true(非0),则执行一次循环体,若其值为false,(0),则结束循环,转而执行循环体后面的语句;第三步:执行表达式3,然后转到第二步继续执行。for循环含义for(sum=0,i=1;i=10;sum+=i,i+);求1+2+3+4+5+6+7+8+9+10的和for(sum=0,i=1;i=10;sum+=i,i+=2);求1+3+5+7+9的和for(i=0;i+);从0开始,1,2,3不停向上递增,永不停止for(;i&|。当一个复杂的表达式中既有算术运算符、关系运算符,还有逻辑运算符时,它们之间的优先级如下:算术运算符 关系运算符 逻辑运算符。使用符号常量的原因使用符号常量的原因
19、 对于一个成熟的程序员来说,在一个程序中,反复多次使用的常量,都定义为符号常量,这是为什么呢?这主要是因为在程序中使用符号常量有明显的好处。(1)见名知意,清晰明了。为了便于记忆,常常用一个能够表示意义的单词或字母组合来为符号常量命名,增强了程序的可读性。(2)避免反复书写,减少出错率。如果一个程序中多次使用一个常量,就要多次书写,而定义了符号常量,只需要书写一次数值,在使用的地方用符号替代就可以了,能够有效地减少出错概率。(3)一改全改,方便实用。当程序中多次出现同一个常量需要修改时,必须逐个修改,很可能出错。而用符号常量,在需要修改时,只需修改定义,就可以做到“一改全改”,非常方便。3.0
20、3.0任务二任务二 并排显示并排显示2019年前年前3个月的日历,个月的日历,每行显示每个月的同一周每行显示每个月的同一周为什么要用数组为什么要用数组 C语言引入了数组的概念,是为了方便在计算机中描述事物的某些特征及这些特征之间的联系。数组相当于是由若干数据类型相同的变量组成的一个有序的集合,可以通过一个统一的数组名称和一个位置编号的方式来访问数组中的数据。下面通过介绍一个整型一维数组a,该数组中包含10个元素,用来表示10个学生成绩。通过数组名及其后面方括号内的下标,就可以引用数组中该元素。数组中第一个元素是下标为0的元素。因此,数组a的第1个元素记为a0,数组a的第2个元素记为a1,依次类
21、推,数组a的第10个元素记为a9,一般来说,数组a的第n个元素记为an-1 一维数组的引用一维数组的引用 声明了数组以后,如何来使用数组中的元素呢?C语言规定只能逐个引用数组元素而不能一次引用整个数组,数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为在数组名后跟一个下标,下标表示了元素在数组中的顺序号。一维数组的引用格式如下:引用一维数组时应注意:(1)数组名是表示要引用哪一个数组中的元素,这个数组必须已经声明。(2)下标用一对中括号括起来,它表示要引用数组中的第几个元素,可以是变量表达式也可以是常量表达式。如为小数时,C编译将自动取整。举例如下代码所示:数组名下标num3;n
22、umi+j;numi+;3.03.0一维数组的引用一维数组的引用(3)C语言规定,数组下标从0开始。一个含有n个元素的数组,数组下标的取值范围为0,n-1,举例如下代码所示:其中,整型数组num的下标只能取0、1、2三个值,即可以引用数组元素num0、num1、num2。如将上述程序段中第二行改为:num3=k;则错误,引用num3是超界的,它表示数组中的第四个元素。C语言编译时并不指出“下标超界”的错误,而是把num2下面一个单元的内容作为num3引用,从而引起程序潜在的错误。因此,引用数组元素时要特别小心。int num3,k=10;num0=k;一维数组的初始化一维数组的初始化 与使用变
23、量一样,一维数组在使用之间必须进行声明。一维数组的声明格式如下:数据类型 数组名常量表达式;(1)数据类型用来声明数组中各个数据元素的类型,如int、float、char等。在任何一个数组中,数据元素的类型都是一致的。(2)数组名的命名规则与变量名的命名规则一样。(3)数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,在内存单元中按其下标的顺序占用一段连续的存储单元。一维数组的逻辑结构与存储结构是相同的,数组a 的存储结构为:(4)常量表达式的值表示数组元素的个数。常量表达式必须是整数或者整数表达式而不能有变量。常量表达式是放在一对中括号中。3.03.0一维数组的初始
24、化一维数组的初始化 数组声明后,必须对其元素进行初始化。数组初始化是指在数组声明时给数组元素赋予初值。可以在运行时显示地初始化数组,也可以像普通变量一样,在声明数组同时初始化数组元素。这种方法是在编译阶段进行的,可以减少运行时间,提高效率。一维数组的初始格式如下:数据类型 数组名常量表达式初值表3.03.0任务三任务三 显示显示2019年全年日历,每年全年日历,每3个月一排,个月一排,每行显示相邻每行显示相邻3个月的同一周个月的同一周二维数组的声明二维数组的声明具有多个下标的数组称为多维数组,其中最常用的是二维数组,主要用来表示数值表格。二维数组的声明格式如下:声明二维数组时应注意:(1)与一
25、维声明基本相同,只多了一个常量表达式,表示二维。第一个常量表达式为行下标,声明了这个数组的行数,第二个常量表达式为列下标,声明了每行的列数。因此,元素个数=行数*列数。如上面二维数组a由34=12个元素组成。数据类型 数组名常量表达式 常量表达式;3.03.0二维数组的声明二维数组的声明(2)C语言把二维数组看成是一维数组,基元素又是一个一维数组。例如,a有三个元素a0,a1和a2,它们各自又可以看作为一个包含5个元素的一维数组(3)二维数组的元素在内存中按线性方式存放,即按行存放,先存放第一行的元素,再存放第二行的元素。数组a的存放顺序为:a00 a01 a02 a03 a10 a11 a1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 项目 教程 完整版 课件 全书 电子 教案 教材 完整
限制150内