最新C语言第2章

合集下载

C语言第2章(谭浩强)

C语言第2章(谭浩强)

§ 2.4
怎样表示一个算法
表示方法: 1、自然语言 2、传统流程图 3、N—S流程图 4、结构化流程图 5、伪代码 、PAD图
10
2.4.1 用自然语言表示算法
用自然语言表示通俗易懂,但容易出现 “歧异性”。
2.4.2 用传统流程图表示算法
直观形象,易于理解。成为世界各国程序 工作者普遍采用。 下面给出传统流程图的说明:
2
§2.1
算法的概念
做任何事情都有一定的步骤,这些步骤都 是有一定的顺序。如:起床上学,用电脑画画, 弹奏乐曲。不要以为只有“计算”的问题才有 算法的。

什么叫做算法?广义:为解决一个问题而采 用的方法和步骤就称为“算法”。
例如:求 1+2+3+4+……+100 可先算1+2、再加3、再加4……直到加上100; 也可采用 100+(1+99)+(2+98)+……+ (49+51)+50 3 本书所关心的算法只限于计算机算法。
5
例2.2 有50个学生,将成绩在80分以上的学 号和成绩打印出来。 说明:n:学号,ni:第i个学生学号,g:成绩, gi:第i个学生成绩 步骤如下: S1:1=>i S2:若gi>80,则输出ni和 gi ,否则不输出。 S3:i+1=>i S4:若i小于等于50,则返回 S2继续执行; 否则算法结束。

著名计算机科学家沃思提出一个公式: 数据结构+算法=程序 实际上,一个程序还应当采用结构化程序设计 方法进行程序设计,并且用某一种计算机语言表示。 因此,可以这样表示。 程序=算法+数据结构+程序设计方法+语言 以上四个方面是一名程序设计员所应具备的知 识。在这四个方面中,算法是灵魂,是解决“做什 么”和“怎么做”的问题。数据结构是加工对象, 语言是工具,编程需要采用合适的方法。

C语言第2章

C语言第2章

方法2:
不是所有能解决问题的方法都适合在计算机上运行!
4
§2.3 算法特性
1.有穷性:一个算法应该包含有限的操作步骤,而不是 无限的。 2.确定性:算法中的每一个步骤都应当是确定的,而不 应当是含糊的、模棱两可的。 3.有零个或者多个输入。(即从外界获得的必要信息) 4.有一个或多个输出。 5.有效性:算法中的每一个步骤都应当能有效地执行, 并得到确定的结果。
(1)自顶向下 (2)逐步细化
10
(3)模块化设计 (4)结构化编码
第2章作业
第36页 4(4)、4(5)、4(7)
11
5
§2.4算法的表示(用流程图表示算法)
起止框 处理框 判断框 输入/出框 流程线
连接点 注释框
6
例2.1 计算265的平方根
顺序结构
开始 X=265 Y=√X Y 结束
7
N—S图
开始 X=265 Y=√X
输出Y 结束
例2.2
打印X的绝对值
开始
N—S图
输入x
分支结构
xyX>=来自?ny打印x
X>=0
2
§2.2 简单算法举例

2.1求1×2×3×4×5。
2 6 24 120
3
方法1:
5个数乘法需要乘4次,
1000个数,需要多少次?
太繁琐!
§2.2 简单算法举例
s1:p=1; s2:i=2; s3:p=p*I; s4:i=i+1; s5:如果i不大于5,返回重新执行s3 、s4、s5,否则p中即为所求值。
n
x
结束
-x
打印
-x
8
例2.3 计算1到100的和。

c语言 第2章

c语言    第2章

