第3章顺序结构程序设计.ppt
《第3章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第3章顺序结构程序设计.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,C语言程序设计,第3章 顺序结构程序设计,3.1 算法的基本知识3.2 C语句3.3 数据的输入和输出,课程回顾,3.1 算法的基本知识,1、指出下列各表达式的值:2、以下程序的输出结果是:,如:123/10%10、19%4/5、16/5.0,#include “stdio.h”main() i nt a=4,b=5,c=0,d; d=!a ,课程回顾,3.1 算法的基本知识,阅读以下程序,写出程序的输出结果?,#include stdio.hmain() int a=5,b=4,c=6,d; printf(%dn,d=ab?(ac?a:c):(b); getch();,课程回顾,3.1 算
2、法的基本知识,阅读以下程序,写出程序的输出结果?,#include stdio.hmain() int sum,pad; sum=pad=6; pad=sum+,pad+,+pad; printf(“sum=%dnpad=%dn,sum,pad); getch();,课程回顾,3.1 算法的基本知识,阅读以下程序,写出程序的输出结果?,#include stdio.hmain() int a=0,b=5,c=0; c=(a-=a-8) , (a+=b,b+5) ; printf(“a=%d,b=%dnc=%d, a,b,c); getch();,学习目标,理解算法的特性和要素,掌握常用的算法描
3、述方法,3.1 算法的基本知识,广义上讲,算法是解决某一问题的方法和步骤。狭义上,算法指的是计算机算法,即对特定问题求解步骤的一种描述,它是计算机指令的有限序列,其中每一条指令表示计算机可以进行的一个或多个操作。,算法的概念,3.1 算法的基本知识,算法的特性,3.1.1 算法的特性和要素,(1)有穷性,(2)确定性,(3)可行性,(4)有零个或多个输入,(5)有一个或多个输出,算法的要素,3.1.1 算法的特性和要素,一个计算机所能执行的算法必须具备以下两个要素:(1)基本操作即构成算法的操作取自哪个操作集。计算机操作主要包括:算术运算、关系运算、逻辑运算、函数运算、位运算及I/O操作等。由
4、于不同的计算机语言所对应的操作集略有不同,所以在设计算法前,应先确定编程语言。(2)控制结构每个算法都是由一系列的操作组成。同一操作序列,按不同的顺序执行,就会得到不同的结果。控制结构即如何控制组成算法的各操作的执行顺序。一个算法只能由种结构组成,即顺序结构、选择结构、循环结构。,3.1.2 算法的描述,算法的描述方法有很多种,最常用的有自然语言、伪代码、流程图、N-S图、PAD图和计算机语言等。,自然语言,3.1.2 算法的描述,自然语言是人们在日常生活、工作、学习中通用的语言,一般不需要专门学习和训练就能理解用这种语言所表达的意思。但用自然语言描述程序(或算法)的流程时,一般要求直接而简练
5、,尽量减少语言上的修饰。,实例分析,3.1.2 算法的描述,用自然语言描述sum=1+2+3+99+100的算法。定义变量sum,并置初始值为0。计算1+2+3+99+100的和,并将结果赋给sum。输出变量sum的值。,流程图,3.1.2 算法的描述,流程图是一种传统的算法表示方法,用一些图框表示各种操作,用流程线表示操作的执行顺序。用图形表示算法,直观形象、易于理解。ANSI(American National Standard Institute)规定了一些常用流程图符号。,实例分析,3.1.2 算法的描述,用流图描述sum=1+2+3+99+100的算法,图,3.1.2 算法的描述,N
6、-S图是由I.Nassi和B.Shneiderman于1973年共同提出的一种结构化描述方法。在这种流图图中,去掉了所有的流程线,算法写在一个矩形框内,在该矩形框内还可以包括其他的矩形框。N-S流程图用以下的流程图符号。,图,3.1.2 算法的描述,实例分析,3.1.2 算法的描述,用图描述sum=1+2+3+99+100的算法,程序设计语言,3.1.2 算法的描述,对于采用自然语言、流程图和N-S图描述的算法,计算机是不能执行的。要让计算机执行一个算法,必须把该算法转换成计算机语言。用计算机语言表示算法必须严格遵循所使用语言的语法规则。,实例分析,3.1.2 算法的描述,【例3-1】 编程求
7、1+2+3+99+100的累加和。#include int main( )int i,sum;i=1; sum=0;while(iy) max=x;elsemax=y;,printf(Hello!);,由表达式加一个分号构成一个语句。,a=3;,;,由 将一些语句括起来。, t=x; x=y; y=t;,?,语句分类,3. 2 语句,语句构成,3.2.1 表达式语句,表达式语句是由表达式加上分号(;)组成。其一般形式如下: 表达式;这里的表达式是指语言中任何合法的表达式。例如: x=y+z; /赋值表达式语句 y+z;/加法运算语句,计算结果不能保留,无实际意义 i+;/自增语句,即i的值增,
8、注意事项,3.2.1 表达式语句,使用赋值语句时需要注意以下几点。(1)在赋值符“”右边的表达式也可以是一个赋值表达式。例如:a=b=c=5;(2)注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。,语句构成,3.2.2 函数调用语句,函数是C程序的基本组成单位,一个函数的执行是通过在程序中调用这个函数来实现的,调用函数的操作由C语句来完成,通常称为函数调用语句。其一般形式如下:函数名(参数表);例如,“printf(hello!);”就是一个函数调用语句。,3.2.3 控制语句,语句构成,3.2.4 空语句,仅由分号“;”组成的语
9、句称为空语句。空语句是不执行任何操作的语句。例如,while(getchar( ) !=n) ; /循环体为空语句空语句通常起到占位的作用,在程序没有完全开发完成前,可用空语句占位,以便后续开发填充代码。,语句构成,3.2.5 复合语句,把多个语句用大括号括起来组成的语句称为复合语句。在语法上,复合语句相当于单条语句,而不是多条语句。其一般形式为: 语句1 语句n复合语句可以放在能够使用语句的任何地方,它建立一个新的作用域或块。复合语句是C语言中唯一不用分号“;”结尾的语句。,学习目标,掌握格式化输入函数的基本用法,3.3 数据的输入和输出,掌握格式化输出函数的基本用法,注意事项,一个完整的计
10、算机程序应具备输入输出功能,C语言本身并不提供数据的输入输出语句,有关的输入输出操作都是通过调用C标准库函数来实现的。C语言提供的输入输出标准库函数有getchar( )、putchar( )、puts()、gets()、scanf( )和printf( )。引用语言标准库函数时,必须用编译预处理命令“#include”将头文件“stdio.h”包含到用户源程序中,即在程序的开始写一行命令#include或者#include”stdio.h”。,3.3 数据的输入和输出,getchar( ),字符输入函数的一般形式如下:int getchar();功能:接收从终端输入的一个字符,并返回其ASC
11、II码值。例如:int ch=getchar( ); /从输入终端(如键盘)接收一个字符并把它赋给ch变量。,注:getchar函数没有参数,所接受的字符可以赋给字符型或整型变量,也可以作为表达式的一部分。,3.3 数据的输入和输出,实例分析,#include void main() char c1; c1=getchar(); putchar(c1); putchar(getchar();,输入:a ,a_,输入:ab ,ab_,?,3.3 数据的输入和输出,getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回
12、车为止(回车字符也放在缓冲区中).如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键. getch()与getchar()基本功能相同,差别是getch()直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch()就立刻返回,getchar()与getch()的区别?,3.3 数据的输入和输出,实例分析,#include void main() char c1,c2,c3; c1=getchar(); c2=get
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 结构 程序设计
限制150内