第3章C语言的基本程序设计 本章主要内容 3.1c语言的语句概述 3.2算法与结构化程序设计方法 3.3顺序结构程序设计 34顺序结构程序设计实训 3.5选择结构程序设计 3.6选择结构程序设计实训 3.7循环结构程序设计 3.8循环结构程序设计实训
第3章 C语言的基本程序设计 本章主要内容 3.1 C语言的语句概述 3.2 算法与结构化程序设计方法 3.3 顺序结构程序设计 3.4 顺序结构程序设计实训 3.5 选择结构程序设计 3.6 选择结构程序设计实训 3.7 循环结构程序设计 3.8 循环结构程序设计实训
31c语言的语句概述 C语句可分为以下五类:表达式语句、函数调用 语句、控制语句、复合语句、空语句。 1表达式语句 表达式语句由表达式加上分号“;”组成 格式为:表达式; 例如:sum=a+b; H+十 printf( Hello, everyone!n"); 执行表达式语句就是计算表达式的值。最常用的表 达式语句是赋值语句和函数调用语句
3.1 C语言的语句概述 C语句可分为以下五类:表达式语句、函数调用 语句、控制语句、复合语句、空语句。 1 表达式语句 表达式语句由表达式加上分号“;”组成。 格式为:表达式; 例如: sum=a+b; i++; printf("Hello,everyone!\n "); 执行表达式语句就是计算表达式的值。最常用的表 达式语句是赋值语句和函数调用语句
2函数调用语句 格式为:函数名(实际参数表 执行函数语句就是调用函数体并把实际参数赋予函数 定义中的形式参数,然后执行被调函数体中的语句,求 取函数值。(在第六章函数中详细介绍) 例: printf(" C Program");调用库函数,输出字符串 3控制语句 控制语句用于控制程序的流程,以实现程序的各种结 构方式。 C语言有九种控制语句。可分成以下三类: (1)条件判断语句 f语句, switch语句
2 函数调用语句 格式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数 定义中的形式参数,然后执行被调函数体中的语句,求 取函数值。(在第六章函数中详细介绍) 例: printf("C Program ");调用库函数,输出字符串。 3 控制语句 控制语句用于控制程序的流程,以实现程序的各种结 构方式。 C语言有九种控制语句。 可分成以下三类: (1)条件判断语句 if语句,switch语句
(2)循环执行语句 do while语句, while语句,for语句 (3)转向语句 break语句,goto语句, continue语句, return语句 4复合语句 在C语言中,把多个语包用一对大括号“{}括起来组 成的语句称复合语 在程序中应把复合语句看成是单条 语句,而不是多条语句,例如 例如:{ X-ytz, a=btc: printf(" %d%d",x, a); 条复合语句复合语包内的各条语句都必须以分号 “;3结尾,在括号“y外不能加分号
(2)循环执行语句 do while语句,while语句,for语句 (3)转向语句 break语句,goto语句,continue语句,return语句 4 复合语句 在 C 语言中,把多个语句用一对大括号“{ }”括起来组 成的语句称复合语句。 在程序中应把复合语句看成是单条 语句,而不是多条语句,例如 例如: { x=y+z; a=b+c; printf("%d%d ",x,a); } 是一条复合语句。复合语句内的各条语句都必须以分号 “;”结尾,在括号“}”外不能加分号
5空语句 格式:; 功能:不进行任何操作,只起到占位的作用,在 程序中可用来作空循环体 例如:for(=0;i<100;++); 这里的循环体为空语句,for循环虽然执行了多次, 由于循环体为空,循环只是有延时作用而已 REturn
5 空语句 格式 : ; 功能 :不进行任何操作,只起到占位的作用,在 程序中可用来作空循环体。 例如 :for(i=0;i<100;i++); 这里的循环体为空语句,for循环虽然执行了多次, 由于循环体为空,循环只是有延时作用而已。 [Return]
32算法与结构化程序设计方法 321算法 1算法的概念 数据结构( data structure)是对数据的描述,在程序 中要指定数据的类型和数据的组织 算法 ( algorithm)是对操作的描述,即操作步骤。实际上, 个程序除了以上两个主要要素之外,还应当采用结构化 程序设计方法进行程序设计,并且用某一种计算机语言 表示 程序=算法十数据结构十程序设计方法十语言工具和 环境 计算机的算法可分为两大类:数值运算算法和非数值 运算算法。数值运算算法主要用于解决数值计算问题 如求方程的稂、求函数值、求定积分等。数值运算算法 外的算法均属于韭数值运算算法,如排序问题采用的 就是非数值
3.2 算法与结构化程序设计方法 3.2.1 算法 1 算法的概念 数据结构(data structure)是对数据的描述,在程序 中要指定数据的类型和数据的组织形式;算法 (algorithm)是对操作的描述,即操作步骤。实际上,一 个程序除了以上两个主要要素之外,还应当采用结构化 程序设计方法进行程序设计,并且用某一种计算机语言 表示。 程序=算法十数据结构十程序设计方法十语言工具和 环境 计算机的算法可分为两大类:数值运算算法和非数值 运算算法。数值运算算法主要用于解决数值计算问题, 如求方程的根、求函数值、求定积分等。数值运算算法 以外的算法均属于非数值运算算法,如排序问题采用的 算法就是非数值运算算法
【例3-1】交换两个变量a、b的值 对于交换两个变量a、b值问题,可以借助于临时变 量c,采用以下步骤实现: S1: c=a S1: C=b S2:a=b 或 S2 b=a S3: b=c S3:a=c 【例3-2】求1+2+3+.+10的和。 设两个变量S和i,分别用以存放部分和及整数|~10 米取以下步骤实现目标: S1:S=0 S2:i=1 S3: S=S+ S4: i=i+ S5:如果不大于10 回重新执行步骤S3及其 后续的S4、S5。否则,算 法到 此结束,变量S中保存的 就是要求的和
【例3-1】 交换两个变量a、b的值。 对于交换两个变量a、b值问题,可以借助于临时变 量c,采用以下步骤实现: S1:c=a; S1:c=b; S2:a=b; 或 S2:b=a; S3:b=c; S3:a=c; 【例3-2】求1+2+3+…+10的和。 设两个变量S和i,分别用以存放部分和及整数l~10。 采取以下步骤实现目标: S1:S=0 S2:i=1 S3:S=S+i S4:i=i+l S5:如果i不大于10,则返回重新执行步骤S3及其 后续的S4、S5。否则,算法到此结束,变量S中保存的 就是要求的和
2算法的特性 (1)有穷性 个算法必须包含有限个操作步骤,且要在合理的时间范闺 内由计算机处理完成 (2)确定性 算法中的每一个步骤都应当是确定的,而不应当是含糊的 有歧义的。 (3)有零个或多个输入 所谓输入是指在执行算法时需要从外界取得必要的信息。 (4)有一个或多个输出 法的目的是为了求解,“解”就是输出二个算法得到的 果就是算法的输出。没有输出的 是没有意义的。 (5)有效性 算法中的每一个步骤都应当能有效地执行,并得到确定的结 果
2 算法的特性 (1) 有穷性 一个算法必须包含有限个操作步骤,且要在合理的时间范围 内由计算机处理完成。 (2) 确定性 算法中的每一个步骤都应当是确定的,而不应当是含糊的、 有歧义的。 (3) 有零个或多个输入 所谓输入是指在执行算法时需要从外界取得必要的信息。 (4) 有一个或多个输出 算法的目的是为了求解,“解”就是输出。一个算法得到的 结果就是算法的输出。没有输出的算法是没有意义的。 (5) 有效性 算法中的每一个步骤都应当能有效地执行,并得到确定的结 果
3算法的表示 算法的表示或者描述主要可以用以下几种方法:自然语言 流程图、NS结构图和伪代码。其中最常用的方法是流程图和 NS结构图。 (1)三种基本结构 1)顺序结构:其中A和B两个框是顺序执行的(其结构如图 3-1)。 2)选择结构或称分支结构:根据给定的条件p是否成立而选 择执行A框或B框,A框和B框必有一个被执行(其结构如图3 2)。 3)循环结构(又称重复结构),即重复执行某一部分操作 的结构。循环结构分两种:当型循环结构和直到型循环结构 ①当型循环结构:如图3-3(a)所示。 ②直到型循环结构:如图3-3(b)所示
3 算法的表示 算法的表示或者描述主要可以用以下几种方法:自然语言、 流程图、N-S结构图和伪代码。其中最常用的方法是流程图和 N-S结构图。 (1)三种基本结构 l)顺序结构:其中A和 B两个框是顺序执行的(其结构如图 3-1)。 2)选择结构或称分支结构:根据给定的条件p是否成立而选 择执行A框或B框,A框和B框必有一个被执行(其结构如图3- 2)。 3)循环结构(又称重复结构),即重复执行某一部分操作 的结构。循环结构分两种:当型循环结构和直到型循环结构。 ① 当型循环结构:如图3-3(a)所示。 ② 直到型循环结构:如图3-3(b)所示
A 真 图3-1顺序结构 图3-2选择结构 当P为真 A A 直到为真 (a)当型循环 (b)直到型循环
A B 图3-1顺序结构 图3-2选择结构 (a)当型循环 (b)直到型循环