第3章三种基本程序结构.ppt
《第3章三种基本程序结构.ppt》由会员分享,可在线阅读,更多相关《第3章三种基本程序结构.ppt(47页珍藏版)》请在三一文库上搜索。
1、C语言程序设计,主讲:桂绍勇,第三章 三种基本程序结构,C语言属于典型的结构化程序设计语言。结构化程序设计是一种进行程序设计的原则和方法,按照这种原则和方法可设计出结构清晰、容易理解和修改的程序。 结构化程序的局部上仍然由3种基本结构组成,那就是:顺序结构、选择结构和循环结构。,3.1 算法,广义的讲,算法就是解决问题的一般方法。,在计算机程序设计领域,算法是合理组织语句顺序,将数据对象进行有序的加工处理的一般方法。 结构化程序设计的一般步骤 :,程序: 程序=算法+数据 算法:解决问题的方法; 数据:加工的对象;,“算法是程序的灵魂”,一、算法设计 程序实际上是用计算机语言所描述的算法。也就
2、是说,依据算法所给定的步骤,用计算机语言所规定的表达形式去实现这些步骤,即形成源程序。 在算法设计中应遵循的准则: 1.可行性 2.确定性 (稳定) 3.有穷性 (可以结束) 4.输入 5.输出,二、算法的描述 对算法的描述,一般采用自然语言、一般流程图或N-S结构流程图、伪代码等几种方法。 一般流程图的基本图元:,所谓“图元”是构成流程图的基本符号。,第一章中的例1-1对应的一般流程图:,思考题: 画出求5的流程图。,3.2 顺序结构,顺序结构是最简单的一种程序结构。程序中的语句按先后顺序逐条依次执行。 “语句”是用来向计算机发出的操作指令。一个实际的C语言程序应包含若干条语句。 一、C语句
3、概述 C程序中的语句分为5大类别: 1. 控制语句 2. 表达式语句 3. 函数调用语句 4. 空语句 5. 复合语句,1.表达式语句 由一个表达式后跟一分号“;”构成的语句。 如: a=10; 3+4*5/6; 2.控制语句 教材P35页。 起到控制语句执行顺序的作用。通常在流程图中反映为流程线的跳动。 3.函数调用语句 如: printf(“min=%d”, m); c=max(a,b);,注意末尾的分号;,4.空语句 ; 注意这也是一条语句! 5.复合语句 复合语句就是用一对大括号“”将若干语句括起来形成的语句。例如: t=a; a=b; b=t; 用“”将若干语句括起来的“语句群”。,
4、注意: 1.这是一条语句 2.末尾(也就是“”后)可以没有分号“;”,二、格式输入与输出 C程序中没有专门的输入与输出语句,相关功能用函数的手段实现。 1.格式输出函数printf printf函数的作用是按照指定格式在终端(显示器)上输出信息。 一般形式: printf(格式控制,输出列表); 如: printf(“x=%d,y=%f”, a, b);,1)“输出列表”部分 输出列表由逗号“,”连接若干待输出量。 如上例中的a, b,表示将要输出变量a和b的值。 “待输出量”可以是变量、常量、表达式甚至是函数调用,例如: printf(“zhui da zhi shi %d”, max(a,
5、 b); 其中max(a, b)函数调用部分即是待输出量部分。 又如: printf(“%dn”, 5+6*7);,2)“格式控制”部分 格式控制部分起到规定输出信息的内容及格式的作用。其是由一对双引号括起来的字符串,其中包含2种字符:普通字符、格式控制符。 普通字符 printf函数在输出时将普通字符不做任何更改的照原样输出。普通字符起到描述输出信息含义的作用。 格式控制符 格式控制符起到规定输出表列中待输出量按照什么格式输出的作用。 教材P36页。,注意: 1.待输出量的数据类型必须与格式控制符限定的数据类型对应; 2.格式控制符区分大小写; 3.可以没有输出表列部分,但必须要有格式控制部
6、分 ; 4.输出列表中待输出量的个数不应少于格式控制部分中格式控制符的个数; 5.待输出量的个数可以大于格式控制符个数,多出的待输出量将在输出时被忽略掉。,如实数型量不能按%d形式输出,字符串量不能按%f形式输出等等。 下面语句写法是错误的: printf(“%dt%fn”,3.14,”how are you!”); 下面语句呢? printf(“%c”, C); printf(“%d”, C);,这和变量名是不一样的。例如“%d”和“%D” 被认为是不一样的。 下面语句和合法的: printf(“%F%S”,12.345,”WuHan”);,即上述printf函数的一般形式严格意义上应改为:
7、 printf(格式控制,输出列表); 即输出表列部分是可选的。 如: printf(“How are you!n”);,printf函数按格式控制符指定的形式在输出列表中寻找待输出量与之对应输出。当找不到对应待输出量时则会出错。如: printf(“first=%d, second=%d, third=%d”, a, b); 假设变量a的值为3,b的值为4,则输出为: first=3, second=4, third=2268,如: printf(“first=%d, second=%d”, a, b, c); 则输出为: first=3, second=4 变量c的值将不被输出。,2.格式
8、输入函数scanf 一般形式: scanf(格式控制,输入列表); 如: scanf(“%d, %f”, scanf函数是从标准输入设备(通常是键盘)读取输入值并赋给输入列表中对应位置的变量。 如上例运行时从键盘输入: 34,5.6 则之后变量m的值为34,变量n的值为5.6。,scanf函数与printf的对比: 1.scanf函数中的输入表列部分中的待输入量必须取变量的地址,而不是变量名; 如下面的写法是错误的: scanf(“%d%d”,a,b); 2.格式控制部分中最好不要出现普通字符,否则应按原样输入;如: scanf(“one=%f,two=%d”, 输入时应: one=9.8,t
9、wo=100,3.scanf函数是以“空格”、“回车”以及“可取有效输入”等3种方式作为一笔有效输入数据的。如: scanf(“%d%d”, /*两个%d之间没有空格*/ 在输入时,可以: 3 4 将3赋给a,4赋给b,也可以: 3 4,下面是体现“可取有效输入”含义的一个例子: scanf(“%d%c%d”, 如果想输入123给m,字符w给ch,456给n,则以下3种输入方式应采用哪一种呢? 123 123w456 123 w 456 w 456 ,4.从键盘输入数据的类型及个数应与格式控符相匹配。 例如: scanf(“%d, %d”, 输入数据时的形式: 123,3.14 123,456
10、,789 123,456 中只有第方式是正确的。 三、顺序结构程序举例 例3-1。,习题三,1、做书上 课后习题一(1)(6),二(1); 2、作业本 课后习题三(1)、(3),3.3 选择结构,选择结构程序,顾名思义就是根据某些条件选择执行这些或者那些程序的结构形式。 生活中的例子:,C语言中,选择结构语句有if语句、switch语句以及条件运算符语句。,一、if语句 if语句的一般形式为: if(表达式) 语句1; else 语句2; 说明: (1)“表达式”是广义上的表达式,可以是表达式、常量、变量,或函数调用等;,如: if(xy) z=x; else z=y; if(5) print
11、f(“OK!”); if(a=3) printf(“Good”);,(2)“语句1”和“语句2”只可能一个被执行; if语句首先对表达式求解,若表达式的值为非0(真),按则执行“语句1” ;若表达式的值为0(假),则执行else子句部分的“语句2” 。 (3)当要执行的语句是两条或两条以上语句时,一定要用一对大括号将这些语句组合成复合语句 ;,(4)if子句是必须的,而else子句是可选的。但反过来不成立,即else子句不能脱离if子句单独存在。流程图可以变化如下:,if(xy) z=x; else z=y;,再看例1-3,二、条件运算符 条件运算符用以实现选择结构的非常简洁。如下例:,if(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章三种 基本 程序结构
链接地址:https://www.31doc.com/p-2986891.html