C语言程序设计项目式教程-全套ppt课件

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!