第二章 算法、简单的C程序设计教学材料

上传人:yuzo****123 文档编号:141251549 上传时间:2020-08-05 格式:PPT 页数:48 大小:1.37MB
返回 下载 相关 举报
第二章 算法、简单的C程序设计教学材料_第1页
第1页 / 共48页
第二章 算法、简单的C程序设计教学材料_第2页
第2页 / 共48页
第二章 算法、简单的C程序设计教学材料_第3页
第3页 / 共48页
第二章 算法、简单的C程序设计教学材料_第4页
第4页 / 共48页
第二章 算法、简单的C程序设计教学材料_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《第二章 算法、简单的C程序设计教学材料》由会员分享,可在线阅读,更多相关《第二章 算法、简单的C程序设计教学材料(48页珍藏版)》请在金锄头文库上搜索。

1、第二章 算法和最简单的 C 程序设计,本章要点: 掌握了解算法的基本概念与特征 掌握熟悉结构化程序设计的基本概念 掌握算法的表示方法,2.1 算法 一、算法的概念 Nikiklaus Wirth 公式 程序 = 数据结构 + 算法 数据结构:对数据的描述,在程序中指定数据的 类型和数据的组成形式。 算法:对操作的描述,即解决问题的方法和步骤。 程序 = 数据结构 + 算法 + 程序设计方法 + 语言工具 + 环境,2.1 算法 二、算法的特性 1. 有穷性 一个算法包含的操作步骤应当是有限的。 2. 确定性 一个算法的含义应当是唯一的,算法中的每一个 步骤应当是确定的,不应产生 “ 歧义性 ”

2、。 3. 有零个或多个输入 4. 有一个或多个输出 5. 有效性 算法中的每一步都应当能有效地执行, 并得到正确的结果。,算法二: 设 p 为被乘数, i 为乘数,采用循环算法。 S1 : 使 p = 1 ; S2 : 使 i = 2 ; S3 : 使 p i p S4 : 使 i + 1 i S5: 如果 i 不大于5 则返回重新 执行 S3 , S4 ,S5 ; 否则, 算法结束。,2.1 算法,三、简单算法举例 1. 求 12 3 4 5 ( 即 5! ),2. 对一个大于或等于3的正整数,判断它是不是 一个素数。 算法一: 将 n 作为被除数,将 2 到 ( n 1 ) 各个整数轮流作

3、为除数,如都不能被 整除,则 n 为素数。,2.1 算法,三、简单算法举例,算法二: 将 n 作为被除数,将2到n/2(或者是 2 到 n1/2 ) 各个整数轮流作为除数,如都不能被整除,则n为 素数。 S1: 输入 n 的值 S2: i = 2 ( i 作为除数 ) S3: n 被 i 除,得余数 r S4: 如r= 0,则输出“不是素数”,反之执行 S5 S5: i + 1 i S6: 如果 i n 1 , 返回 S3 ; 否则输出 “是素数 ”结束。,2.1 算法,三、简单算法举例,自然语言 传统流程图 结构化流程图 伪代码 PDA图。,2.1 算法,四、算法的表示方法,1. 传统流程图

4、 特点: 用一些规定的图框表示各种操作。 直观形象,易于理解。 常用的ANSI规定图形符号如图:,起始或结束框,输入输出框,判断框,处理框,流程线,连接点,注释框,2.1 算法,四、算法的表示方法,用传统流程图来表示求 5!。,2. 程序的三种基本结构 一个程序只能由三种基本结构(或由它们派生出来的结构)组成,这三种结构为: (1) 顺序结构 (2) 选择结构 (3) 循环结构,A,顺序结构 选择结构 循环结构,3. 用 N S 流程图表示算法 N S 结构化流程图是根据美国学者 I . Nassi和 B.Shneiderman 1973年提出的算法来描述的, 属于无流线的流程图,简称 N S

5、 图。,真 P1 假 当 P2 为真 真 P3 假 A B C,一般情况,N S 图的特点: 比自然语言描述更直观、形象、易于理解。 比传统流程图紧奏易画。 图中的上下顺序就是执行时的顺序,符合 “自顶向下,逐步细化”的结构化程序设计要求。,求 5!的 N S 流程图,判断素数的 N S 流程图,表达式语句: 表达式;,2.2 C 语句概述 C语句包括:,控制语句 ( 9 ) 种 if ( ) else ; for ( ) ; while ( ) ; do while ; continue ; break ; switch ; goto ; return,控制语句,1,函数调用 语句 例如:

