第3章结构化程序设计的三种基本结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s=s+1; x=x+s; d=d-1; (3)赋值号左边必须是变量,右边可以是常量、变量或表达式。
y=4; x=y; p=p+4; (4)一个运算表达式中可以出现多个赋值号,运算顺序是从右到左。 x=y=k=6; 执行时,先执行k=6,然后把它的结果赋值给y,再把y的赋值表达式的 结果6赋x。
(5)在程序中需要对一些变量预先设置初值,下面 几个语句可以给变量赋初值,例如:
3.1.2标准输入/输出语句及使用
1.标准格式输入函数scanf ( ) (1)一般格式:
scanf ("<格式控制串>",参数表); 其中,函数的参数分为格式控制串和参数表两部分,中间 用逗号分隔 ①格式控制串部分是加上双引号的一个字符串,可以用一 般字符作为匹配符,也可以用格式说明符。 ②格式控制串由下列形式组成: % <修饰符><格式说明符> 其中,“%”是格式标识符,格式说明符用来表示输入的格 式,scanf函数常用的格式说明符如表3.2所示。
int a,b,c,d; a=6;b=2;c=3;d=11; a-=b; b+=c; d+=a; printf (" a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d); a*=b; d/=c; c%=b; b+=a; printf (" a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d); }
A
假 条件 真
流程图
A 直到条件为真
N-S 结构图
3.1顺序结构程序设计
3.1.1赋值语句 赋值是把一个运算表达式的值赋给变量。
1.格式 简单赋值是把一个运算表达式的值赋给一个变量,一
般的形式为: 变量=<运算表达式>
2.功能 赋值语句的功能是将运算表达式的值赋给左边的变量。
3.说明: (1)以上形式也被称为赋值表达式,“=” 是运算符,称为赋值号; (2)赋值号与数学中的等于号“=”完全不一样,并非相等的意思。 故可以有如下的赋值语句:
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
第3章 结构化程序设计的三种 基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
scanf ("%3d%3d",&m,&n ); 输入 234123256↙ 系统自动将234赋给变量m,将123赋给变量n。
⑤“%”后面的“*”附加说明符,用来表示跳过它相应 的数据。例如:
scanf ("%3d %*3d %3d",&m,&n ); 如果输入如下的数据:
234 117 96 ↙ 系统将234赋给变量m,将96赋给变量n,中间的数据 117被跳过不赋给任何变量。在使用一批现成数据时, 有时不需要其中的某些数据,可以使用该方法将其 “跳过”。 ⑥从键盘输入的数据先放在缓冲区内,当用户按了回
③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
真
条件
假
真 条件 假
A
B
A
B
流程图
N-S结构图
(3)循环结构,该结构有两种形式。 ①当型循环,当条件成立时,反复执行A操作,直 到条件为“假”时才停止循环。
条件 假 真
A
当条件为真 A
流程图
N-S 结构图
②直到型循环,先执行A操作,再判断条件是否为 “真”,若条件为“假”,再执行A,如此反复,直 到条件为“真”为止。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用的修饰符
修饰字符
功能说明
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
字母l 表示输入长整型整数,可加在格式说明符d、o、x前面
字母h 表示输入短整型整数,可加在格式说明符d、o、x前面
域宽(正整 数)
表示指定输入数据所占宽度(列数)
*
表示本输入项在读入后不赋给相应的变量Fra Baidu bibliotek
③参数表部分是由一个或多个参数组成的,每个参数要求 是一个地址值,多个参数之间用逗号分隔,参数的个数和 类型要与格式控制串中的格式说明符的个数和类型一致。 例如:
scanf (“%d%c%f”,&a,&b,&c ) 三个格式说明 符,分别对应三个参数a,b,c 。
(2)功能 该函数的功能是用来从标准输入设备(键盘)上接收输入 的数值,按照所指定的格式给函数的参数赋值。
(3)必要的说明 ①scanf函数中的“格式控制串”后面必须是变量的地址, 而 不应是变量名。
车键后系统将缓冲区中的数据取出来按scanf ( )的格
式进行处理。若缓冲区中还剩有数据,将会对后边的 scanf ( )函数有影响。
y=4; x=y; p=p+4; (4)一个运算表达式中可以出现多个赋值号,运算顺序是从右到左。 x=y=k=6; 执行时,先执行k=6,然后把它的结果赋值给y,再把y的赋值表达式的 结果6赋x。
(5)在程序中需要对一些变量预先设置初值,下面 几个语句可以给变量赋初值,例如:
3.1.2标准输入/输出语句及使用
1.标准格式输入函数scanf ( ) (1)一般格式:
scanf ("<格式控制串>",参数表); 其中,函数的参数分为格式控制串和参数表两部分,中间 用逗号分隔 ①格式控制串部分是加上双引号的一个字符串,可以用一 般字符作为匹配符,也可以用格式说明符。 ②格式控制串由下列形式组成: % <修饰符><格式说明符> 其中,“%”是格式标识符,格式说明符用来表示输入的格 式,scanf函数常用的格式说明符如表3.2所示。
int a,b,c,d; a=6;b=2;c=3;d=11; a-=b; b+=c; d+=a; printf (" a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d); a*=b; d/=c; c%=b; b+=a; printf (" a=%d\tb=%d\tc=%d\td=%d\n",a,b,c,d); }
A
假 条件 真
流程图
A 直到条件为真
N-S 结构图
3.1顺序结构程序设计
3.1.1赋值语句 赋值是把一个运算表达式的值赋给变量。
1.格式 简单赋值是把一个运算表达式的值赋给一个变量,一
般的形式为: 变量=<运算表达式>
2.功能 赋值语句的功能是将运算表达式的值赋给左边的变量。
3.说明: (1)以上形式也被称为赋值表达式,“=” 是运算符,称为赋值号; (2)赋值号与数学中的等于号“=”完全不一样,并非相等的意思。 故可以有如下的赋值语句:
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
第3章 结构化程序设计的三种 基本结构
结构化程序设计共有以下3种基本结构: 顺序结构 分支结构 (选择结构 )
循环结构,
(1)顺序结构,如图3.1(a)所示,该结构先执行A,再 执行B,两者是顺序执行的关系
A B 流程图
A B
N-S结构图
(2)分支结构,也叫选择结构,如图3.1(b)所示, 该结构先判断条件是否成立,当条件成立时执 行A,否则执行B。该结构只能执行A或B其中之 一
scanf ("%3d%3d",&m,&n ); 输入 234123256↙ 系统自动将234赋给变量m,将123赋给变量n。
⑤“%”后面的“*”附加说明符,用来表示跳过它相应 的数据。例如:
scanf ("%3d %*3d %3d",&m,&n ); 如果输入如下的数据:
234 117 96 ↙ 系统将234赋给变量m,将96赋给变量n,中间的数据 117被跳过不赋给任何变量。在使用一批现成数据时, 有时不需要其中的某些数据,可以使用该方法将其 “跳过”。 ⑥从键盘输入的数据先放在缓冲区内,当用户按了回
③从键盘输入的数据类型和个数必须与参数表中的数 据类型和个数相匹配。例如:
scanf (“%d,%d”,&m,&n ); 输入数据时的形式:
234,10.5↙ (错误,因为数据类型不匹配) 234,105,123↙ (错误,因为数据个数不匹配) 234,123↙ (正确) ④可以指定输入数据所占的列数,系统自动按指定列 数截取数据。例如:
真
条件
假
真 条件 假
A
B
A
B
流程图
N-S结构图
(3)循环结构,该结构有两种形式。 ①当型循环,当条件成立时,反复执行A操作,直 到条件为“假”时才停止循环。
条件 假 真
A
当条件为真 A
流程图
N-S 结构图
②直到型循环,先执行A操作,再判断条件是否为 “真”,若条件为“假”,再执行A,如此反复,直 到条件为“真”为止。
表3.2 scanf函数常用的格式说明符
格式说明符 d o x c s f
功能说明 表示输入带符号的十进制整数 表示输入无符号八进制整数 表示输入十六进制无符号整数 表示输入单个字符 表示输入多个字符,即一个字符串 表示输入实数,可以用小数形式输入
表3.2 scanf函数常用的修饰符
修饰字符
功能说明
例如: m和n是整形变量,则: scanf (“%d%d”,m,n );是错误的, 应将“m,n”改为“&m,&n” 。
②如果在“格式控制串”中除了格式标识符、修饰符和格式 说明符以外还有其他字符,则应在输入数据时输入与这些字 符相同的字符。例如: scanf ("%d,%d",&m,&n );
输入时两个整数之间应加入“,”: 234,123↙ 因为,在scanf函数中的“格式控制串”中使用了逗号分 隔,所以必须在234后面加一个逗号。
字母l 表示输入长整型整数,可加在格式说明符d、o、x前面
字母h 表示输入短整型整数,可加在格式说明符d、o、x前面
域宽(正整 数)
表示指定输入数据所占宽度(列数)
*
表示本输入项在读入后不赋给相应的变量Fra Baidu bibliotek
③参数表部分是由一个或多个参数组成的,每个参数要求 是一个地址值,多个参数之间用逗号分隔,参数的个数和 类型要与格式控制串中的格式说明符的个数和类型一致。 例如:
scanf (“%d%c%f”,&a,&b,&c ) 三个格式说明 符,分别对应三个参数a,b,c 。
(2)功能 该函数的功能是用来从标准输入设备(键盘)上接收输入 的数值,按照所指定的格式给函数的参数赋值。
(3)必要的说明 ①scanf函数中的“格式控制串”后面必须是变量的地址, 而 不应是变量名。
车键后系统将缓冲区中的数据取出来按scanf ( )的格
式进行处理。若缓冲区中还剩有数据,将会对后边的 scanf ( )函数有影响。