实用c语言程序设计第3章--三种基本结构程序设计详解
C语言程序的三种基本结构

C语⾔程序的三种基本结构1、程序结构:在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构; 顺序结构:从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句; 选择结构:到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构:循环结构有⼀个循环体,循环体⾥是⼀段代码。
对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次; 注:在逻辑上有⼀种bool类型(也叫boolean类型,布尔类型),只有两个值,即真和假。
C语⾔的判断表达式最终的值就是⼀个bool类型,这个判断表达式的bool值就决定了选择结构如何选择,循环结构如何循环;2、顺序结构:顺序结构很简单,⼀般我们遇到的除了选择结构和循环结构外,都是顺序结构;3、选择结构:C语⾔中常⽤的选择结构主要有以下两种: (1) if else:引⼊关键字:if else else if if (bool值) // 如果bool值为真,则执⾏代码段1,否则执⾏代码段2 { 代码段1 } else { 代码段2 } if (bool值1) // 如果bool值1为真,则执⾏代码段1,否则判断bool值2是否为真 { 代码段1 } else if (bool值2) // 若bool值2为真则执⾏代码段2,否则直接执⾏代码段3 { // 开头的if和结尾的else都只能有⼀个,但是中间的else if可以有好多个 代码段2 } else { 代码段3 }1 #include <stdio.h>23int main(void)4 {5int a, b, max;67 a = 456;8 b = 45;910if (a > b) // 判断表⽰式11 {12 max = a;13 printf("true.\n");14 }15else if (a == b)16 {17 max = a;18 printf("a == b.\n");19 }20else21 {22 max = b;23 printf("false.\n");24 }2526 printf("max = %d.\n", max);2728return0;29 } (2) switch case:引⼊关键字:switch case break default switch (变量) // 执⾏到这⼀句时,变量的值是已知的 { // switch case语句执⾏时,会⽤该变量的值依次与各个case后的常数去对⽐,试图找到第⼀个匹配项,找到匹配的项⽬后, case 常数1: // 就去执⾏该case对应的代码段,如果没找到则继续下⼀个case,直到default 代码段1; // 如果前⾯的case都未匹配,则default匹配。
C语言程序设计实用教程第3章精品PPT课件

#include <math.h> 这里的#include是编译预处理命令,其作用是将某个已经存在的文件 包含到程序中来。包含了头文件”stdio.h”才能调用标准输入输出函数; 包含了”math.h”才能调用数学函数。考虑到printf和scanf函数使用频 繁,系统允许使用这两个函数时可不加#include命令。 ② 库函数调用规则
?
6
第三章 顺序结构程序设计
3.1.1 控制语句
if~else~语句 选择分支语句 switch语句
结构化语句
while语句
控制语句
循环语句 do-while语句 for语句
非结构化语句
continue语句 限定转向语句 break语句
return语句
?
C语句
控制语句
if( ) ~ else ~ switch for ( ) ~ while ( ) ~ do ~ while( ) continue
break
goto
return
if (x>y) z=x;
else z=y;
a=3;
表达式语句 由表达式加一个分号构成一个语句。
复合语句
由{ }将一些语句括起来。
重点与难点:
各种数据类型的输入和输出格式控制。
11.10.2020
C语言程序设计
1
第三章 顺序结构程序设计
第三章 顺序程序设计
3.1 C语句概述 3.1.1 控制语句 3.1.2 表达式语句 3.1.3 复合语句
3.2 数据的输入与输出 3.2.1 字符输入输出函数 3.2.2 格式输出函数 3.2.3 格式输入函数
程序设计的三种基本结构

