当前位置:首页 >> 其它课程 >> 辽师大版信息技术九年《顺序结构程序设计》ppt课件

辽师大版信息技术九年《顺序结构程序设计》ppt课件


第3讲

第3章 顺序结构程序设计
? 3.1 程序设计概述 ? 3.2 C语言语句 ? 3.3 格式化输出函数 printf() ? 3.4 格式化输入函数 scanf() ? 3.5 单个字符的输入/输出 函数

3.1 程序设计概述
? 3.1.1 算法的概念
– – 简单地说,程序的功能就是进行数据

加工。 程序通常包括两方面的内容:
? ? 对数据的描述 和 对加工的描述

– –

对数据的描述称为“数据结构”,对加工的描述称 为“算法” 广义地说,为解决某一个问题而采取的方法和步骤, 就称为“算法”。在计算机科学中,算法是指描述 用计算机解决给定问题的过程。
? 例如,计算1+2+3+…+1000的算法可表示为

例如,计算 1+2+3+…+1000 的算法可 表示为
– 步骤1:0 ? s; – 步骤2:1 ? i; – 步骤3:s+i ? s; – 步骤4:i+1 ? i; – 步骤5:如果i≤1000,转到步骤3,否则结 束。

– 在上面的算法中,符号 s 、 i 表示变量,符号 “?”表示给变量赋值。
? ? ? ? 步骤1和步骤2表示给变量s和i赋初始值为0和1; 步骤3将变量i的当前值累加到变量s中; 步骤4使变量i在原值的基础上增加1; 步骤5判断i的值如果小于等于1000,重复做步骤3和 步骤4,构成<a href=“www.scsiot.com”>一个循环, 而当i的值不小于等于1000时,循环</a>结束,这时, 变量s的值就是要求的计算结果。

? 3.1.2 算法的特征 ? 通常,一个算法必须具备以下五个基本特征: – (1) 有穷性。
– 一个算法必须在它所涉及的每一种情形下,都能在执行有限次的操作 之后结束。

– (2) 确定性。 – (3) 有零个或多个输入。

– 算法的每一步,其顺序和内容都必须严格定义,而不能有任何的歧义。

– 输入是算法实施前需要从外界取得的信息,有些算法需要有多个输入, 而有些算法不需要输入,即零个输入。

– (4) 有一个或多个输出。
– 输出就是算法实施后得到的结果,显然,没有输出的算法是没有意义 的。

– (5) 可行性。
– 算法的每一步都必须是可行的,也就是说,是能够由计算机执行的。

? 3.1.3 算法的描述 ? 1.用自然语言描述
– 自然语言就是人们日常使用的语言,前面的 算法就是用自然语言表示的。 – 用自然语言表示算法,通俗易懂。但是,自 然语言表示的含义往往不太严格,要根据上 计算机该用何种形式 下文才能判断它的正确含义。另外,用自然 来描述问题更为简洁、 语言描述分支和循环不很方便。 明了? – 因此,除对简单的问题使用以外,一般不用 自然语言描述算法。

? 2.用流程图描述 ? 传统的流程图由图3-1所示的几种基本元 素组成。
– 用流程图描述算法,形象直观,简单方便。 – 例如,前面的算法用流程图可表示为如图32所示。

起止框

输入/输出框

处理框

判断框

流程线

图3-1 流程图基本元素

开始 0=>s 1=>i

s+i=>s i+1=>i 成立 i<=1000 不成立 输出s 结束

图3-2 计算1+2+3+…+1000的算法流程图

? 3.用N-S流程图描述算法 ? 传统的流程图用流程线和流程元素表示各个处理的执行顺 序,但对流程线的使用没有严格的规定,因此,使用者可 以不受限制地使流程转来转去,这样的流程图使人难以理 解算法的逻辑。 ? 为了解决这个问题,规定了算法的三种基本结构:
– 顺序结构 – 分支结构 – 循环结构

? 用这些基本结构按一定的规律组成一个算法,这样的算法 称为结构化算法。按照结构化算法编写的程序称为结构 化程序。 ? 为了设计结构化算法,1973年,美国学者I.Nassi和

