资源描述
4.1 C4.1 C语句概述语句概述4.2 4.2 程序的三种基本结构程序的三种基本结构4.3 4.3 赋值语句赋值语句4.4 4.4 数据输入输出的概念及在语言中的实现数据输入输出的概念及在语言中的实现4.5 4.5 字符数据的输入输出字符数据的输入输出4.6 4.6 格式输入与输出格式输入与输出4.7 4.7 顺序结构程序设计举例顺序结构程序设计举例习题习题第4章 最简单的c程序设计顺序程序设计1 1pptppt课件课件在上一章介绍了程序中用到的一些基本要素在上一章介绍了程序中用到的一些基本要素(常量、变量、运算符、表达式等常量、变量、运算符、表达式等),它们是,它们是构成程序的基本成分。在第构成程序的基本成分。在第1 1章中已经介绍了章中已经介绍了几个简单的几个简单的c c程序。本章将介绍为编写简单的程序。本章将介绍为编写简单的程序所必需的一些内容。程序所必需的一些内容。2 2pptppt课件课件4.1 C语句概述 和其他高级语言一样,和其他高级语言一样,c c语言的语句用来向计算机系统语言的语句用来向计算机系统发出操作指令。一个语句经编译后产生若干条机器指令。发出操作指令。一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干语句。应当指出,一个实际的程序应当包含若干语句。应当指出,c c语句语句都是用来完成一定操作任务的。声明部分的内容不应称都是用来完成一定操作任务的。声明部分的内容不应称为语句。如:为语句。如:inta;inta;不是一个不是一个c c语句,它不产生机器操作,语句,它不产生机器操作,而只是对变量的定义。从第而只是对变量的定义。从第1 1章已知,一个函数包含声章已知,一个函数包含声明部分和执行部分,执行部分即由语句组成。明部分和执行部分,执行部分即由语句组成。c c程序结程序结构可以用图构可以用图4.14.1表示。即一个表示。即一个c c程序可以由若干个源程序程序可以由若干个源程序文件文件(分别进行编译的文件模块分别进行编译的文件模块)组成,一个源文件可以组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成由若干个函数和预处理命令以及全局变量声明部分组成(关于关于“全局变量全局变量”见第见第7 7章,章,“预编译命令预编译命令”见第见第8 8章章),一,一个函数由数据定义部分和执行语句组成。个函数由数据定义部分和执行语句组成。3 3pptppt课件课件图图4.14.14 4pptppt课件课件在第在第2 2章中已经说明,程序应该包括数据描述章中已经说明,程序应该包括数据描述(由声由声明部分来实现明部分来实现)和数据操作和数据操作(由语句来实现由语句来实现)。数据。数据描述主要定义数据结构描述主要定义数据结构(用数据类型表示用数据类型表示)和数据初和数据初值。数据操作的任务是对已提供的数据进行加工。值。数据操作的任务是对已提供的数据进行加工。C C语句可以分为以下语句可以分为以下5 5类:类:(1)(1)控制语句,完成一定的控制功能。控制语句,完成一定的控制功能。c c只有只有9 9种控种控制语句,它们是:制语句,它们是:if()if()elseelse(条件语句条件语句)for()for()(循环语句循环语句)hile()hile()(循环语句循环语句)dodohile()(hile()(循环语句循环语句)continue(continue(结束本次循环语句结束本次循环语句)5 5pptppt课件课件break(break(中止执行中止执行switchswitch或循环语句或循环语句)ssitch(itch(多分支选择语句多分支选择语句)goto(goto(转向语句转向语句)return(return(从函数返回语句从函数返回语句)上面上面9 9种语句中的括号种语句中的括号()()表示其中是一个条件,表示其中是一个条件,表示内嵌的语句。例如:表示内嵌的语句。例如:“if()“if()elseelse”的具体语的具体语句可以写成:句可以写成:if(xif(xy)z=xy)z=x;elsez=yelsez=y;(2)(2)函数调用语句。由一次函数调用加一个分号构函数调用语句。由一次函数调用加一个分号构成一个语句,例如:成一个语句,例如:printf(thisisacstateprintf(thisisacstateentent);6 6pptppt课件课件(3)(3)表达式语句。由一个表达式构成一个语句,表达式语句。由一个表达式构成一个语句,最典型的是,由赋值表达式构成一个赋值语句。最典型的是,由赋值表达式构成一个赋值语句。a=3a=3是一个赋值表达式,而是一个赋值表达式,而a=3a=3;是一个赋值语句。可以看到一个表达式的最后加一是一个赋值语句。可以看到一个表达式的最后加一个分号就成了一个语句。一个语句必须在最后出现个分号就成了一个语句。一个语句必须在最后出现分号,分号是语句中不可缺少的一部分分号,分号是语句中不可缺少的一部分(而不像而不像pascalpascal语言那样,分号只是语句间的分隔符号语言那样,分号只是语句间的分隔符号)。例如:例如:i=i+1i=i+1(是表达式,不是语句是表达式,不是语句)i=i+1i=i+1;(是语句是语句)7 7pptppt课件课件任何表达式都可以加上分号而成为语句,例如任何表达式都可以加上分号而成为语句,例如i+i+;是一语句,作用是使;是一语句,作用是使i i值加值加1 1。又如。又如x+yx+y;也是一;也是一个语句,作用是完成个语句,作用是完成x+yx+y的操作,它是合法的,但的操作,它是合法的,但是并不把是并不把x+yx+y的和赋给另一变量,所以它并无实际的和赋给另一变量,所以它并无实际意义。意义。表达式能构成语句是表达式能构成语句是c c语言的一个重要特色。其实语言的一个重要特色。其实“函数调用语句函数调用语句”也是属于表达式语句,因为函数调也是属于表达式语句,因为函数调用用(如如sin(x)sin(x)也属于表达式的一种。只是为了便于也属于表达式的一种。只是为了便于理解和使用,我们把理解和使用,我们把“函数调用语句函数调用语句”和和“表达式语表达式语句句”分开来说明。由于分开来说明。由于c c程序中大多数语句是表达式程序中大多数语句是表达式语句语句(包括函数调用语句包括函数调用语句),所以有人把,所以有人把c c语言称作语言称作“表达式语言表达式语言”。8 8pptppt课件课件(4)(4)空语句。下面是一个空语句:空语句。下面是一个空语句:;即只有一个分号的语句,它什么也不做。有时用来即只有一个分号的语句,它什么也不做。有时用来做被转向点,或循环语句中的循环体做被转向点,或循环语句中的循环体(循环体是空循环体是空语句,表示循环体什么也不做语句,表示循环体什么也不做)。(5)(5)可以用可以用 把一些语句括起来成为复合语句,把一些语句括起来成为复合语句,又称分程序。如下面是一个复合语句。又称分程序。如下面是一个复合语句。z=x+yz=x+y;t=z/100t=z/100;printf(%fprintf(%f,t)t);9 9pptppt课件课件注意:复合语句中最后一个语句中最后的分号不能注意:复合语句中最后一个语句中最后的分号不能忽略不写忽略不写(这是和这是和pascalpascal不同的不同的)。C C语言允许一行写几个语句,也允许一个语句拆开语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求写在几行上,书写格式无固定要求(fortran(fortran、cobolcobol有严格要求有严格要求)。4.2程序的三种基本结构为了提高程序设计的质量和效率,现在普遍采用结为了提高程序设计的质量和效率,现在普遍采用结构化程序设计方法。结构化程序由若干个基本结构构化程序设计方法。结构化程序由若干个基本结构组成。每一个基本结构可以包含组成。每一个基本结构可以包含 一个或若干个语一个或若干个语句。有三种基本结构句。有三种基本结构:(1)(1)顺序结构顺序结构,见图见图4.24.2。先执行。先执行a a操作操作,再执行再执行b b操操作作,两者是顺序执行的关系。图中两者是顺序执行的关系。图中(b)(b)是是nsns结构化流结构化流程图程图(下同下同)。1010pptppt课件课件图图4.24.2图4.31111pptppt课件课件(2)(2)选择结构选择结构,见图见图4.34.3。p p代表一个条件代表一个条件,当当p p条件条件成立成立(或称为或称为“真真”)”)时执行时执行a,a,否则执行否则执行b b。注意。注意,只能只能执行执行a a或或b b之一。两条路径汇合在一起然后出口。之一。两条路径汇合在一起然后出口。(3)(3)循环结构循环结构,有两种循环结构有两种循环结构:当型循环结构当型循环结构,见图见图4.44.4。当。当p p条件成立条件成立(“(“真真”)”)时时,反复执行反复执行a a操作。直到操作。直到p p为为“假假”时才停止循环。时才停止循环。直到型循环结构直到型循环结构,见图见图4.54.5。先执行。先执行a a操作操作,再判再判断断p p是否为是否为“假假”,”,若若p p为为“假假”,”,再执行再执行a,a,如此反复如此反复,直到直到p p为为“真真”为止。为止。1212pptppt课件课件图图4.44.4图4.51313pptppt课件课件由选择结构可以派生出另一种基本结构由选择结构可以派生出另一种基本结构:多分支选多分支选择结构择结构,见图见图4.64.6。根据根据k k的值的值(k1,k2,kn)(k1,k2,kn)不同而决定执行不同而决定执行a1,a2,ana1,a2,an之一。之一。已经证明已经证明,由以上基本结构组成的程序能处理任何由以上基本结构组成的程序能处理任何复杂的问题。上面图复杂的问题。上面图4.24.2图图4.74.7中方框中的中方框中的a,b,a1,ana,b,a1,an等可以是一个简单的语句等可以是一个简单的语句,也可以又也可以又是一个基本结构。例如是一个基本结构。例如,图图4.74.7是一个顺序结构是一个顺序结构,它它由两个操作顺序组成。虚线框内是一个当型循环结由两个操作顺序组成。虚线框内是一个当型循环结构构,可以用可以用“b”“b”表示表示,因此图因此图4.74.7就可以理解为图就可以理解为图4.2(a)4.2(a)所示的顺序结构。所示的顺序结构。1414pptppt课件课件图图4.64.6图图4.71515pptppt课件课件关于三种基本结构的特征以及结构化程序设计方法关于三种基本结构的特征以及结构化程序设计方法,读者可能已在学习其他高级语言程序设计时学习过读者可能已在学习其他高级语言程序设计时学习过,在此不再重复。只是应当强调说明在此不再重复。只是应当强调说明,在今后的程序在今后的程序设计中应当采用结构化程序设计方法。在本章中设计中应当采用结构化程序设计方法。在本章中,我们将介绍几种最基本的语句我们将介绍几种最基本的语句,以及用它们构成顺以及用它们构成顺序结构的程序。在第序结构的程序。在第4 4、第、第5 5章介绍选择结构和循章介绍选择结构和循环结构的程序设计。环结构的程序设计。1616pptppt课件课件4.3赋值语句前已介绍,赋值语句是由赋值表达式加上一个分号前已介绍,赋值语句是由赋值表达式加上一个分号构成。由于赋值语句应用十分普遍,所以专门再讨构成。由于赋值语句应用十分普遍,所以专门再讨论一下。论一下。C C语言的赋值语句具有其他高级语言的赋值语句的语言的赋值语句具有其他高级语言的赋值语句的一切特点和功能。但也应当注意到它们的不同:一切特点和功能。但也应当注意到它们的不同:(1)C(1)C语言中的赋值号语言中的赋值号“=”“=”是一个运算符,在其他是一个运算符,在其他大多数语言中赋值号不是运算符。大多数语言中赋值号不是运算符。(2)(2)关于赋值表达式与赋值语句的概念,其他多数关于赋值表达式与赋值语句的概念,其他多数高级语言没有高级语言没有
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索