第3章结构化程序设计 ⊕本章导读 本章从实例分析着手,使读者了解并掌握C语言三种基 据言程设计 本流程控制结枃:顺序、选择、循环结构,加深对C 语言程序开发设计过程的感性认识,强化培养编程思 路,为进一步进行C语言程序设计打下基础。 4本章主要知识点 (1)顺序结构及程序设计。 60 (2)选择结构及程序设计。 (3)循环结构及程序设计。 环 (4)结构化程序设计方法、编程思路与综合实训 境 回本书日册
本章导读 本章从实例分析着手,使读者了解并掌握C语言三种基 本流程控制结构:顺序、选择、循环结构 ,加深对C 语言程序开发设计过程的感性认识,强化培养编程思 路,为进一步进行C语言程序设计打下基础。 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本书目录 第3章 结构化程序设计 本章主要知识点 (1) 顺序结构及程序设计。 (2)选择结构及程序设计。 (3)循环结构及程序设计。 (4)结构化程序设计方法、编程思路与综合实训
第3章结构化程序设计 3.1顺序结构程序设计 据言程设计 3.2选择结构程序设计 3.3循环结构程序设计 3.4结构化程序设计方法与综合奥训 60 环 境 返回本章导读
第3章 结构化程序设计 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章导读 3.2 选择结构程序设计 3.3 循环结构程序设计 3.4 结构化程序设计方法与综合实训 3.1 顺序结构程序设计
3.1顺序结构程序设计 语31.1顺序结构的C程序奥例 序3.1.2顺序结构语旬 3.1.3程序奥训 60
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章目录 3.1.2 顺序结构语句 3.1.3 程序实训 3.1.1 顺序结构的C程序实例 3.1 顺序结构程序设计
3.1.1C程序奥例 C程序实例 据言程设计 【例3.1】编程实现:输入一个长方形的二边长,求长方形的面积并输出。 /*程序名为3_1cpp。*/ #include " stdio h " maino i float a, b,s scanf("%f%f", &a, &b) s=a b printf("The area of rectangle is %05. 2f.n"S) 60 环 境 返回本节目录
3.1.1 C程序实例 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本节目录 C程序实例 【例3.1】编程实现:输入一个长方形的二边长,求长方形的面积并输出。 /*程序名为l3_1.cpp。*/ #include "stdio.h" main() { float a,b,s; scanf("%f%f",&a,&b); s=a*b; printf("The area of rectangle is %5.2f .\n",s); }
(例31】编程 程序运行情况如下 输入: 语言程设计 3.04.0 输出: The area of rectangle is 12.00 这个程序属于顺序结构,程序是按照书写的顺序自上而下一步步 执行,程序中的每一条语句都被执行一次,且仅能被执行一次 0 环境 返回本节目录
返回本节目录 程序运行情况如下: 输入: 3.0 4.0 输出: The area of rectangle is 12.00 . 这个程序属于顺序结构,程序是按照书写的顺序自上而下一步步 执行,程序中的每一条语句都被执行一次,且仅能被执行一次。 【例3.1】编程 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 )
3.12顺序结构语句1 c语言的顺序结构语句可以分为四大类 1表达式语句 |表达式的后面加一个分号就构成了一个语句,例如:sum=a+b,。事实上, C语言中有使用价值的表达式语句主要有3种 (1)赋值语句。例如:sum=a+b 序设 (2)自动增1、减1运算符构成的表达式语句。例如:计+; (3)逗号表达式语句。例:x=12y=2 2空语句 语句仅有一个分号“;”,它表示什么也不做。一般和后面章节所讲循环语句 结合使用起到延时作用 3.复合语句 由"{"和"}"把一些变量定义和执行语句组合在一起,称之为复合语句,又称 60 语句块。复合语句的语句形式如下: 语句1;语句2;…;语句n;} 环 境 返回本节目录
3.1.2 顺序结构语句1 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) C语言的顺序结构语句可以分为四大类: 1.表达式语句 表达式的后面加一个分号就构成了一个语句,例如:sum=a+b; 。事实上, C语言中有使用价值的表达式语句主要有3种: (1)赋值语句。 例如: sum=a+b; (2)自动增1、减1运算符构成的表达式语句。例如: i++; (3)逗号表达式语句。例: x=1,y=2; 2.空语句 语句仅有一个分号“ ;” ,它表示什么也不做。一般和后面章节所讲循环语句 结合使用起到延时作用。 3. 复合语句 由"{"和"}"把一些变量定义和执行语句组合在一起,称之为复合语句,又称 语句块。复合语句的语句形式如下: {语句1;语句2;…;语句n;} 返回本节目录
3.12顺序结构语句2 例如:{inta=0,b=1,sum; sum=a+b 语言程设计 printf("%d", sum) 【注意】与C语言中的其他语句不同,复合语句不以分号作为结束符, 若复合语句的"}"后面出现分号,那不是该复合语句的组成成分,而 是单独的一个空语句。在复合语句起始部分可以有变量定义,如: 但在江Sum”",也可以没有。复合语句的{}"内可能会有多个语 句,但在语法上把它整体上视为一条语句看待。 4函数调用语句 由一个函数调用加上一个分号组成一个语句,如 scanf("%d%d", &a, &b) printf(a=%od, b=%od\n", a, b) 0 环境 返回本节目录
返回本节目录 例如:{int a=0,b=1,sum; sum=a+b; printf("%d",sum); } 【注意】与C语言中的其他语句不同,复合语句不以分号作为结束符, 若复合语句的"}"后面出现分号,那不是该复合语句的组成成分,而 是单独的一个空语句。在复合语句起始部分可以有变量定义,如: "int a=0,b=1,sum;",也可以没有。复合语句的"{}"内可能会有多个语 句,但在语法上把它整体上视为一条语句看待。 4.函数调用语句 由一个函数调用加上一个分号组成一个语句,如: scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); 3.1.2 顺序结构语句2 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 )
3.13程序实训【例32】 C程序实例 【例32】由键盘输入两个整数给变量a和b,然后输出a和b,在交换a和b中的值后, e再输出a和b,验证两个变量中的数值是否正确地进行了交换 语程序名为32cpp。*/ #include stdio h" 程 maino 序 i int a, b, t; printf( Enter a and b: n scanf(%d%d", &a, &b); printf("a=%od, b=%odn", a, b); t=a:a=b: b=t printf("a=%d, b=%odn", a, b) 60 程序运行情况如下: Enter a and b 123456 环 a=123.b=456 境 a=456.b=123 返回本节目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) C程序实例 【例3.2】由键盘输入两个整数给变量a和b,然后输出a和b,在交换a和b中的值后, 再输出a和b,验证两个变量中的数值是否正确地进行了交换。 /*程序名为l3_2.cpp。*/ #include "stdio.h" main() { int a,b,t; printf("Enter a and b:\n"); scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); t=a;a=b;b=t; printf("a=%d,b=%d\n",a,b); } 程序运行情况如下: Enter a and b: 123 456 a=123,b=456 a=456,b=123 返回本节目录 3.1.3 程序实训【例3.2】
3.13程序实训【例33】 注意:在程序中交换两个变量a和b的值,不可以简单地用:a=b,b=a;两 条语句来实现。假设a和b的值分别为23和78,赋值语句a=b将使a的值变 为78,接下来的b=a;使b的值变为78,这样,a和b的值最终都变为78 所 语以在本例中引入了中间变量t,用来临时存放a的值,这样才能完成变量a 和b的正确交换。 【例3.3】输入一个 double类型的数,使该数保留小数点后两位,对第三 序位小数进行四舍五入处理,然后输出此数,以便验证处理是否正确 设计 /*程序名为3_3.cpp。*/ #include "stdio. h maino i double x; t6 printf("Input x: n"; scanf(" %lf", &x) 环 境 返回本节目录
返回本节目录 注意:在程序中交换两个变量a 和b的值,不可以简单地用: a=b;b=a;两 条语句来实现。假设a 和b的值分别为23和78,赋值语句a=b;将使a的值变 为78,接下来的b=a;使b的值变为78,这样,a和b的值最终都变为78。所 以在本例中引入了中间变量t,用来临时存放a的值,这样才能完成变量a 和b的正确交换。 【例3. 3】输入一个double类型的数,使该数保留小数点后两位,对第三 位小数进行四舍五入处理,然后输出此数,以便验证处理是否正确。 /*程序名为l3_3.cpp。*/ #include "stdio.h" main() { double x; printf("Input x:\n"); scanf("%lf",&x); 3.1.3 程序实训【例3.3】 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 )
3.13程序实训【例3.3】 pint"(1)x=%fn",x)2/将x输出* X=x*100 X=x+0.5 据言程设计 x=(int )x X=x/100 /*将x扩大100倍,加上0.5之后取整,再缩小 100倍*/ printf("(2)x-%fn"x),倖*将四舍五入后的x输出* 程序运行情况如下: Input x: 3. 14159 60 则输出的结果为: (1)x=3.141590 环 (2)X=3.140000 境 返回本节目录
3.1.3 程序实训【例3. 3】 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本节目录 printf("(1) x=%f\n",x); /*将x输出*/ x=x*100; x=x+0.5; x=(int)x; x=x/100; /*将x扩大100倍,加上0.5之后取整,再缩小 100倍*/ printf("(2) x=%f\n",x); /*将四舍五入后的x输出*/ } 程序运行情况如下: Input x:3.14159 则输出的结果为: (1) x=3.141590 (2) x=3.140000