整型14%3c语言算法,第3章C语言算法与程序设计基础.ppt

第3章C语言算法与程序设计基础

第3章 算法与程序设计基础 3.1 算法概述 程序(program)是计算机可以执行的指令或语句序列。它是用计算机解决现实生活中的一个实际问题而编制的。设计、编制、调试程序的过程称为程序设计。编写程序所用的语言即为程序设计语言,它为程序设计提供了一定的语法和语义,所编写出的程序必须严格遵守它的语法规则,这样编写出来的程序才能被计算机所接受、运行,并产生预期的结果。 3.1.1 算法的概念 解决一个实际问题而采取的方法和步骤,称之为“算法”。对于同一个问题,可能有不同的方法和步骤,即有不同的算法。 【例3.1】求1+2+3+4+…+100=? 3.1.2 算法的特性 一个算法应具有如下五个特点: 1.有穷性 2.确定性 3.可行性 4.有零个或多个输入 5.有一个或多个输出 3.2 算法的常用表示方法 3.2.1 自然语言表示法 所谓自然语言,就是人们日常使用的语言,可以是汉语、英语或其他语言。 3.2.2 流程图 流程图是用图形的方式来表示算法,用一些几何图形来代表各种不同性质的操作。 ANSI(美国国家标准化协会)规定的一些常用流程图符号(见图3-1)已被大多数国家接受。 3.2.3 N-S结构流程图 1973年美国的计算机科学家I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中把流程线完全去掉了,全部算法写在一个矩形框内,在框内还可以包含其他框,即由一些基本的框组成一个较大的框。 这种流程图称为N-S结构流程图(以两人名字的头一个字母组成)。 3.2.4 伪代码表示法 伪代码(pseudo code)是用介于自然语言和计算机语言之间的文字和符号来表示算法,即计算机程序设计语言中具有的语句关键字用英文表示,其他的可用汉字,也可用英文,只要便于书写和阅读就可。 3.2.5 用计算机语言表示算法 用计算机语言描述算法必须严格遵循所用语言的语法规则 3.3 结构化程序设计方法 在拿到一个需要求解的实际问题之后,怎样才能编写出程序呢?以数值计算问题为例,一般应按图3-12所示的步骤进行。 要设计出结构化的程序,可采取以下的方法: ◆自顶向下◆逐步细化 ◆模块化◆结构化编码 3.4 C语句概述 1.说明语句 说明语句用来定义变量的数据类型。 例如: int sign,i,n; /*说明sign,i,n是整型变量*/ 2.函数调用语句 由一个函数调用加一个分号构成函数调用语句。如上例中的: printf("\n Please input an integer to n: "); scanf("%d",&n); 3.表达式语句 在C语言中,由一个表达式加上一个分号就构成了一条表达式语句。最典型的是,由赋值表达式加上分号构成赋值语句。例如: sign=1; sum=1; i=1; sign=(-1)*sign; sum=sum+sign/(3.0*i); i=i+1; 4.空语句 仅由一个分号构成的语句就是空语句。 例如: ; 5.复合语句 复合语句是由大括号括起来的,在逻辑上相关的一组语句。如上例中的: { sign=(-1)*sign; sum=sum+sign/(3.0*i); i=i+1; } 6.控制语句 控制语句用来规定语句执行的顺序,C语言共有9种控制语句。 (1)if(条件) {…} else {…}(条件语句) (2)for(条件) {…}(循环语句) (3)while(条件) {…}(循环语句) (4)do {…} while(条件);(循环语句) (5)continue;(结束本次循环语句) (6)break;(结束循环语句或结束switch语句) (7)switch(表达式) {…}(多分支选择语句) (8)goto 标号;(转向语句) (9)return(表达式);(从函数返回语句) 3.5 选择结构程序设计 3.5.1 关系运算符和关系表达式 关系表达式 用关系运算符连接起来的表达式称为关系表达式,关系表达式的结果为逻辑值真(用“1”表示)或假(用“0”表示)。 例如: c>a+b 若a=3,b=4,c=9 则结果为1 a==bc 若b=4,c=9 则a的值为0 两个数值进行比较,是比较其数值的大小,两个字符进行比较,是比较其ASCII码值的大小。 3.5.2 逻辑运算符和逻辑表达式 1.逻辑运

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值