程序设计的三种基本结构程序设计中的三种基本结构是顺序结构、选择结构和循环结构。
这些结构是用来控制程序执行顺序和逻辑流程的基础。
一、顺序结构:顺序结构是程序中最简单的结构,即按照顺序执行各个语句,一条接一条地执行,没有跳转和分支。
顺序结构利用语句的执行顺序来确定程序的执行流程。
例子如下:```int a, b, c;a=10;b=20;c=a+b;```在上面的例子中,按照顺序结构,首先给变量a赋值为10,然后给变量b赋值为20,最后将a和b的和赋值给变量c。
程序将按照这个顺序执行下去。
二、选择结构:选择结构用来根据一些条件的真假来决定程序的执行流程。
根据条件的结果,可能会选择执行一段代码或者另一段代码。
常见的选择结构有if语句、switch语句等。
例子如下:int x = 10;if (x > 0)//x大于0的情况下执行的代码printf("x is positive");} else//x小于等于0的情况下执行的代码printf("x is not positive");```在上面的例子中,根据if语句中的条件判断表达式x > 0的结果,如果为真,则执行if语句块内的代码;如果为假,则执行else语句块内的代码。
通过选择结构,程序可以根据不同的条件来执行不同的代码块。
三、循环结构:循环结构用来进行重复执行一段代码的操作。
通过判断循环条件的真假来控制循环的执行和退出。
常见的循环结构有for循环、while循环、do-while循环等。
例子如下:```int i;for (i = 0; i < 10; i++)printf("%d\n", i);在上面的例子中,利用for循环结构,通过初始化循环变量i并设置循环条件i < 10以及每次循环完执行的表达式i++来实现了循环打印数字0到9的功能。
循环结构使得程序可以重复执行同一段代码,以达到需要重复执行的任务。
C语言结构化程序设计的三种结构

C语言结构化程序设计的三种结构C语言是一种高级程序设计语言,它支持结构化编程,即将程序划分为不同的模块,每个模块只执行特定的任务,并通过三种结构进行组织。
这三种结构分别是顺序结构、选择结构和循环结构。
下面将详细介绍这三种结构,并给出相关的代码示例。
1.顺序结构:顺序结构是最简单的结构,它按照代码的顺序依次执行每个语句,没有条件或循环的判断。
这种结构可以用来实现各种简单的操作和计算。
下面是一个使用顺序结构的示例代码,它实现了两个数相加并输出结果的功能:```c#include <stdio.h>int maiint a = 10;int b = 20;int sum = a + b;printf("The sum is: %d\n", sum);return 0;```在这个示例中,程序按照顺序执行,首先定义了两个变量a和b,并将它们相加的结果赋给变量sum,然后通过printf函数将sum的值输出到屏幕上。
2.选择结构:选择结构用于根据条件的真假来决定程序的执行路径,即根据条件选择执行哪个代码块。
常用的选择结构有if语句和switch语句。
2.1 if语句:if语句根据给定的条件选择是否执行段代码。
如果条件为真,则执行if后面的代码块,否则跳过该代码块。
下面是一个使用if语句的示例代码,它判断一个整数是否为正数:```c#include <stdio.h>int maiint num;printf("Enter a number: ");scanf("%d", &num);if (num > 0)printf("The number is positive.\n");}return 0;```在这个示例中,程序首先通过scanf函数读取一个整数,然后使用if语句判断该整数是否大于0,如果是,则输出一条消息表示它是正数。
实用c语言程序设计第3章 三种基本结构程序设计详解

100.0,13.76,2.57,80.10,82.40↙ MB=153.75 g/mol
上一内容 下一内容 回主目录
返回
2018/11/20
3.1.2 格式输入输出的一般形式格式
一、格式输出函数printf()
printf() 函数调用的形式: printf(“格式控制字符串”,输出项表) 或 printf(字符串) 在该函数调用时,在其后面加上分号,就构成了格式输出语句。 printf 中的输出项是和前面的格式控制字符串按顺序一一对应的。“项”可 以是常量、变量、表达式、数组和函数调用,其值应和格式说明相容。 1.格式控制字符串 该字符串放在一对双引号中,它可以包含以下三部分内容。 (1)按原样输出的字符: (2)转义字符: (3)与输出项对应的“格式说明符”:要求以%开头,格式说明符在 个数和类型上应该与输出项相对应。
# include <stdio.h> main() { float mA,mB,MB,Kb,t1,t2; /*定义变量*/ printf(″please input:mA,mB,Kb ,t1,t2\n″);/*输出“输入数据”提示信息*/ scanf(″% f,% f,% f,%f,% f″,& mA,&mB,&Kb ,&t1,&t2); /*读入数据*/ MB= (Kb* mB)/ ((t1-t2) *mA); /*计算联苯的分子量*/ printf ("MB= %6.2f ", MB ); /*输出联苯的分子量*/ printf ("g/mol \n" ); /*打出分子量的单位*/ 程序运行情况: please input:mA,mB,Kb ,t1,t2 }
A
c语言3大基本结构

