顺序结构程序设计文档格式.docx
《顺序结构程序设计文档格式.docx》由会员分享,可在线阅读,更多相关《顺序结构程序设计文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
![顺序结构程序设计文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/17/a76a2b13-ec7b-4bdc-8e04-416b717b0080/a76a2b13-ec7b-4bdc-8e04-416b717b00801.gif)
用流程图表示算法。
流程图表示算法,直观形象,易于理解。
流程图中常用符号的含义如下:
例如将求长方形的面积的算法用流程图表示。
二、程序基本结构
1.
顺序结构:
2.
选择结构:
3.
循环结构
3.1.4
结构化程序设计方法
●
自顶向下;
逐步细化;
模块化设计;
结构化编码。
C程序的结构:
三、顺序结构程序设计
1.顺序执行语句概述
C程序的执行部分是由语句组成的。
程序的功能也是由执行语句实现的。
C语句可分为以下五类:
1.表达式语句:
表达式语句由表达式加上分号“;
”组成。
x=y+3;
函数调用语句:
由函数名、实际参数加上分号“;
printf(“%d”,a);
3.控制语句:
控制语句用于控制程序的流程,以实现程序的各种结构方式。
它们由特定的语句定义符组成。
C语言有九种控制语句。
可分成以下三类:
1)
条件判断语句:
if语句、switch语句;
2)
循环执行语句:
dowhile语句、while语句、for语句;
3)
转向语句:
break语句、goto语句、continue语句、return语句。
4.复合语句:
把多个语句用括号{}括起来组成的一个语句称复合语句。
例如:
{x=y+z;
a=b+c;
printf(“%d%d”,x,a);
}
复合语句内的各条语句都必须以分号”;
”结尾,在括号“}”外不能加分号。
5.
空语句:
只有分号“;
”组成的语句。
空语句是什么也不执行的语句。
2.数据输入输出的概念及在C语言中的实现
所谓输入输出是以计算机为主体而言的。
本章介绍的是向标准输出设备显示器输出数据的语句。
在C语言中,所有的数据输入/输出都是由库函数完成的。
因此都是函数语句。
4)
在使用C语言库函数时,要用预编译命令
#include
将有关“头文件”包括到源文件中。
使用标准输入输出库函数时要用到“stdio.h”文件,因此源文件开头应有以下预编译命令:
#include<
stdio.h>
或#include”stdio.h”
stdio是standardinput&
outupt的意思。
5)
考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加
四、字符数据的输入输出
putchar函数(字符输出函数)
putchar函数是字符输出函数,其功能是在显示器上输出单个字符。
其一般形式为:
putchar(字符变量)
putchar('
A'
);
(输出大写字母A)
putchar(‘\101’);
(也是输出字符A)
对控制字符则执行控制功能,不在屏幕上显示。
使用本函数前必须要用文件包含命令:
stdio.h>
或#include“stdio.h”
【例4.1】输出单个字符。
main(){
chara='
B'
b='
o'
c='
k'
;
putchar(a);
\t'
putchar(b);
\n'
putchar(c);
}
2
.getchar函数(字符输入函数)
getchar函数的功能是从键盘上输入一个字符。
getchar();
通常把输入的字符赋予一个字符变量,构成赋值语句,如:
charc;
c=getchar();
【例4.2】输入单个字符。
voidmain(){
printf("
inputacharacter\n"
使用getchar函数还应注意几个问题:
1)getchar函数只能接受单个字符,输入数字也按字符处理。
输入多于一个字符时,只接收第一个字符。
使用本函数前必须包含文件”stdio.h”。
3)程序最后两行可用下面两行的任意一行代替:
putchar(getchar());
printf(“%c”,getchar());
五、格式输入与输出
1.printf函数(格式输出函数)
printf函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。
(1)printf函数调用的一般形式
printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
其中格式控制字符串用于指定输出格式。
格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。
如:
”%d”表示按十进制整型输出;
”%ld”表示按十进制长整型输出;
”%c”表示按字符型输出等。
非格式字符串在输出时原样照印,在显示中起提示作用。
输出表列中给出了各个输出项,格式字符串和各输出项在数量和类型上应一一对应。
【例4.3】
main()
{
inta=88,b=89;
%d%d\n"
a,b);
%d,%d\n"
%c,%c\n"
a=%d,b=%d"
(2)格式字符串
格式字符串的一般形式为:
%[输出最小宽度][.精度][长度]类型
其中方括号[]中的项为可选项。
各项的意义介绍如下:
类型:
类型字符用以表示输出数据的类型,其格式符和意义如下表所示:
格式字符
意义
d
以十进制形式输出带符号整数(正数不输出符号)
o
以八进制形式输出无符号整数(不输出前缀0)
x,X
以十六进制形式输出无符号整数(不输出前缀Ox)
u
以十进制形式输出无符号整数
f
以小数形式输出单、双精度实数
e,E
以指数形式输出单、双精度实数
g,G
以%f或%e中较短的输出宽度输出单、双精度实数
c
输出单个字符
s
输出字符串
输出最小宽度:
用十进制整数来表示输出的最少位数。
若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
精度:
精度格式符以“.”开头,后跟十进制整数。
本项的意义是:
如果输出数字,则表示小数的位数;
如果输出的是字符,则表示输出字符的个数;
若实际位数大于所定义的精度数,则截去超过的部分。
4)长度:
长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。
【例4.4】
inta=15;
floatb=123.1234567;
doublec=12345678.1234567;
chard='
p'
a=%d,%5d,%o,%x\n"
a,a,a,a);
b=%f,%lf,%5.4lf,%e\n"
b,b,b,b);
c=%lf,%f,%8.4lf\n"
c,c,c);
d=%c,%8c\n"
d,d);
}
使用printf函数时还要注意一个问题,那就是输出表列中的求值顺序。
不同的编译系统不一定相同,可以从左到右,也可从右到左。
TurboC是按从右到左进行的,VC++6.0中是按从左到右进行的。
.scanf函数(格式输入函数)
scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。
(1)scanf函数的一般形式
scanf函数的一般形式为:
scanf(“格式控制字符串”,地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。
地址表列中给出各变量的地址。
地址是由地址运算符“&
”后跟变量名组成的。
例如:
&
a,&
b
分别表示变量a和变量b的地址。
%[*][输入数据宽度][长度]类型
各项的意义如下:
1)类型:
表示输入数据的类型,其格式符和意义如下表所示。
格式
字符意义
输入十进制整数
输入八进制整数
x
输入十六进制整数
输入无符号十进制整数
f或e
输入实型数(用小数形式或指数形式)
输入单个字符
输入字符串
2)”*”符:
用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:
scanf("
%d%*d%d"
&
a,&
b);
当输入为:
123时,把1赋予a,2被跳过,3赋予b。
3)宽度:
用十进制整数指定输入的宽度(即字符数)。
%4d%4d"
输入:
12345678
将把1234赋予a,而把5678赋予b。
4)长度:
长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。
h表示输入短整型数据。
使用scanf函数还必须注意以下几点:
1)scanf函数中没有精度控制,如:
scanf("
%5.2f"
a);
是非法的。
scanf中要求给出变量地址,如给出变量名则会出错。
如scanf("
%d"
a);
是非法的,应改为scnaf("
才是合法的。
在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
%c%c%c"
b,&
c);
输入为:
def
则把'
d'
赋予a,'
'
赋予b,'
e'
赋予c。
只有当输入为:
def
时,才能把'
赋于a,'
赋予b,'
f'
如果在格式控制中加入空格作为间隔,
如:
scanf("
%c%c%c"
则输入时各数据之间可加空格。
如果格式控制串中有非格式字符则输入时也要输入该非格式字符。
例如:
%d,%d,%d"
其中用非格式符“,”作间隔符,故输入时应为:
5,6,7
6)
如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。
六、顺序结构程序设计举例
【例4.5】输入三角形的三边长,求三角形面积。
已知三角形的三边长a,b,c,则该三角形的面积公式为:
,
其中s=(a+b+c)/2
源程序如下:
math.h>
floata,b,c,s,area;
scanf(“%f,%f,%f”,&
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);
讲解
[板书]
[幻灯片]
[重点]
算法在程序设计中的地位及表示
[难点]
[课堂设计]请同学回答,通过例题加强对概念的理解。
[重点]
[课堂设计]利用生活中的例子,如跑步、走路等解释不同结构的表示方法。
【结语】
C语言的最大特点之一是结构化,结构化使程序简洁、明了。
结构化程序有三种基本结构:
顺序结构、选择结构和循环结构。
在进行程序设计时,应先给出解决问题的算法,画出流程图,再把流程图转化成程序。
【思考与练习】
小结
[幻灯片]展示本课程各章节名称。
让学生了解本课程内容框架,对程序设计有基本认识。
[作业]布置课外作业,下次上课交。
八、课后小结
本节课是学生的基础课,通过教学实践,发现学生对算法思想的认识还有等提高,同时要让学生认识到画程序流程图的重要性。