操作A 成立 操作B

条件p 不成立 操作B

当条件p成立

操作A

操作A

操作A

直到条件p成立 直到型循环

当型循环

顺序结构

分支结构

循环结构

图3-3 N-S流程图基本符号

0=>s 1=>i s+i=>s i+1=>i 直到i>1000 输出s
图3-4 计算1+2+3+…+1000算法的N-S图

3.1.4 结构化程序设计方法 ? 结构化程序设计强调程序设计风格和程序结构的规 范化,提倡清晰的结构。

? 结构化程序设计的基本思路是:
– 把一个复杂问题的解决过程分阶段进行 – 每一个阶段处理的问题都控制在人们容易理解和处理的 范围内

? 是在分析问题时采用“自顶向下,逐步细化”的 方法

? “自顶向下,逐步细化”
– 是对问题的解决过程逐步具体化的一种思想 方法。 – 例如,要在一组数中找出其中的最大数,首 先,可以把问题的解决过程描述为
? (1) 输入一组数。 ? (2) 找出其中的最大数。 ? (3) 输出最大数。

? 以上三条中,第(1)、(3)两步比较简单, 对第(2)步可以进一步细化:
– (1) 任取一数,假设它就是最大数。 – (2) 将该数与其余各数逐一比较。 – (3) 若发现有任何数大于假设的最大数,则 取而代之。

? 再对以上过程进一步具体化,得到如下 算法: ? (1) 输入一组数。 ? (2) 找出其中的最大数。
– ① 令max=第一个数。 – ② 将第二个数到最后一个数依次取出。 – ③ 比较x与max的大小,如果x>max,则令 max=x。

? (3) 输出max。

? “模块化设计”就是将比较复杂的任务, 分解成若干个子任务
– 每个子任务又分解成若干个小子任务 – 每个小子任务只完成一项简单的功能 – 在程序设计时,用一个个小模块来实现这些 功能,每个小模块对应一个相对独立的子程 序。对程序设计人员来说,编写程序也就变 得不再困难。

? “结构化编码”指的是使用支持结构化方 法的高级语言编写程序。
– C语言就是一种支持结构化程序设计的高级 语言,
? 它直接提供了三种基本结构的语句; ? 提供了定义“函数”的功能,函数相当于独立的 子程序。 ? 另外,还提供了丰富的数据类型。 这些都为结构化设计提供了有力的工具。

3.2

C语言语句

? C语言程序是由函数构成的,而函数又是由函数说明和 函数体两部分组成,其中,函数体是函数的核心。 ? 与其他高级语言一样,C语言也是利用函数体中的可执 行语句,向计算机系统发出操作命令。
? 按照语句功能或构成的不同,可将C语言语句分为如下 五类:

– 控制语句\函数调用语句\表达式语句\空语句\复 合语句

1.控制语句 ? 控制语句完成一定的控制功能。C语言 只有9条控制语句,又可细分为三种:
– (1) 选择结构控制语句:
? if()… else…,switch()…

– (2) 循环结构控制语句:
? do…while() , for()… , while()… , break , continue

– (3) 其他控制语句:
? goto,return

2.函数调用语句
– 函数调用语句由一次函数调用加一个分号(语句 结束标志)构成。例如:
? printf("This is a C Program.");

3.表达式语句
– 表达式语句由表达式后加一个分号构成。 – 表达式能构成语句是C语言的一大特色。最典型 的表达式语句是在赋值表达式后加一个分号构 成的赋值语句。
? 例如,
– “num=5”是一个赋值表达式,而“num=5;”却是一个赋 值语句。

4.空语句
– 空语句仅由一个分号构成。 – 显然,空语句什么操作也不执行。

? 5.复合语句
– 复合语句由大括号括起来的一组(也可以是一 条)语句构成。例如:

main() { { int a=1,b; b=a*a-1; 复合语句 printf("%d",b); } /* 注意:右括号后不需要分号 */ }