6、y = cos(0.5); y = sin(cos(0.5); printf(“Hello”);,函数调用语句,2,复合语句 格式 语句1; 语句 n ; ,复合语句,5,空语句: ;,2.3 赋值语句 赋值语句由赋值表达式加上分号构成。 如: a = b ; C语言中将赋值表达式和赋值语句分开来, 其目的是增加表达式的种类和使用范围。 如: (1) if ( x 0 ) (2) if ( (a = b ) 0 ) t = a ;,2.4 字符数据的输入输出 C 程序的输入和输出完全依靠调用标准输入和输出函数来完成。 常用的 4个I/O 函数为 : scanf ( ) getchar ( )

7、printf ( ) putchar ( ),输出单个字符,输出转义字符,3.4 字符数据的输入输出 一、putchar 函数 (字符输出函数 ) 作用: 向终端(即系统隐含指定的输出设备, 如显示器,打印机) 输出一个字符。 格式: putchar ( ch ) ; 其中: ch 代表一个字符型或整型变量, 也可以是一个字符常量或整型常量。,输出单个字符 # include /* 包含I/O库有关变量定义和宏定义 */ main ( ) char a , b , c ; a = B ; b = O ; c = Y ; putchar ( a ) ; putchar ( b ) ; putch

8、ar ( c ) ; 输出结果: BOY,例如,输出单个转义字符 # include main( ) putchar ( 101 ) ; putchar ( ) ; putchar (n ) ; 输出结果: A,重点,输出单个字符,输出转义字符,3.4 字符数据的输入输出 一、putchar 函数 (字符输出函数 ) 作用: 向终端(即系统隐含指定的输出设备, 如显示器,打印机) 输出一个字符。 格式: putchar ( ch ) ; 其中: ch 代表一个字符型或整型变量, 也可以是一个字符常量或整型常量。,输出单个字符 # include /* 包含I/O库有关变量定义和宏定义 */ m

9、ain ( ) char a , b , c ; a = B ; b = O ; c = Y ; putchar ( a ) ; putchar ( b ) ; putchar ( c ) ; 输出结果: BOY,重点,输出单个转义字符 # include main( ) putchar ( 101 ) ; putchar ( ) ; putchar (n ) ; 输出结果: A,重点,3.4 字符数据的输入输出,二、 getchar 函数 (字符输入函数),作用: 从终端(即系统隐含指定的输入设备 ( 如键盘),输入一个字符。,说明: 1. 执行时,输入字符并按回车键后,才将其输入到缓冲区,

10、只读取一个字符给变量。 getchar 函数接收的一个字符,可以赋给char型或 int 型变量,也可不赋给任何变量。 3.使用 putchar 和 getchar 函数需用预编译命令#include 将 “stdio.h” 包括进去。,例3.2:从键盘输入一个字符再输出。,从键盘输入一个字符再输出。 #include “stdio.h” main ( ) char c ; c = getchar( ) ; putchar ( c ) ; 若输入 : a 则输出 : a,实例,示例2,示例1,格式控制,输出表列,3.5 格式输入与输出 一、printf 函数 (格式化输出函数 ) 1. 格式:

11、 printf( , ); 作用: 向系统终端(或隐含的输出设备) 输出若干 个指定类型的数据。,2. 格式字符(共 9 种) 作用:控制不同类型数据的不同格式输出。 (1) d格式符:用于输出十进制整数 %d:按整型数的实际长度输出。 %md:m为指定的输出数据宽度,若数据位 数 m 则左补空格,反之则将数据全部输出。 %md:左靠齐,右补空格。 % ld:输出长整型数据。,格式控制: 由双引号括起来的字符串表示,包括格式说明和普通字符两部分。,输出表列: 需要输出的数据,可以是: 常量,变量,表达式 ,函数,字符串常量 。,使用示例: main( ) int a=3, b=2; print

12、f(“%d,%d”, a , b); printf(“sum is%d”, a+b); printf(“%d”, 123) ; printf(“%c”, getchar( ); ,main() int a=123,b= 12345 ; long c = 135790 ; printf(“%4d,%4dn”, a, b); printf(“%4dn”, a) ; printf(“%ldn”, c) ; printf(“%8ld”, c) ; 输出: 123 , 12345 123 135790 135790,格式控制,输出表列,printf 函数使用示例: main( ) int a=3, b=

13、2; printf(“%d,%d”, a , b); printf(“sum is%d”, a+b); printf(“%d”, 123) ; printf(“%c”, getchar( ); ,举例,main() int a=123,b= 12345 ; long c = 135790 ; printf(“%4d,%4dn”, a, b); printf(“%4dn”, a) ; printf(“%ldn”, c) ; printf(“%8ld”, c) ; 输出: 123 , 12345 123 135790 135790,格式控制: 由双引号括起来的字符串表示,包括格式说明和普通字符两部

14、分。,重点,输出表列: 需要输出的数据,可以是: 常量,变量,表达式 ,函数,字符串常量 。,重点,3.5 格式输入与输出 一、printf 函数 (格式化输出函数 ) 1. 格式: printf( , ); 作用: 向系统终端(或隐含的输出设备) 输出若干 个任意类型的数据。,2. 格式字符(共 9 种) 作用:控制不同类型数据的不同格式输出。 (1) d格式符:用于输出十进制整数 %d:按整型数的实际长度输出。 %md:m为指定的输出数据宽度,若数据位 数 m 则左补空格,反之则将数据全部输出。 %md:左靠齐,右补空格。 % ld:输出长整型数据。,格式控制: 由双引号括起来的字符串表示

15、,包括格式说明和普通字符两部分。,输出表列: 需要输出的数据,可以是: 常量,变量,表达式 ,函数,字符串常量 。,使用示例: main( ) int a=3, b=2; printf(“%d,%d”, a , b); printf(“sum is%d”, a+b); printf(“%d”, 123) ; printf(“%c”, getchar( ); ,main() int a=123,b= 12345 ; long c = 135790 ; printf(“%4d,%4dn”, a, b); printf(“%4dn”, a) ; printf(“%ldn”, c) ; printf(“%8ld”, c) ; 输出: 123 , 12345 123 135790 135790,示例,格式控制,输出表列,示例1,printf 函数使用示例: main( ) int a=3, b=2; printf(“%d,%d”, a , b); printf(“sum is%d”, a+b); p

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号