28/49
结合性:自右至左。
设初值a=3;b=5; 如: i=2; 1. c=(a++)*b; j=-i++; 等价于:j=-(i++); c=a*b 即: j=-i;i++; a=a+1 “++”与”-“是同优先级 //c=15,a=4 2. 所以i的值为3,j的值为-2。 c=(++a)*b; a=a+1 //c=20,a=4 c=a*b
20/49
转义字符表
字符形式 功 能
\n
\t \v \b \r \f \\ \' \"
换行
制表字符,也叫横向跳格字符 竖向跳格 退格 回车 走纸换页 反斜杠字符 单引号字符 双引号字符
\ddd
\xhh
1~3位八进制数表示的字符
1~2位十六进制数表示的字符
21/49
使用这种方法可以用来表示字符集中的 任何一个字符,特别是“控制字符”。 例如,‘\7’、‘\07’、‘\007’ 三个都表示响铃字符(bell)。 ‘\101’,‘\x41’都代表字母‘A’。
§ 2.整型常量 § C语言中整型常量通常用十进制、八进制或十六进制 三种数制来表示。
§ (1)十进制数形式:十进制整数表示方法与数学上 的整数表示方法相同,例如:200, -100, 0
§ (2)八进制数形式:八进制整数在数码前加数字0 (注意不是字母o)。例如:0144 § (3)十六进制数形式:十六进制整数在数码前加0X。 例如:0xFFFF § 另外,在整型常量的末尾加上字母L或l,就组成了长 整型常量,如981016L、0L等。
int a=5, b=3; √ int a=b=c=3; int a,b,c; a=b=c=3;

C语言 第2章