? 说明:
– (1) 在语法上,复合语句和简单语句相同, 即简单语句可以出现的地方,都可以使用复 合语句。 – (2) 复合语句可以嵌套,即复合语句中也可 包含一个或多个复合语句。

3.3 格式化输出函数printf()
? 程序运行中,有时候需要从外部设备(例如 键盘)上得到一些原始数据,程序计算结束 后,通常要把计算结果发送到外部设备(例 如显示器)上,以便人们对结果进行分析。

? 我们把程序从外部设备上获得数据的操作称
为“输入”,而把程序发送数据到外部设

备的操作称为“输出”。

? 不像其他的高级语言,C语言没有专门的 输入/输出语句,输入/输出的操作是通过 调用C语言的库函数来实现的。 ? printf()函数就是最常用的输出函数,它的 作用是向计算机系统默认的输出设备(一般 指显示器)输出一个或多个任意指定类型的 数据。

3.3.1 printf( )函数的一般格式 ? 调用printf()函数的一般格式为

– printf("格式字符串", 输出表项);
? 例如:
– printf("radius=%f\nlength=%7.2f,area=%7.2f\n", r, l, a);

printf("radius=%f\nlength=%7.2f,area=%7.2f\n", r, l, a);

? 格式字符串也称格式控制字符串或格式转 换字符串,其中可以包含下列三种字符:
– (1) 格式指示符:
? 这些字符用来控制数据的输出格式 ? 例如“%f”、“%7.2f”等

– (2) 转义字符:
? 这些字符通常用来控制光标的位置。

– (3) 普通字符:
? 除格式指示符和转义字符之外的其他字符,这些字 符输出时原样输出

? 输出表项
– 由若干个输出项构成,输出项之间用逗号来分 隔, – 每个输出项既可以是常量、变量,也可以是表 达式。 – 有时候,调用printf()函数时,也可以没有输出 项。在这种情况下,一般用来输出一些提示信 息,例如:
? printf ("Hello, world!\n");

3.3.2 格式指示符 ? 格式指示符的一般形式为

–%[修饰符]格式字符
? 1.格式字符 ? printf函数中常用的格式字符如表3-1所示。

表3-1 常用的格式字符
格式 字符 说 明 举 例 printf("%d", 10 ); 10 65 10 65 a 41 输出结果

d

带符号十进制整数格式 printf("%d", 'A' ); printf("%u", 10 );

u

无符号十进制整数格式 printf("%u", 'A' ); printf("%x", 10 );

x或X

无符号十六进制整数格式

printf("%x", 'A' );

printf("%X",10);

A

printf("%o", 10 );

12
101 换行 A

o
c f e或E

无符号八进制整数格式
printf("%o", 'A' ); printf("%c", 10 ); 字符格式 printf("%c", 'A' );

小数格式

printf("%f", 1.2345);
printf("%e", 1.2345);

1.234500
1.23450e+00 1.23450E+00 1.2345 1e-06 1E-06 %

指数格式 printf("%E", 1.2345); printf("%g", 1.2345);

g或G

小数形式或指数形式,使输出 宽度最小,不输出无意义的0

printf("%g", 0.000001); printf("%G", 0.000001);

% s

输出%

printf("%%");

输出字符串

printf("%s", "abcde");

abcde

? 2.长度修饰符
– 长度修饰符“l”加在%号和格式字符之间。
? 输出长整型数据的时候,一定要加长度修饰符, 否则,得不到正确的显示结果。

– 例如:
? long x=7654321; ? printf("x=%ld\n", x); ? 输出结果为:
– x=7654321。

? 3.宽度修饰和精度修饰

– 可以在%号和格式字符之间加入形如“ m.n”(m、 n均为整数)的修饰。 – 其中,m为宽度修饰,n为精度修饰。
? 宽度修饰用来指定数据的输出宽度 ? 精度修饰对不同的格式字符,

–n作用不同:
? 对于格式字符f,用来指定输出小数位的位数; ? 对于格式字符e,用来指定输出有效数字的位数; ? 对于格式字符d,用来指定必须输出的数字的个数。 相关的例子如表3-2所示。

