第3章c语言的基本程序设计 本章介绍C语言程序设计的基本方法和基本 的程序语句。使读者对C程序有一个初步的认识, 为后面各章的学习打下基础。 3,1C语言的语句概述 32算法与结构化程序设让方法 33顺序结构程序设让 34顺序结构程序设计实训 3.5选择结构程序设让 36选择结构程序设计实训 37循环结构程序设让 3.8循环结构程序设计实训
第3章 C语言的基本程序设计 本章介绍C语言程序设计的基本方法和基本 的程序语句。使读者对C程序有一个初步的认识, 为后面各章的学习打下基础。 3.1 C语言的语句概述 3.2 算法与结构化程序设计方法 3.3 顺序结构程序设计 3.4 顺序结构程序设计实训 3.5 选择结构程序设计 3.6 选择结构程序设计实训 3.7 循环结构程序设计 3.8 循环结构程序设计实训
31C语言的语句概述 C语句可分为以下五类:表达式语句、函数调用 语句、控制语句、复合语句、空语句。 1表达式语句 表达式语句由表达式加上分号“;”组成 格式为:表达式; 例如:sum=a+b printf("Hello, everyone!n"); 执行表达式语句就是计算表达式的值。最常用的 表达式语句是赋值语句和函数调用语句
3.1 C语言的语句概述 C语句可分为以下五类:表达式语句、函数调用 语句、控制语句、复合语句、空语句。 1 表达式语句 表达式语句由表达式加上分号“;”组成。 格式为:表达式; 例如: sum=a+b; i++; printf("Hello,everyone!\n "); 执行表达式语句就是计算表达式的值。最常用的 表达式语句是赋值语句和函数调用语句
2函数调用语句 格式为:函数名(实际参数表) 执行函数语句就是调用函数体并把实际参数赋予函数定 义中的形式参数,然后执行被调函数体中的语句,求取函 数值。(在第六章函数中详细介绍) 例如 printf" 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=V十+Z printf( "o X, a 条复合语句。复合语句内的各条语句都必须以分号 “,3结尾,在括号“}”外不能加分
(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(i=0;<100;i++); 这里的循环体为空语句,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: S3: a=c 【例3-2】求1+2+3+.+10的和。 设两个变量S和i,分别用以存放部分和及整数1~10。 采取以下步骤实现目标: S1: S=0 S2:i=1 S3: S=S+i S4:i=i+1 S5:如果i不大于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算法的表示 算法的表示或者描述主要豇以用以下几种方法:自然 言、沉程图、N结构图和伪代码。其中最常用的方法 流程图和N-S结构图 (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)当型循环 (b)直到型循环
A B 图3-1顺序结构 图3-2选择结构 (a)当型循环 (b)直到型循环