C语言 第2章
长整型常量在计算机中占用4个字节。 长整型常量在计算机中占用4个字节。
2.2.2 整型变量
整型变量在计算机中占两个字节。 整型变量在计算机中占两个字节。 用以说明整型变量的关键字( 用以说明整型变量的关键字(也称为数据类型 int。 符)为int。 定义变量数据类型语句的一般格式为: 定义变量数据类型语句的一般格式为: 数据类型符 变量名1,变量名2,……; 变量名1 变量名2
第2章 基本数据类型、操作符和表达式 基本数据类型、
2.1 数据类型 2.2 整形数据 2.3 实型数据 2.4 字符型数据与字符串 2.5 变量说明与初始化 2.6 运算符和表达式
2.1
数 据 类 型
在C语言中,数据的类型分为基本数据 语言中, 类型、构造类型、指针类型和空值类型。对 类型、构造类型、指针类型和空值类型。 于每一种数据类型的数据,又有分成几种不 于每一种数据类型的数据, 同类型,如图2.1所示。 所变量用来存储实型数据。 实型变量用来存储实型数据。实 型变量分为如下两种。 型变量分为如下两种。
(1)单精度实型变量或简称实型变量或浮点型 变量,其类型标识符为float 变量,其类型标识符为float; float; (2)双精度实型变量或称双精度浮点型变量, 双精度实型变量或称双精度浮点型变量, 其类型标识符为double 其类型标识符为double 。
\ddd
例 main() 3位8进制数代表的字符 { }
\xhh
printf(“Y\b=\n”);
2位16进制数代表的字符 运行结果:
屏幕显示:= 打印机输出:¥
2.4.2 字符型变量
字符型变量是C语言的一种数据类型, 字符型变量是C语言的一种数据类型, 用关键字( 类型符) char说明 说明, 用关键字 ( 类型符 ) char 说明 , 用于存储 字符常量或数值。 字符常量或数值。 一个字符型变量只能存储一个字符, 一个字符型变量只能存储一个字符,它 是以该字符的ASCII 码值存储的 码值存储的, 是以该字符的 ASCII码值存储的 , 并占一 个字节的宽度。例如,字母a ASCII码是 个字节的宽度。例如,字母a的ASCII码是 97,在变量的内存中存储的就是97。 97,在变量的内存中存储的就是97。

《C语言程序设计》第二章基本数据类型

《C语言程序设计》第二章基本数据类型

《C语⾔程序设计》第⼆章基本数据类型⽬录:2.1 常量与变量2.1.1 常量2.1.2 变量2.2 简单的屏幕输出2.3 数据类型2.4 如何计算变量或数据类型所占内存空间的⼤⼩2.5 变量的赋值和赋值运算符2.6 本章扩充内容2.7 本章知识点⼩结2.8 本章常见错误⼩结2.1.1 常量不同类型的整型常量实例特点有符号整型常量10,-30,0默认的int型定义为有符号整数,因此对int型⽆须使⽤signed⽆符号整型常量30u,256U⽆符号整型常量由常量值后跟U或u来表⽰,不能表⽰成⼩于0的数,如-30u就是不合法的长整型常量-256l,1024L长整型常数由常数值后跟L或l来表⽰⽆符号长整型常量30lu⽆符号长整型常量由常数值后跟LU、Lu、lU或lu来表⽰不同类型的实型常量实例特点单精度实型常量 1.25F,1.25e-2f单精度实型常量由常量值后跟F或f来表⽰双精度实型常量0.123,-12.35,.98实型常量隐含按双精度型处理长双精度实型常量 1.25L长双精度型常量由常量值后跟L或l来表⽰2.1.2 变量定义变量的⼀般形式:类型关键字变量名;关键字(Keyword):C语⾔预先规定的、具有特殊意义的单词auto :声明⾃动变量break:跳出当前循环case:开关语句分⽀char :声明字符型变量或函数返回值类型const :声明只读变量continue:结束当前循环,开始下⼀轮循环default:开关语句中的“默认”分⽀do :循环语句的循环体double :声明双精度浮点型变量或函数返回值类型else :条件语句否定分⽀(与 if 连⽤)enum :声明枚举类型extern:声明变量或函数是在其它⽂件或本⽂件的其他位置定义float:声明浮点型变量或函数返回值类型for:⼀种循环语句goto:⽆条件跳转语句if:条件语句int:声明整型变量或函数long :声明长整型变量或函数返回值类型register:声明寄存器变量return :⼦程序返回语句(可以带参数,也可不带参数)short :声明短整型变量或函数signed:声明有符号类型变量或函数sizeof:计算数据类型或变量长度(即所占字节数)static :声明静态变量struct:声明结构体类型switch :⽤于开关语句typedef:⽤以给数据类型取别名unsigned:声明⽆符号类型变量或函数union:声明共⽤体类型void :声明函数⽆返回值或⽆参数,声明⽆类型指针volatile:说明变量在程序执⾏中可被隐含地改变while :循环语句的循环条件int main(void){int a; //⽤关键字int指定变量a的类型float b; //⽤关键字float指定变量b的类型char c; //⽤关键字char指定变量c的类型a=1; //为int型变量a赋值整型变量1b=2.5; //为float型变量b赋值实型变量2.5c='A'; //为char型变量c赋值字符型变量'A'return0;}⼀个C 程序必须且只能有⼀个⽤main作为名字的函数,这个函数成为主函数;main后⾯圆括号内的void表⽰它没有函数参数;main前⾯的int表⽰函数执⾏后会返回操作系统⼀个整数型,在main函数的函数体中的最后⼀条语句使⽤return语句返回了这个值,通常返回0表⽰程序正常结束。

C语言_第2章

C语言_第2章

printf(“请输入圆柱体底面圆的半径:%n”); scanf(“%d”, &cRadius); volume = calculateVolume(cHeight, cRadius); printf(“圆柱体的体积是:%f\n”, volume); return 0; } double calculateVolume(int height, int radius) { double result = height * PI * radius * radius; return result; }
2.1 进一步认识C语言程序
2.1 进一步认识C语言程序
C语言程序的组成部分
2.2 声明区 2.2.1 头文件
#include 包含头文件 例如:#include <stdio.h> C语言标准库
2.2 声明区 2.2.2 函数声明
函数声明的一般形式: 返回值类型 函数名(参数类型1, 参数类型2, ……);
第一层次的语句通常在高一层次的语句留一个缩进后另起一行书写
合理的代码注释
格式一:
if
{
//“{”独占一行
语句块; // 缩进
}
//“}”独占一行
格式二:
if {
//“{”与if占一行
语句块; // 缩进
}
//“}”独占一行
//“}”独占一行
2.7 实战练习
输入两个整数x和y,输出两个数的和 输入两个实数x和y,输入它们的平均数 在Visual C++ 6.0中编写例题2.1,输入圆柱体的高为20,半径为 10,计算并输出圆柱体的体积 修改例2.2,使它可以正确运行(提示:在printf()函数前加上var 的声明语句)

C语言_第2章C语言程序设计基础ppt课件

C语言_第2章C语言程序设计基础ppt课件

#include<stdio.h>
void main()
{
int a,b;
printf("Input a,b=");
scanf("%d,%d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%d-%d=%d\n",a,b,a-b);
printf("%d*%d=%d\n",a,b,a*b);
2.1 C语言的基本符号与数据类型 2.2 常量 2.3 变量 2.4 运算符与表达式 2.5 数据的输入/输出
2021/8/4Βιβλιοθήκη 精选课C 件语p言pt语言
17
2.3 变量
定义:即其值可以变化的量
• 一个变量应该有一个名字,在内存中占据一定的 存储单元。在该存储单元中存放变量的值。
• 注:区分变量名和变量值这两个不同的概念。
C规定了各种运算符的结合方向(结合性),算术 运算符的结合方向为“自左至右”,即先左后右, 因此b先与减号结合,执行a-b的运算,再执行加c的 运算。
精选课件ppt语言
34
34
➢ 自增、自减运算符:
• 作用是使变量的值增1或减1。
++ i ; -- i ; (在使用i之前,先使i的值加(减)1)
}
精选课件ppt语言
20
整型变量
➢ 整型数据在内存中的存放形式 • 数据在内存中是以二进制形式存放的,比如:
精选课件ppt语言
2211
实际上,数值是以补码表示的。一个正数的补码 和其原码的形式相同。下图就是用补码形式表示的。 如果数值是负的,在内存中如何用补码形式表示呢? 求负数补码的方法是:将该数的绝对值的二进制形式, 按位取反再加1。

C语言程序设计第二章

C语言程序设计第二章

2.2常量和变量

变量的类型
2.3 整型数据
2.3.1整型常量 整型常量即整常数。在C语言中,整型常量可以用十进制、八 进制、十六进制3种形式表示。 1.十进制整数 由0~9共10个数码组成。如5234,-78,0等。注意:5234不能 写成5,234。 2.八进制整数 八进制整数必须以数字o开头,组成八进制的数码为0~7。如 o123,o101,o645,o763等。 3.十六进制整数 十六进制整数以0x或0X开头(0为数字),组成十六进制的数码为 0~9,A~F(a~f)。如0x99A,0X97C,0x59ff等。
基本类型 实型 字符类型 (char) 枚举类型 (enum) 数组类型([]) 结构体类型 (struct) 共用体类型 (union) 文件类型 (FILE)
单精度型 (float) 双单精度型 (double)
符号长整型 (unsigned long)
构造类型

C语言提供的数据类型如右所 示:
2.3 整型数据
3.整型变量的定义 整型变量的定义的格式如下: 类型标识 变量名1,变量名2,变量名3…… 类型标识符可以是int、short、long、unsigned,或是它们的组合,例 如: int x,y; //指定变量x、y为整型变量 long c,d; //指定变量c、d为长整型变量 unsigned age,hight; //指定变量age,hight为无符号整型变量 变量的定义,一般放在一个函数开头的声明部分。 4.整型变量的赋值 可以将一个整型常量或整型变量赋值给整型变量,例如: int x=456;
2.4 实型数据
2.4.1实型常量 在C语言中,实型表示实数的集合,实型常量又称为实数。实 型常量只能用十进制形式表示,不能用八进制或十六进制形式表示。 实型常量有两种表示形式 1.十进制小数形式 十进制小数形式由数码0~ 9和小数点组成。如0.123,.123, 0.0,0.1,-267.8230,0.,.0等。 2.十进制指数形式 由十进制数码,“e”或“E”(代表×10)组成。如1e5, 139.5E2,-1.99e-3(代表1×105,139.5×102,-1.99×10-3)等。 格式如下: 小数或整数e(或E)+(或-)整数

C语言-第2章

C语言-第2章
5、有效性 算法中的每个步骤都应当能有效地执行,并得到确定的结 果。
C语言程序设计
第二章 程序的灵魂——算法
$3 用流程图表示算法
1、常用的算法表示方法: 自然语言、流程图、结构化流程图、伪代码和PAD图。 2、流程图表示算法的优点: 流程图是用一些图框表示各种操作。用图形表示算法, 直观形象,易于理解。
C语言程序设计
第二章 程序的灵魂——算法
$2 算法的特点
1、有穷性 一个算法应包含有限的操作步骤,而不能是无限的。 2、确定性 算法中的每个步骤都应该是确定的,而不应该是含糊的, 摸棱两可的。 3、有零个或多个输入 所谓的输入是指在执行算法时需要从外界获得必要的信息。
4、有一个或多个输出 算法是为了求解,“解”就是输出。
(3) 循环结构 又称为重复结构,即反复执行某一部分的操作。有“当”型 和“直到”型两种结构。
C语言程序设计
第二章 程序的灵魂——算法
① 当型(while)循环结构(如图四):相当于while( )~ 功能:当给定条件p1成立时,执行A框操作,执行完A后, 再判断条件p1是否成立,如果仍然成立,再执行A框,当某一 次p1条件不成立,此时不执行A框,而从b点脱离循环结构。 a a
3、常用的流程图符号
起止框
输入输出框
判断框
处理框

流程线序的灵魂——算法
4、三种基本结构 顺序结构、选择结构、循环结构。
(1) 顺序结构(如图一) 在执行完A框所指定的操作后,必然接着执行B框所指定的 操作。顺序结构是最简单的一种基本结构。 a a 成立 不成立 成立 不成立 p p A A B A B b b
Y
图六
打印t
结束
C语言程序设计

C语言程序设计第二章

C语言程序设计第二章

2.2 理论知识
运行结果:
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串常量是用一对双引号括起来的零个或多个字符
如"","Hello,world!","123"等
双引号仅起定界作用,本身并不是字符串中的内容
2.2 理论知识
常量和变量 直接常量
字符串常量 字符串的长度 指一个字符串中所包含的字符个数 C语言规定在存储字符串常量时,由系统在字符串的末 尾自动加一个'\0'作为结8.539815
2.2 理论知识
符号常量的两个好处
1. 修改程序方便 2. 见名知意,便于理解程序
符号常量的使用
1. 其值在它的作用域内不能改变,也不能再被赋值 2. 符号常量名用大写,变量名用小写,以示区别
2.2 理论知识
举例:
#define PI 3.1415
void main() { int PI; PI=3.1415; PI=3.14159; }
指针类型 构造类型 空类型
数组类型
结构体类型
共用体类型
2.2 理论知识
C语言的基本数据类型 整数类型
数据类型 有符号整型
短整型 长整型
int a,b,sum; a=32768;
数据类型符 int
short long [int] [int]
占用字节数 2
2 4




-215~(215-1) 即-32768~32767
2.2 理论知识
常量和变量 变量的赋值
在定义变量时赋值 float data1=1.5,data2=2.6;
“先定义后赋值

C语言第2章

C语言第2章

•求余运算符%,要求两个操作数均为整型,结果为 两数相除所得的余数。一般情况,余数的符号与被 除数符号相同。例如:-8%5=-3;8%-5=3;
2 运算符的优先级、结合性和算术表达式 优先级:() + - * / % +结合性:左结合性 右结合性 算术表达式:用算术运算符和括号将运算对象(也称操作数) 连接起来的、符合C语法规则的式子,称为算术表达式。 例如,下面是一个合法的C算术表达式。 a*b/c-1.5+’a’。
(2)整型变量
整型变量的定义
格式:数据类型名 变量名表; 说明: • 变量定义时,可以说明多个相同类型的变量。 各个变量用“,”分隔。类型说明与变量名之 间至少有一个空格间隔。 • 最后一个变量名之后必须用“;”结尾。 • 变量说明必须在变量使用之前。 • 可以在定义变量的同时,对变量进行初始化。
例 2.2
计算两数之和,并输出结果。
main() /* 计算两数之和 */ { int a,b,sum; /* 这是定义变量 */ a=123;b=456; /* 赋值语句 */ sum=a+b; printf(“sum=%d\n”,sum); /*%d为格式控制,以十进制整 数形式输出*/ }
例2.3 输入两个整数,计算两者较大的数,并输出
例2.4 变量的定义及使用
main() { int a=3,b=-4,c=9,sum; /* 定义整型变量a、b、c、sum 并对a、b、c初始化*/ sum=a+b+c; /* 求a、b、c的和赋给变量sum*/
printf(“\nsum=%d”,sum); /* 换行输出变量sum的值*/ a=16;b=56;c=-98; sum=a+b+c; /* 重新给a、b、c赋值*/ /* 换行输出变量sum的值*/
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020/10/15
16
算法表示如下: S1:输入n的值
S2:2 i ( i 作为除数)
S3: n 被 i 除,得余数 r S4: 如果 r 等于 0 , 表示 n 能 被 i 整除,则打印 n “不 是素数”,算法结束;否则执行S5
S5:i+1 i
S6: 如果 i n-1, 返回S3;否则,打印 n “是素 数”,算法结束。
C语言第2章
实际上,一个程序除了以上两个主要要素之外,还应当采用 结构化程序设计方法进行程序设计,并且用某一种计算机语 言表示。因此,可以这样表示:
程序=算法+数据结构+程序设计方法+语言工具和环境
在这4个方面中,算法是灵魂,数据结构是加工对象,语言 是工具,编程需要采用合适的算法。算法是解决“做什么” 和“怎么做”的问题。
2020/10/15
2
1、什么叫算法? 解决一个问题而采取的方法和步骤,就称为算法。
2、算法的特性 (1) 有穷性
一个算法应包含有限的操作步骤而不是无限的。
(2) 确定性 算法中的每一个步骤都应当是确定的,而不应当是 含糊的,模棱两可的。
2020/10/15
3
(3)有零个或多个输入 所谓输入是指在执行算法时需要从外界取得必要 的信息。
1=>i
gi≥80


输出ni,gi
i+1=>i
直到i>50
2020/10/15
11
4、用伪码表示算法 伪代码是用介于自然语言和计算机语言之间的文字和符号来 描述算法。它不用图形符号,因此书写方便,格式紧凑,也 比较好懂,便于向计算机语言算法(即程序)过渡。
例 有50个学生,要求将他们之中成绩在80分以上者打印出来。
2020/10/15
5
例1: 有50个学生 ,要求将他们之中成绩在80分以上者打印出来。
用n表示学号,n1代表第一个学生学号,ni代表第i个学生学号。 用g代表学生成绩, gi 代表第i个学生成绩,算法可表示如下:
S1:1i S2:读入学号ni和成绩ni S3: 如果gi 80 ,则打印 ni 和gi ,否则不打印 S4: i+1 i S5: 如果 i 50, 返回S2, 继续执行; 否则,算法结束。
2020/10/15
6
2、用流程图表示算法 (1)常用的流程图符号
2020/10/15
起止框 输入/输出框 判断框 处理框 流程线
7
上例用流程图表示:
流程图
(1) 流程图表示算法的优点: ①表示算法直观形象,比较清楚地显示出各个框之间 的逻辑关系。 ②简单,易于掌握。
2020/10/15
8
3、用N-S图表示算法
1973年美国学者I.Nassi和B.Shneiderman提出了 一种新的流程图形式。在这种流程图中,完全去掉 了带箭头的流程线。全部算法写在一个矩形框内, 在该框内还可以包含其他的从属于它的框。
这种流程图又称N—S结构化流程图。 N—S流程图用以下的流程图符号:
(1)顺序结构:
A
B
2020/10/15
2020/10/15
13
5、用计算机语言表示算法
设计算法的目的是为了实现算法。因此,不仅要考 虑如何设计一个算法,也要考虑如何实现一个算法。
我们的任务是用计算机解题,也就是要用计算机实 现算法。计算机是无法识别流程图和伪代码的。只 有用计算机语言编写的程序才能被计算机执行(当 然还要经过编译成目标程序才能被计算机识别和执 行)。因此,在用流程图或伪代码描述出一个算法 后,还要将它转换成计算机语言程序。
2020/10/15
18
结构化程序设计方法简介
1、三种基本结构回顾
a
(1)顺序结构 A
B
b
2020/10/15
19
(2)选择结构,或称选取结构
if(g[i]>=80) printf(“%6d,%3d\n”,n[i],g[i]); }
2020/10/15
15
简单的算法实例
例2:对一个大于或等于3的正整数,判断它是不是一个素数。
方法:将 n (其中n 3) 作为被除数, 将2 到(n-1) 各个整 数轮流作为除数,如果都不能被整除,则n为素数。
2020/10/15
14
例: 有50个学生,要求将他们之中成绩在80分以上者打印出来。
用n表示学生学号,n1表示第一个学生学号,ni表示第i个学生 学号。用g表示学生成绩,gi表示第i个学生成绩。
C语言程序如下: main( ) {int g[50],n[50],i;
for(i=0;i<50;i++) scanf(“%d,%d”,&n[i],&g[i]); for(i=0;i<50;i++)
9
(2)选择结构:
成立 P 不成立
A (3)循环结构:
当p1成立
B A
A
直到p1成立
当型循环结构
直到型循环结构
ቤተ መጻሕፍቲ ባይዱ
用以上3种N—S流程图中的基本框,可以组成复杂的N—S流程图,以表示算法
2020/10/15
10
上例用N-S图表示:
用N—S表示算法如图
1=>i 输入ni,gi
i+1=>i 直到i>50
(4)有一个或多个输出 算法的目的是为了求解,“解”就是输出。 没有输出的算法是没有意义的。
(5)有效性 算法中的每一个步骤都应当能有效地执行,并得到 确定结果。
2020/10/15
4
算法的表示
1、用自然语言表示算法
采用汉语、英语或其它语言来描述解决问题的方法和步骤。 由于自然语言容易出现“歧义性”,且描述问题的文字冗长, 因此一般很少使用自然语言来描述算法。
2020/10/15
17
例3:求 1-1/2 + 1/3 –1/4 +…+ 1/99 –1/100。 S1: 1 sign S2: 1 sum S3: 2 deno S4: (-1)*sign sign S5: sign*(1/deno) term S6: sum+term sum S7: deno+1 deno S8: 若deno 100 返回S4;否则算法结束。
用n表示学生学号,n1表示第一个学生学号,ni表示第i个学生 学号。用g表示学生成绩,gi表示第i个学生成绩。
2020/10/15
12
用伪代码表示算法如下:
BEGIN(算法开始) 1=>i While i<=50
{input ni and gi i+1=>i}
1=>i While i<=50
{if gi≥80 print ni and gi i+1=>i} END(算法结束)
相关文档
最新文档