表3-2 宽度修饰和精度修饰示例
输出语句
printf("%5d", 42); printf("%5.3d", 42); printf("%.3d", 42); printf("%7.2f", 1.23456); printf("%.2f", 1.23456);

输出结果(□表示空格)
□□□42 □□042 042 □□□1.23 1.23

printf("%10.2e", 1.23456);
printf("%.2e", 1.23456);

□□□1.2e+00
1.2e+00

? 4.左对齐修饰 在指定了宽度修饰时,
– 如果指定宽度小于数据需要的实际宽度,则数据 左边补空格,补够指定的宽度,这种对齐方式称 为“右对齐”。 – 当然,也可以在数据的右边补空格来补够指定的 宽度,这种对齐方式称为“左对齐”。
? 指定左对齐的时候,使用左对齐修饰符“-”,

– 例如语句: ? printf("%-7.2f\n", 1.23456);
? 输出结果为
1.23□□□(右边补三个空格)

3.3.3 使用说明
? (1) printf()函数可以输出常量、变量和表达式的 值。
– 但格式控制字符串中的格式指示符必须按从左到右的顺 序,与输出项表中的每个数据一一对应,否则出错。

? (2) 格式字符 x、e、g 可以用小写字母,也可以用 大写字母。使用大写字母时,输出数据中包含的 字母也大写。
– 除了x、e、g格式字符外,其他格式字符必须用小写字 母 – 例如,“%f”不能写成“%F”。

? (3) 格式字符紧跟在“%”后面就作为格式字符,否 则将作为普通字符使用(原样输出)

3.4 格式化输入函数scanf()
? scanf()函数的功能是从计算机默认的输入 设备(一般指键盘)向计算机主机输入数据。 3.4.1 scanf()函数的一般格式 ? 调用scanf( )函数的一般格式为 – scanf("格式字符串", 输入项地址表);
– 例如:
? scanf("%d %f", &i, &f);

? (1) 格式字符串:
– 格式字符串可以包含三种类型的字符: ? 格式指示符
– 格式指示符用来指定数据的输入格式;

? 空白字符(空格、跳格键、回车键) 和
– 空白字符作为相邻两个输入数据的缺省分隔符;

? 非空白字符(又称普通字符)。
– 非空白字符在输入有效数据时,必须原样一起输 入。

? (2) 输入项地址表:
– 由若干个输入项地址组成,相邻两个输入项 地址之间用逗号分开。 – 输入项地址表中的地址,可以是变量的地址, 也可以是字符数组名或指针变量
– 变量地址的表示方法为“&变量名”
? 其中,“&”是地址运算符。

3.4.2 格式指示符 ? 格式指示符的一般形式为 ? %【修饰符】格式字符

scanf函数中使用的格式字符如表3-4 所示。

表3-4 常用格式字符
格式字符 说 明

d o x u c

输入十进制整数
输入八进制整数 输入十六进制整数 输入无符号十进制整数 输入一个字符

f 和e
s

输入小数形式或指数形式的实型数据
输入字符串

? 1.宽度修饰 ? 宽度修饰用来指定输入数据所占列数 ? 例如:
– scanf("%3c%3c",&ch1,&ch2); – 假设输入“abcdefg”

– 则系统将
? 读取的“abc”中的“a”赋给变量ch1; ? 读取的“def”中的“d”赋给变量ch2。

? 2.抑制修饰符 ? 抑制修饰符“*”表示对应的数据读入后, 不赋给相应的变量,该变量由下一个格式 指示符输入。 ? 例如:
– scanf("%2d%*2d%3d",&num1,&num2); – 假设输入“123456789”,
– 则系统将
? 读取“12”并赋值给num1; ? 读取“34”,但舍弃掉(“*”的作用); ? 读取“567”并赋值给num2。

? 3.长度修饰符