c语言3大基本结构C语言是一种常用的、通用的编程语言,广泛应用于嵌入式系统,操作系统,以及其他需要高性能和底层控制的应用中。
具备良好的程序编写结构对于提高代码的可读性、可维护性以及降低出错概率非常关键。
本文将介绍C语言中的三大基本结构,分别是顺序结构、选择结构和循环结构。
1. 顺序结构顺序结构是C语言中最基本的结构,顺序结构表示程序将按照代码的编写顺序一条一条执行。
代码中的语句将会依次执行,没有任何分支或跳转。
下面是一个简单的顺序结构的示例代码:```c#include <stdio.h>int main() {printf("Hello, World!\n");printf("This is a C program.\n");return 0;}```在上述代码中,两个printf语句将会按照从上到下的顺序依次执行,分别输出"Hello, World!"和"This is a C program."。
这种结构适用于那些不需要条件判断和循环的简单程序。
2. 选择结构选择结构允许程序根据不同的条件选择不同的执行路径。
C语言中最常见的选择结构是if语句,其基本语法如下:```cif(condition) {// 符合条件时执行的代码}else {// 不符合条件时执行的代码}```下面是一个选择结构的示例代码:```c#include <stdio.h>int main() {int num = 10;if (num > 0) {printf("The number is positive.\n");}else if (num < 0) {printf("The number is negative.\n");}else {printf("The number is zero.\n");}return 0;}```在上面的代码中,根据num的值的不同,程序将输出相应的结果。
C3-三种基本结构的程序设计共41页文档