? 在输入长整型数据和双精度实型数据时, 必须使用长度修饰符“l”,否则,不能得 到正确的输入值。
? 例如:
– long x; double y;
– scanf("%ld %lf", &x, &y);

? 3.4.3 使用说明 ? 调用scanf()函数输入数据时,要注意以下 几点:
– (1) 如果相邻两个格式指示符之间,不指定数 据分隔符(如逗号、冒号等),则相应的两个输 入数据之间至少用一个空格分开,或者用Tab 键分开,或者输入一个数据后,按回车,然后 再输入下一个数据。例如:
? scanf("%d%d",&num1,&num2); 10□20↙ ? 假设给num1输入10,给num2输入20,则正确的输 入操作为 或者: 10↙ 20↙

– (2) 格式字符串中出现的普通字符(包括转义字 符形式的字符),务必原样输入。例如:
? scanf("num1=%d,num2=%d",&num1,&num2); ? 假设给num1输入10,给num2输入20,正确的输 入操作为
– num1=10,num2=20↙

– 另外,scanf()函数中,对于格式字符串内的 转义字符(如:\n),系统并不把它当转义字符 来解释,从而产生一个控制操作,而是将其 视为普通字符,所以也要原样输入。例如:
? scanf("num1=%d,num2=%d\n",&num1,&num2);

– 为改善人机交互性,同时简化输入操作,在 设计输入操作时,一般先用printf()函数输出 一个提示信息,再用scanf()函数进行数据输 入。例如:
? printf("num1=");
– scanf("%d",&num1);

? printf("num2="); ? scanf("%d",&num2);

– (3) 输入数据时,遇到以下情况时系统认为 该数据输入结束。
? 遇到空格,或者回车键,或者Tab键。 ? 遇到输入域宽度结束。例如"%3d",只取三列。 ? 遇到非法输入。
– 例如,在输入数值数据时,遇到字母等非数值符号(数 值符号仅由数字字符0~9、小数点和正负号构成)。

– (4) 使用格式说明符"%c"输入单个字符时, 空格和回车等均作为有效字符被输入。例如:
? scanf("%c%c%c",&ch1,&ch2,&ch3); ? printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3 ); ? 假设输入:A□B↙, ? 则系统
– 将字母“A”赋值给ch1, – 空格赋值给ch2, – “B”赋值给ch3。

3.5 单个字符的输入/输出函数
? 除了使用printf()函数和scanf()函数可以 输出/输入字符数据外,C语言还提供了 putchar()和getchar()函数,专门用来 输出/输入单个字符。

? 每调用putchar()函数一次,就向显示器 输出一个字符,它的调用形式如下:

–putchar(ch);
– 其中,ch是字符变量或是字符常量 – 例如:
? putchar('Y'); ? 将在显示器上输出字符Y。

? 每调用getchar()函数一次,就从键盘接 收一个字符,它的调用形式如下:

–ch=getchar( );
– getchar() 函 数 是 一 个 无 参 函 数 , 但 调 用 getchar()函数时,后面的括号不能省略。 – getchar()函数从键盘接收一个字符作为它的 返回值。
? 在输入时,空格、回车等都将作为字符读入, 而且,只有在用户输入回车键时,读入

? 【例3.1】以下程序先从键盘接收一 个字符,然后显示在显示器上。 ? /*程序功能:单个字符的输入与输出 */
– #include <stdio.h> – main( ) –{ – char ch; – ch=getchar( ); – putchar(ch); – putchar('\n'); –}

? 程序的运行情况:
– A↙ –A

? 需要注意的是,程序中如果调用了 putchar()函数或getchar()函数,则在 程 序 的 开 头 必 须 加 上 “ #include <stdio.h>”,否则,程序编译时会报 错。

3.6 顺序程序设计举例
? 在顺序结构程序中,各语句是按照位置的 先后次序顺序执行的,且每个语句都会被 执行到。
? 【例3.2】编写程序,输入一个圆的半径, 计算这个圆的面积。

? /*程序功能:计算圆的面积 */