2020/1/4
பைடு நூலகம்
返回
5
3.2.1 基本if语句(单分支结构)
if(表达式) 语句;
表达式? 0
注:表达式可以是任意表达式, 非0
为“非0”则执行语句。
语句
2020/1/4
返回
6
3.2.2 if-else语句(双分支结构)
if(表达式) 语句1; else 语句2;
非0 表达式? 0
语句1
语句2
2020/1/4
2020/1/4
9
[例3.2]求一个点所在的象限。
#include <stdio.h> void main() { float x,y; printf("Input the coordinate of a point.\n"); printf("x="); scanf("%f",&x); printf("y="); scanf("%f",&y); if(x>0)
2020/1/4
返回
8
3.2.3 if嵌套语句(分支嵌套的一般形式)
if后和else后的语句可再包含if语句。
注:else总是与前面最近的并且没有与其他else 匹配的if相匹配。
例:if(n>0) if(a>b) c=a; else c=b;
例’:if(n>0) { if(a>b) c=a; } else c=b;
Y
d==0?
N
{ x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("has } else
C语言课件3-三种基本结构的程序设计

3.1 顺序结构 3.2 分支(条件)结构 3.3 循环结构
退出
2014-7-14 2
3.1 顺序结构
顺序结构程序 是按书写顺序执行的语句构成的程序段。
语句1 语句2
返回
2014-7-14 3
3.2 分支结构(条件结构)
3.2.1 基本if语句(单分支结构) 3.2.2 if-else语句(双分支结构) 3.2.3 if嵌套语句(分支嵌套的一般形式) 3.2.4 if-else-if语句(分支嵌套的特殊形式) 3.2.5 switch-case语句(开关分支结构) 3.2.6 goto语句(无条件分支结构)
2014-7-14 17
3.2.6 goto语句(无条件分支结构)
goto 语句标号; 注:语句标号用标识符表示,用来表示程序的某个位置。 loop: if(i<=100) { sum+=i; i++; goto loop; }
返回
2014-7-14 18
3.3 循环结构(重复结构)
循环语句:在给定条件成立时,反复执行某个程序 段(循环体)。
2014-7-14
返回
9
3.2.4 if-else-if语句(分支嵌套的特殊形式)
if(表达式1) 语句1; else if(表达式2) 语句2; …… else if(表达式n) 语句n; else 语句n+1;
表达式1? 真(非0) 表达式2? 真(非0) 假(0) 假(0)
表达式n? 真(非0) 语句1 语句2 语句n
欧几里得算法(辗转相除法): ①输入两个正数m和n; ②m除以n,余数为r,n->m,r->n; ③若n=0,则m是最大公因子,结束;否则转②。 #include <stdio.h> void main() { int m,n,r; printf("Please type in two positive integers\n"); scanf("%d%d",&m,&n); while(n) { r=m%n; m=n; n=r; } printf("Their greatest common divisor is %d.\n",m); } 返回
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf(″% s″,name); /* 输出读入的名字 */ }
程序的执行结果: please input your name:
Li gang↙ Hello!
Li gang
程序设计简例
【例 4】 读入一个小写字母,将其转换成大写字母后输出,同时输出其对应 的 ASCII 编码。
# include <stdio.h>
,这样的语句体称为复合语句。复合语
B
句在逻辑上等价于一条语句,复合语句
内部还可嵌套复合语句。
b
3.1.1 程序设计简例
【例 1】 分析下列程序,观察运行结果
运行结果
main()
{
(1) a=98,a= b,ch=97,ch= a
char ch= ′a′; /*定义变量并赋值 */
(2) b=1000
}
please input:mA,mB,Kb ,t1,t2
100.0,13.76,2.57,80.10,82.40↙
【例 5】 在100.0g苯中加入13.76g联苯(MB),所形成溶液的沸点为82.40℃( t2),计算联苯的相对分子量。已知纯苯的沸点为80.10℃(t1),Kb=2.57。
# include <stdio.h>
main()
{
float mA,mB,MB,Kb,t1,t2; /*定义变量*/
printf(″please input:mA,mB,Kb ,t1,t2\n″);/*输出“输入数据”提示信息*/
# include < stdio. h>
main ()
{
char name [10];/* 存放名子的变量在后面章节再详细介绍 */
printf(″please input you rname: \n″);/* 输出提示信息 */
scanf(″% s″,name); /* 读入名字 */
printf(″Hello! \n″); /* 输出 Hello!*/
scanf(″% f,% f,% f,%f,% f″,& mA,&mB,&Kb ,&t1,&t2); /*读入数据*/
MB= (Kb* mB)/ ((t1-t2) *mA); /*计算联苯的分子量*/
printf ("MB= %6.2f ", MB ); /*输出联苯的分子量*/
printf ("g/mol \n" ); /*打出分子量的单位*/ 程序运行情况:
第三章 三种基本结构程序设计
3.1 顺序结构程序设计 3.2 选择结构程序设计 3.3 循环结构
3.1 顺序结构程序设计
顺序结构程序:就是执行时依语句排
a
列顺序一条接着一条地执行,不发生
控制流的转移。
A
特点:每个程序都是按照语句的书写顺
序依次执行的,它是最简单的结构。不
可或缺的若干语句,用{}把它们括起来
main()
{
char ch1, ch2 ;
printf (" Enter a lower letter : " ) ; ch1=getchar ( ) ; /*利用字符输入函数,实现键盘输入一个字符,赋给字符变量 ch1 */
printf ("letter: %c , ASCII:%d\n",ch1,ch1 ); /* 屏幕显示键盘输入的字符,并显示该字符的 ASCII 代码值*/ ch2=ch1-32; /*将小写字母转换成对应的大写字母 */
c3=x/10+48; /* 求得 x 的百位数字, 加 48 转换为对应的 ASCII 码值 */
printf("%c\n%c\n%c\n%c\n",c4,c3,c2,c1); /* 输出符号位,百位,十位,个位 */
}
程序设计简例
【例 3】 在屏幕输出 “please input your name:”,再从键盘上输入一个名字 ,然后显示“Hello!”,在下一行显示输入的名字。
printf (″(5) x= % e,y= % e \n″,x,y);
printf (″(6) y= % - 10.2f\n″,y);
}
程序设计简例
【例 2】 输入一个三位的整数,分解它的符号、百位数字、十位数字和个位
数字,然后依次输出。
#include <stdio.h> #include <math.h> /* 程序中使用了数学函数 abs */
int a= 98;
(3) c=123456789
unsigned b=1000;
(4) x=3.140000,y=1.234567
long c= 123456789;
(5) x=3.14000e+00,y=1.23456e+ 00
float x= 3.14;
(6) y=1.23
double y=1.2345678;
程序的执行结果: please input a numer:
main() { char c1,c2,c3,c4; /* 定义变量 */
int x;
-321↙ -,3,2,1
printf(″please input a numer: \n″);/* 输入提示信息 */
scanf("%d",&x);
/* 键盘输入 x 的值 */
printf (″(1) a= % d,a= % c,ch= % d,ch= % c\n″,a
,a,ch,ch);/*输出*/
printf (″(2) b= % u \n″,b);
printf (″(3) c= % ld \n″,c);
printf (″(4) x= % f,y= % f\n″,x,y);
printf ("letter: %c , ASCII:%d\n",ch2,ch2 ); /*屏幕显示转换后的字符,及该字符的 ASCII 代码值*/
程序运行情况:
}
Enter a lower letter: a↙
letter: a, ASCII: 97
letter: A, ASCII: 65
程序设计简例
c4=x>=0?’+’: ’-’; /* 将 x 的符号赋给 c4 */
x=abs(x);
/* 取 x 的绝对值 */
c3=x%10+48; /* 求得 x 的个位数字,加 48 转换为对应数字字符的 ASCII 码值*/
x=x/10;
/* 去掉个位数, 取出 x 的高位 */
c2=x%10+48; /* 求得 x 的十位数字, 加 48 转换为对应的 ASCII 码值 */