? main( )
? {
– float pi=3.14159, r, s;

– printf("Input radius:");
– scanf("%f", &r); – s=pi*r*r;

– printf("area is:%7.2f\n", s);

? }

? 程序的运行情况:
– Input radius:5.6↙

? 【例3.3】 编写程序,输入一个大写字母, 把它转换成相应的小写字母,然后输出。
– /*程序功能:大写字母转换成相应的小写字 母*/ – #include "stdio.h" – main( ) 程序的运行情况: –{
– – – – – char ch; printf("Input a capital:"); ch=getchar( ); ch+=32; printf("The lowercase is %c\n", ch);

Input a capital:A↙ The lowercase is a

–}

? 【例3.4】编写程序,输入一个double类型的数,保
留这个数的小数点后两位,对小数点后第三位作四舍 五入处理,输出处理后的结果。
? /*程序功能:实型数据四舍五入处理*/

– #include "stdio.h" – main( ) –{
double x;
printf("Enter x:"); scanf("%lf", &x); printf("Before transaction x=%f\n", x); x*=100; x+=0.5; x=(int)x;

x/=100;

? 程序运行情况: ? Enter x:5.6789↙ ? Before transaction x=5.678900 ? After transaction x=5.680000


更多相关文档:

九年级信息技术顺序结构教学设计

九年级信息技术顺序结构教学设计_其它课程_初中教育_教育专区。第五课 顺序结构课程...【师】 (板书,然后PPT介绍将数学表达式改成算法流程图中表达式需要 修改哪几个...

九年级信息技术顺序结构(2)教学设计

九年级信息技术顺序结构(2)教学设计_其它课程_初中教育_教育专区。第五课 顺序结构(2)课程类型:新授课 【教材分析】本课是学生利用代码实现算法的第一课,通过完成...

顺序结构程序设计

顺序结构程序设计_计算机软件及应用_IT/计算机_专业资料。顺序结构程序设计 1.1C 语句的种类 (1)表达式语句 表达式语句:在表达式后面加上; 出现的最多 表达式与表...

顺序结构程序设计

实验报告_实验 3 顺序结构程序设计(学号_姓名) 一、实验目的: 1、熟悉赋值运算符的使用,能根据需要构建相应的赋值表达式,掌握两变量交 换数据的方法; 2、继续...

顺序结构程序设计

学习完成简单的顺序结构程序设计。 四、实验环境实验...《C程序设计解题与上机指导》教材的P238~240实验2...重力加速度 =9.8m/s2,时间t=0.5s , 编程求位移...

顺序结构程序设计作业

搜试试 3 帮助 全部 DOC PPT TXT PDF XLS ...顺序结构程序设计作业_计算机软件及应用_IT/计算机_...(科学方面:技术能量) 编写程序,计算将水从初始温度...

九年级第五课《顺序结构》教学设计(初中信息技术精品)

本课选用浙江教育出版社 2013 版《信息技术》九年级第五课《顺序结构》; 2.作为程序三种基本结构之一,顺序结构是最简单的算法结构,是其它程序结构的基础,因此本 ...

顺序结构程序设计

顺序结构程序设计顺序结构程序设计隐藏>> 顺序结构程序设计 顺序结构程序设计一、背景信息科目 信息技术 所选教材 浙江教育出版社 适用年级 九年级 所选课题 顺序结构...

2015顺序结构程序设计实验报告

掌握常量、变量的定义及使用 4.掌握不同数据类型间的赋值规律 实验要求: 1.输出界面格式: 实验名称:顺序结构程序设计 按要求完成的输入/输出信息 完成日期 姓名:...

顺序结构程序设计

搜 试试 帮助 全部 DOC PPT TXT PDF XLS ...顺序结构程序设计 3.1 基本语句 (1)空语句:即只有...以 分隔) 格式控制串: 格式控制串:包含两种信息 1...
更多相关标签:
辽师大附中 | 辽师大 | 辽师大版快乐英语mp3 | 辽师大版品德与社会 | 辽师大研究生院 | 辽师大就业网 | 辽师大图书馆 | 辽师大版快乐英语 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com