第3章 顺序结构编程
第3章 顺序结构程序设计
本章要求:
1. 理解顺序结构程序的概念 2. 掌握数据常用输入、输出方法 3. 掌握输入框和消息框的使用
1
1.顺序结构程序的概念
顺序结构是一种线性结构,也是程序设 计中最简单、最常用的基本结构。 特点:各语句按照各自出现的先后顺序 依次执行。 一个程序通常可以分为三部分:输入、 处理、输出。
6
当输出数据时,数值 数据的前面有一个符 号位,后面有一个空 格,而字符串前后都 没有空格。
(4)当输出多个表达式时,各表达式之间可用“,” 或“;”分隔符。 其中: 若使用逗号分隔符,则各输出项按分区格式 显示。此时,以14个字符宽度为单位将输出行分 为若干个区段,逗号后面的表达式在下一个区段 显示。 若使用分号分隔符,则按紧凑格式输出,即 数值型数据后多一个分隔;字符串后没有空格。
17
(5) Locked属性 指定文本控件是否可被编辑,默认值为 False,表示可编辑,当设置为True时,文 本控件相当于标签的作用。
18
(6) SelStart、SelLengart:选定的正文的开始位置, 第一个字符的位置是0。 ◆SelLength:选定的正文长度。 ◆SelText:选定的正文内容。
焦点与tab键序 (1)焦点 焦点是控件接收用户鼠标或键盘动作的 能力。当对象具有焦点时,可接收用户的输 入。 (2)利用setfocus设置焦点 当对象得到或失去焦点时,会产生gotfocus 事件或lostfocus事件。
23
使用以下方法可以将焦点赋予给对象: 1)运行时选择对象 2)在代码中使用setfocus方法 格式为:对象名.setfocus 例如: Private Sub Form_Activate() Text2.SetFocus End Sub
第3章 顺序结构程序设计
3.1.3 算法的表示
➢对于同一算法,允许在算法的描述和实 现方法上有所不同。常用的算法描述方 法可以归纳为以下几种:
自然语言 传统流程图 结构化流程图(N-S流程图) 伪代码 计算机语言
i+1i
N
i>5
Y
结束
输出t 26
开始
例2:将欧几里德 算法用流程图的 形式表示。
Y
输出n
输入m,n
m%nr
r=0
N nm
结束
rn
➢通过上面的例子可以看出流程图是表示算 法的较好的工具
➢一个流程图包括以下几部分:
(1) 表示相应操作的框 (2) 带箭头的流程线 (3) 框内外必要的文字说明
➢流程线不要忘记画箭头,否则难以判定各 框的执行次序
if(m<n)
{t=m; m=n; n=t;}
/* 若m中的数小于n中的数,交换m和n中的数 */
r = m % n;
while (r)
{ m = n;
n = r;
r = m % n;
}
printf("%d"\n,n);
}
3.2 基本语句
3.2.1 程序的结构 3.2.2 C语言的基本语句 3.2.3 赋值语句
9
什么是算法:
♦计算机算法可分为两大类别:
● 数值运算算法(求数值解) ● 非数值运算算法(排序、查找搜索等)
♦数值运算的目的是求数值解 ♦非数值运算包括的面十分广泛,最常见
的是用于事务管理领域
10
简单的算法举例:
第3章 顺序结构程序设计
第3章顺序结构程序设计3.1 赋值语句3.1.1 单赋值语句格式:变量=表达式;注:1、变量:可以是基本变量、结构变量、枚举变量、对象变量等。
2、表达式:可以是单个变量、常量或方法。
3、=:赋值符号4、等号左右的数据类型必须一致,或者右边的数据可以通过隐式或显示转换成左边的数据类型。
3.1.2 复合赋值语句与连续赋值语句1、复合赋值语句利用+=、-+、*=、/=这类运算符,要先完成特定的运算后再进行赋值。
2、连续赋值语句使用多个赋值语句,将一个值同时赋给多个变量。
Button 控件概述Windows 窗体Button 控件允许用户通过单击它来执行操作。
当该按钮被单击时,它看起来像是被按下,然后被释放。
每当用户单击按钮时,即调用Click 事件处理程序。
可将代码放入Click 事件处理程序来执行所选择的任意操作。
Button常用属性Button常用事件按钮的窗体事件1、将Windows 窗体按钮指定为“接受”按钮在任何Windows 窗体上都可以将某个Button 控件指定为“接受”按钮(也称作默认按钮)。
每当用户按Enter 键时,即单击默认按钮,而不管窗体上其他哪个控件具有焦点。
但当具有焦点的控件为以下情形时存在例外:为另一个按钮,此时,将单击具有焦点的那个按钮;为多行文本框;为捕获了Enter 键的自定义控件。
方法:(1)将窗体的AcceptButton 属性设置为Button 控件的名称。
(2)this.AcceptButton = button1;2、将Windows 窗体按钮指定为“取消”按钮在任何Windows 窗体上,您都可以将Button 控件指定为“取消”按钮。
每当用户按Esc 键时,即单击“取消”按钮,而不管窗体上的其他哪个控件具有焦点。
通常设计这样的按钮是为了允许用户快速退出操作而无需执行任何动作。
方法:(1)将窗体的CancelButton 属性设置为Button 控件的名称(2)this.CancelButton = myCancelBtn;3.2 输入与输出3.2.1 焦点与Tab键顺序焦点:当前用户操作的对象。
C语言程序设计 第三版 第3章 顺序结构程序设计
a b
(b) N-S结构化流程图
5
返回本章首页
3.2 用流程图表示三种基本结构
2.选择结构
6
返回本章首页
3.2 用流程图表示三种基本结构
3.循环结构
1)当型循环(while型循环) (1)先判断后执行的当型循环 (2)先执行后判断的当型循环
2)直到型循环(until型循环) (1)先判断后执行的直到型循环 (2)先执行后判断的直到型循环
2.结构化程序的设计方法
1)自顶向下、逐步细化 2)模块化
2
返回本章首页
3.2 用流程图表示三种基本结构
✓ 算法的传统流程图是用特定的几何图形及 指向线表示解决问题的方法及步骤。
➢ 圆角矩形为输入输出框 ➢ 矩形为处理框 ➢ 菱形为判断框 ➢ 带箭头的流程线 ➢ 框内外必要的文字说明。
3
返回本章首页
3.循环结构
2)直到型循环(until型循环)
11
返回本章首页
3.2 用流程图表示三种基本结构
4.流程图较
(1)N-S结构化流程图省略了指向线,结构比较 清晰,特别适合于表示一个结构化的算法,能 够方便地用于结构化程序设计。
(2)对同一循环问题进行处理时,当型循环和直 到型循环条件正好相反,也就是说,完全可以 将直到型循环转换为当型循环,所以在C程序中 仅介绍当型循环。
1.赋值语句的定义及格式
1)定义 赋值语句是由赋值表达式末尾加分号构成的语 句。
2)格式 变量=表达式;
3)功能 赋值语句的功能和特点都与赋值表达式相同。
18
返回本章首页
3.4 赋值语句
2.赋值语句使用注意事项
1)在赋值符右边的表达式也可以又是一个赋值表 达式
《C语言程序设计》第三章 顺序结构程序设计
第三章顺序结构程序设计3.1 基本要求z掌握C语言中使用最多的一种语句——赋值语句的使用方法。
z掌握各种类型数据的输入输出的方法,并能正确使用各种格式转换符。
z掌握文件包含预处理命令#include。
3.2 内容小结本章主要介绍了一些为编写简单程序所必须的语句及基本的输入输出方法。
它们是C语言中5类基本语句:控制语句、函数调用语句、表达式语句、空语句和复合语句。
格式输入输出函数scanf( )和printf( ):在C语言中没有专用的输入输出语句,但可通过调用输入输出函数及C系统提供的9种格式字符,进行各种类型数据、各种格式的输入输出。
单个字符的输入输出函数getchar( )和putchar( )。
文件的包含:函数是C程序的构成单元,C程序中的函数调用可分为两类,本源程序中函数的调用和非本源程序中函数的调用,如是后者需用#include 文件包含预处理命令把该函数所在的源文件包含到本源文件中来。
3.3 典型例题分析z例题1 printf( )函数的功能main( ){ int a , b;a=10;b=25;printf(“a=%d b=%d\n”,a,b);printf(“a+b=%d\na-b=%d\n”,a+b,a-b);}运行结果:a=10 b=2529a+b=35a-b=-15从上例中可以看出,转换说明符不仅规定了输出格式,而且也决定了输出项在整个输出信息中的位置。
此外,从上例也可以看出,输出项还可以是运算表达式,这时输出的是它的运算结果值。
z例题2 scanf( )函数的功能main( ){ int x, y;printf(“Enter integer x:”);scanf(“%d”,&x);printf(“Enter integer y:”);scanf(“%d”,&y);printf(“x+y=%d\n”,x+y);printf(“x-y=%d\n”,x-y);}该程序是以人机对话方式给变量x和y赋值,它的某次运行情况如下所示:Enter integer x:16〈CR〉Enter integer y:25〈CR〉x+y=41x- y=-9其中划有下横线的部分是从键盘打入的字符,其中〈CR〉表示回车键。
第3章顺序结构程序设计
一、C的数据类型
2、 变量 • 变量代表内存中具有特定属性的一个存储单元,它
用来存放数据,这就是变量的值,在程序运行期间, 这些值是可以改变的。
int a=25;
2001H
25
2002H
2003H
Advanced Programming
一、C的数据类型
2、 变量
Advanced Programming
二、常量与变量
1、 常量和符号常量
(1)整型常量
• 在一个整常量后面加一个字母u或U,认为是unsigned int 型。
• 在一个整常量后面加一个字母l或L,则认为是long int型常 量。 如123l.432L.0L等。
Advanced Programming
❖每个二进位的值是0或1
54
01
0 1 2 3 4 5 6 7 8 9 10
32
10
10
01
……...
Advanced Programming
一、C的数据类型
1、整型数据
常见的整型类型:
类型
类型说明符 长度 数的范围
基本整型 int
2字节 -32768~32767
短整型
short
2字节 -215~215-1
一、C的数据类型
1、 常量和符号常量 (4)字符串常量
• C规定:在每一个字符串常量的结尾加一个 “字符串结束标志”,以便系统据 此判断字符串是否结束。
C规定以字符’\0’作为字符串结束标志。
如:如果有一个字符串常量”CHINA” ,实际上在内存中是:
C H I N A \0
它占内存单元不是5个字符,而是6个字符,最后一个字符为’ \0’。 但在输出时不输出‘\0’。
C语言第3章顺序结构程序设计ppt课件
3.1.1 整 型 数 据
一、整型变量 1. 整型变量分为类: (1)基本整型(int) (2)短整型(short [int]) (3)长整型(long [int]) (4)无符号整型。无符号型又分为(3种):
节存储单元
{ int x, y; x=5; y=3;
将数值5、3分别存放到x、 y变量的存储单元
printf(“ %d----- %d\n”, x, y); x=1; y=2; printf(“ %d----- %d\n”, x, y);
x、y变量的值 重新赋值
}
运行结果: 5----- 3
1----- 2
3. 变量的定义 在C语言中,要求对所有用到的变量,必须先定
义、后使用。系统才可知道分配多大的存储空间。
变量定义的一般格式:
[存储类型] 数据类型 变量名[, 变量名2 …];
例如: int a1, a2, a3; 例如: float b1, b2, b3;
4.标识符命名规则 C语言中,用标识符来区分不同文件、函数、变量。 (1)标识符有效字符:只能由字母、数字和下划线 组成,且以字母或下划线开头。 (2)标识符有效长度:TC V2.0标识符的有效长度 为1~32个字符。随系统而异,但至少前8个字符有效。 如果超长,则超长部分被舍弃。 例如student11和student12的前8个字符相同,有的 系统认为这两个变量,是一回事而不加区别。 (3)C语言的关键字不能用作变量名。
第3章 顺序结构程序设计
教学内容: 3.1 基本数据类型 3.2 常用运算符和表达式 3.3 表达式及赋值语句 3.4 基本输入输出操作的实现 3.5 顺序结构程序设计应用实例
第3章 最简单的C程序设计—顺序结构程序设计
②直到型(Until型)循环结构 如(b)图,它的功能是先执 行A框,然后判断给定的p2条件是 否成立,如果p2条件丌成立,则 再执行A,然后再对p2条件作判断, 如果p2条件仍然丌成立,又执行 A….如此反复执行A,直到给定的 p2条件成立为止,此时丌再执行A, 从b点脱离本循环结构。
三种基本结构的共同特点:
4、空诧句:
组成:只由一个“;”构成,在程序中空诧句 可用来作流程的转向点或循环诧句中的空循环体。 程序执行时空诧句丌产生仸何动作。程序设计中 有时需要加一个空诧句来表示存在一条诧句,但 随意加分号也会导致逻辑上的错诨,需要慎用。 例如: while(getchar()!=‘\n’);/*本诧句的
/*表达式值为5,a,b,c值为5*/ /* b=5;a=5 */ /*表达式值11,c=6,a=11 */ /*表达式值10,a=10,b=4,c=6 */ /*表达式值5,a=5,b=10,c=2 */
/* a=-264 等价于a=a+(a=a-(a*a)) */
例: int a=2; a%=4-1; /* a=0 a+=a*=a-=a*=3; 等价于a=a+(a=a*(a=a-(a=a*3))) */
第3章 最简单的C程序设计 ——顺序结构程序设计
3.1 程序的三种结构
1966年,Bohra和Jacopini提出了以下三种 基本结构:顺序结构、选择结构、循环结构,用 这三种基本结构作为表示一个良好算法的基本单 元。 (1)顺序结构:
如右图,虚线框内是一个顺序结构。 其中A和B两个框是顺序执行的。即在执行 完A框所指定的操作后,必然接着执行B框 所指定的操作。顺序结构是最简单的一种 基本结构。
功能是,只要从键盘输入的字符丌是回车则重新输入。这 里的循环体为空诧句,什么也丌做。*/
第3章顺序结构程序设计.ppt
例如: { int a=3,b; a++; b*=a; printf("b=%d\n",b);}
/*定义部分*/ /*执行语句*/ /*执行语句*/ /*执行语句*/
8
C语言程序设计
第3章 顺序结构程序设计
5.空语句 C语言中的所有语句都必须由一个分号“;” 作为结束。如果只有一个分号,如: main( ) { ; } 这个分号也是一条语句,称为“空语句”。 空语句的一般形式为: ; 空语句是什么也不执行的语句。在程序中空 语句常用来做空循环体,可起到延时作用。
26
C语言程序设计
第3章 顺序结构程序设计
•%0md→输出的整数占m列并右对齐,当m大于整
数的宽度时,多余的位用0填充,当m小于整数的
宽度时,按整数的实际位数输出。
例如:
printf("%8d",2009); 输出结果为: 00002009 注意:没有%-0md格式控制符。
27
C语言程序设计
第3章 顺序结构程序设计
第3章 顺序结构程序设计
(条件语句) (循环语句) (循环语句) (循环语句) (结束本次循环语句) (中止执行switch或循环语句) (多分支选择语句) (转向语句) (从函数返回语句)
6
C语言程序设计
第3章 顺序结构程序设计
3.函数调用语句 由一个函数调用加一个分号构成一个语句, 其完成特定的任务。其一般形式为: 函数名(实际参数表);
② o格式符用来输出八进制整数,其用法同d格 式符,用时把d格式符改为o格式符即可。 例如:
short int n=-1; printf(“%ho”,n); 输出结果为: 177777 可以看到,八进制形式输出的整数是不考虑 符号的。
《顺序结构程序设计》ppt课件 九年级信息技术
– (4) 有一个或多个输出。
– 输出就是算法实施后得到的结果,显然,没有输出的算法是没有意义 的。
– (5) 可行性。
– 算法的每一步都必须是可行的,也就是说,是能够由计算机执行的。
• 3.1.3 算法的描述 • 1.用自然语言描述
– 自然语言就是人们日常使用的语言,前面的 算法就是用自然语言表示的。 – 用自然语言表示算法,通俗易懂。但是,自 然语言表示的含义往往不太严格,要根据上 计算机该用何种形式 下文才能判断它的正确含义。另外,用自然 来描述问题更为简洁、 语言描述分支和循环不很方便。 明了? – 因此,除对简单的问题使用以外,一般不用 自然语言描述算法。
• 2.用流程图描述 • 传统的流程图由图3-1所示的几种基本元 素组成。
– 用流程图描述算法,形象直观,简单方便。 – 例如,前面的算法用流程图可表示为如图32所示。
起止框
输入 /输出框
பைடு நூலகம்
处理框
判断框
流程线
图3-1 流程图基本元素
开始 0= > s 1= > i
– 顺序结构 – 分支结构 – 循环结构
• 用这些基本结构按一定的规律组成一个算法,这样的算法 称为结构化算法。按照结构化算法编写的程序称为结构 化程序。 • 为了设计结构化算法,1973年,美国学者I.Nassi和
操作 A 操作 B
条件 p 成立 操作 A 不成立 操作 B
当条件 p成立 操作 A 当型循环
– (2) 循环结构控制语句:
• do…while() , for()… , while()… , break , continue
– (3) 其他控制语句:
• goto,return
2.函数调用语句
第03章-顺序结构程序设计
3.2 程序的三种基本结构
结构化程序设计的基本思想是, 顺序结 结构化程序设计的基本思想是 , 用 顺序 结 选择结构和循环结构等三种基本结构 结构和循环 构 , 选择 结构和 循环 结构等三种基本结构 来构造程序;限制使用无条件转移语句 语句) (goto语句) 语句
1. 顺序结构 顺序执行每个操作,即先执行A操作,再执行 顺序执行每个操作, 即先执行 操作, 操作 B操作,两者之间是顺序执行的关系. 操作, 操作 两者之间是顺序执行的关系.
3.空语句,光有一个分号";",作为语句结 .空语句,光有一个分号" 束符,它表示什么也不做. 束符,它表示什么也不做. 4. 复合语句.由"{"和"}"把一些变量说明和 复合语句. " " 语句组合在一起.又称语句块(Block) .例如, 例如, 语句组合在一起.又称语句块 {int a = 0,b = 1,sum; , , ; sum = a + b; ; printf("%d",sum); , ; } 作为一条语句
以十进制整数形式按数据的实际长度输出long型数据
以十进制数形式按给定的宽度m输出long型数据.如数据的位数小于m, 则左(或右)端补以空格,若大于m,则按实际位输出
以八进制无符号形式输出整数(不输出前导符0)
以十六进制无符号形式输出整数(不输出前导符0x)用x则输出十六进 制数的a-f时以小写字母输出;用X时,则以大写字母输出
3.3 顺序结构程序设计的思想
在顺序结构程序中,程序的执行按照各语句出 在顺序结构程序中, 现的先后次序顺序执行,并且每个语句都会被 先后次序顺序执行 现的先后次序顺序执行,并且每个语句都会被 执行到. 执行到. 例如:由键盘输入两个整数,然后计算其和, 例如:由键盘输入两个整数,然后计算其和, 再将结果打印输出. 再将结果打印输出. 算法设计: 算法设计: (1) 输入两个整数 输入两个整数; (2) 计算其和 计算其和; (3) 将和打印输出. 将和打印输出.
第3章 顺序结构程序设计
3.1 C程序的三种控制结构
❖循环结构:
▪ 程序运行过程中,当给定条件成立时会反复执行某一个程序段。给定的条件称之为“循环条件”,反复执
行的程序段称之为“循环体”。
▪ 循环结构主要有两类:当型循环和直到型循环。
▪ 当型循环的流程图和N-S图如下:
直到型循环的流程图和N-S图如下:
3.2 顺序结构程序设计
例如:char c;
c = getchar( );
/*声明一个字符型变量c*/
/*通过getchar函数从键盘上输入一个字符,并赋值给变量c*/
▪ 2. putchar(x):向显示器上输出一个字符,参数x即为待输出的内容,x可以是一个字符常量或变量,也
可以是一个表达式或整型数据。
例如:putchar('A');
部分只有2位的浮点数。
(6)不要在scanf的格式控制字符串中使用'\n',如scanf("%d\n", &x);
3.3 常用库函数
❖ C编译系统预先定义了丰富的数学函数,使用系统提供的数学运算函数,需要包含头文件
math.h。
❖【例3.6】任意输入一个x的值,计算y = (|x| - 2) / (x2 + 1)。
int main( )
{
float a, b, c, s, area;
printf("请输入三边长:\n");
scanf("%f %f %f", &a, &b, &c);
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
第3章 顺序结构 程序设计
6.
s格式符。用来输出一个字符串。
%s 原长输出 % ms 字符串占m列,小于m左补空格 % -ms 大于m原样输出,小于m右补空格 % m.ns 输出占m列,只取字符串左端n个字符 % -m.ns n个字符输出在m列的左侧,右补空格 例:main ( ) {printf(“%3S,%7.2s,% .4s,% -5.3\n”,“CHINA”, “CHINA”,“CHINA”,“CHINA”);} 结果:CHINA,CH,CHIN,CHI
3.4 格式输入与输出
3.4.1 printf 函数 printf的作用是向终端(或系统隐含指定的输出设 备)输出若干个任意类型的数据。 1. 一般格式:printf(格式控制,输出列表) 例如: printf(“%d%d”,a,b); 格式控制 输出列表 printf(“a=%d b=%d”,a,b) 格式说明 普通字符 输出列表 结果 a=3 b=4
3. x格式符。用来输出16进制整数。 %x %mx %lx printf(“%d,%o,%x”,a,a,a); 结果:- 1 ,177777,ffff 注意在八进制和十六进制中并不能, 打印出0或 0x printf(“%d,0%o,0x%x”,a,a,a); 结果:- 1 ,0177777,0xffff
第3章 最简单的C 程序设计 --顺序程序结构设计
3.1 C 语句概述 程序的三种基本结构 3.2数据输入输出的概念及其语言实现 3.3 字符的输入和输出 3.4 格式输入 与输出 3.5 程序举例
程序的三种基本结构 近年来广泛采用结构化程序设计方法, 使程序结构清晰、易读性强。强调今后 在学习中要采用此方法。 有三种基本结构:
7. f格式符。用来输出实数,以小数形式输出。
第3章 顺序结构程序设计
输出项类型
int unsigned long unsigned long float double
格式符
说
明
ቤተ መጻሕፍቲ ባይዱ
%d
%u %ld %lu %f %e或%E
用来输出带符号的十进制基本整型数据。 用来输出无符号的十进制基本整型数据。 用来输出带符号的十进制长整型数据。 用来输出无符号的十进制长整型数据。 以小数形式输出单、双精度实数,隐含6位小数。 以指数形式输出单、双精度实数;底数为e或E,它之 前包含1位非零整数,隐含5位小数。
2.赋值语句
由赋值表达式加上一个分号组成。例如: i++; /*该表达式语句实际上是赋值语句:i=i+1;*/ ch=ch+32; aver=(m+n)/2.0;
3.函数调用语句
使用一个函数的功能叫做函数调用。一个单独的函数调用加一个分号就叫做函数调用语句。 例如: scanf("%d%d",&a,&b); printf("Sum=%d\n",s);
3.3 字符输入输出函数 1.字符输入函数getchar
此函数的功能是从键盘输入一个字符。经常使用的形式是: char ch; ………… ch=getchar();
2.字符输出函数putchar
这个函数的功能是向显示器输出一个字符。使用的一般形式是: putchar(字符常量) 或 putchar(字符变量) 例3.3 从键盘输入任意一个字符,然后显示输出。 #include <stdio.h> main() { char ch; ch=getchar(); putchar(ch); putchar(’\n’); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
案例二:共享单车费用程序运行结果
案例三:孩子身高预测
问题描述:孩子的身高可以利用遗传因素即利用
父母的身高进行预测。女儿身高计算公式为:女
儿成人时的身高=(父高×0.96 + 母高)÷2 ( 注:此方法未考虑环境因素的影响)。
3.2.2 浮点型变量与浮点型常量
浮点型变量类型 float:单精度型,内存空间长度为4,取值范 围为 -3.4*10-38 ~ +3.4*1038
案例三:孩子身高预测程序代码
#include<stdio.h> int main() { float f_height,m_height,d_height; //身高变量(厘米) printf("请输入父亲身高:"); scanf("%f",& f_height); printf("请输入母亲身高:"); scanf("%f",& m_height); d_height =( f_height*0.96+ m_height)/2.0; printf("女儿长大后身高为%.1fcm", d_height); return 0; }
案例一:微信普通红包流程图
案例一:微信普通红包程序代码
#include<stdio.h> int main() { int num,money,total; printf("输入红包金额:"); scanf("%d",& money); printf("输入红包个数:"); scanf("%d",& num); printf("计算红包总金额:"); total = num * money; printf("红包总金额:%d元\n", total); return 0; }
案例一:微信普通红包程序运行结果
开发程序流程小结
1) 需求分析
2) 算法设计
3) 画流程图
4) 编写代码
5) 运行调试
3.2 基本的变量和常量类型
3.2.1 整型变量与整型常量 3.2.2 浮点型变量与浮点型常量
3.2.3 字符型变量与字符型常量
3.2.4 变量类型转换
案例二:计算使用共享单车的费用
money = money + 20;
total=num*money; money 50 mum 10 total 500
3.1.3 运算符与表达式
算术运算符
表达式 语句
基本算术运算符
运算符 + * / % 示例 a+b a–b a*b a/b a%b 描述 a 和 b的和 a 和 b的差 a 和 b的积 a 除以 b所得到的商 a 除以 b所得到的余数 (a和b都必须是整数)
顺序程序设计
第三章 顺序结构程序设计
本章内容
3.1 顺序结构编程 3.2 基本的变量和常量类型
3.3 变量的存储
3.4 综合案例
3.1 顺序结构编程
三种基本结构:顺序结构、选择结构、循环结构
顺序结构:程序的执行顺序从上到下,逐行执行
3.1.1 顺序结构程序设计
案例一:手机微信发放普通红包
案例一:微信普通红包问题分析
money 30
mum 10
total
随机数
变量取值
变量的值在运算过程中可能会发生变化 例:int money = 30, num = 10, total;
money = money + 20;
money 50 mum 10 total
随机数
变量取值
变量的值在运算过程中可能会发生变化 例:int money = 30, num = 10, total;
第一步:定义变量money,num,total
第二步:输入单个金额和红包个数,分别存入
变量money和num中
第三步:计算总金额total = num * money
第四步:输出红包总金额total
3.1.2 变量使用
变量定义
变量赋值 变量取值
变量定义
变量类型 变量名称; 例: int num; float score; char sex; //定义整型变量num //定义单精度型变量score //定义字符型变量sex
案例二:计算使用共享单车的费用
问题描述:小明每天骑共享单车上下班,单程
骑车时间为20分钟,要求输入小明平均每月上
班天数,计算小明一年使用共享单车的总费用 (ofo共享单车个人用户收费标准为:1元/小时, 不满1小时按1小时结算)。
3.2.1 整型变量与整型常量
整型变量类型
类型 short int long 变量长度(单位:字节) 2 4 4 数值范围 -215 ~ 215-1 -231 ~ 231-1 -231 ~ 231-1
案例三:孩子身高预测程序运行结果
3.2.3 字符型变量与字符型常量
字符型变量类型 char:内存空间长度为1,值范围为-27 ~ 27 - 1
unsigned char:内存空间长度为1,取值范围为
0 ~ 28 -1
3.2.3 字符型变量与字符型常量
字符型常量
用单引号括起来的字符
例:'a'--'z' 'A'--'Z' '0'---'9' 大小写字母代表不同的字符常量 例:'a' 与 'A'是不同的字符 字符常量的值为其ASCII值 例:'a'的ASCII值为97
3.2.4 类型转换
自动类型转换
高 double long unsigned 低 说明: int char,short float
必定的转换 运算对象类型不同时转换
3.2.4 类型转换
强制类型转换 形式:(类型名)(表达式) 例子:int m; float n; m=(int)(3/2.0); n=(float)(5/2);
double:双精度型,内存空间长度为8,取值 范围为 -1.7*10-308 ~ 1.7*10308
3.2.2 浮点型变量与浮点型常量
浮点型常量两种形式
十进制数形式:数字必须有小数点 例:0.123 .123 123.0 0.0 指数形式:e或E之前必须有数字,指数必须为整数 例:1.23E4 /* 1.23 × 104 */
复合赋值运算符
a += b 等价于 a = a + b a -= b 等价于 a = a – b a *= b 等价于 a = a * b a /= b 等价于 a = a / b
a %= b 等价于 a = a % b
语句
语句:C程序中每条语句以分号结尾,用来完 成一个特定的操作。 例:printf("Morning"); 赋值语句:由表达式、赋值运算符以及分号一 起组成的语句。 例:total=money*num;
3.2.3 字符型变量与字符型常量
ASCII码:美国标准信息交换代码,共128个,包括 52个大小写英文字母、10个阿拉伯数字 和英文标点及一些控制符 48------57:0到9十个阿拉伯数字 65------90:26个大写英文字母 97-----122:26个小写英文字母
3.2.3 字符型变量与字符型常量
unsigned short
unsigned int unsigned long
2
4 4
0 ~ 216-1
0 ~ 232-1 0 ~ 232-1
3.2.1 整型变量与整型常量
整型常量三种形式
十进制:由数字0~9和正负号表示 八进制:由数字0开头,后接数字0~7 十六进制:由0x开头,后接0~9增自减运算符
自增自减运算符:++、--
作用:使变量值自加1或减1 种类:前置 ++i, --i 后置 i++, i-例如:int i=5, j, k; j=i++; j i k=++i; 5
7 10
k 7
表达式
表达式:由操作数、运算符、分组符号(括号) 等构成的式子。 例:money*num i*(j+k) 赋值表达式:由表达式与赋值运算符构成的式子, 形式为:变量名 = 表达式 例:total = money*num
85.67E-5 /* 85.67 × 10-5 */
案例三:孩子身高预测算法设计
第一步:定义浮点型变量f_height,m_height,d_height
第二步:输入f_height,m_height的值
第三步:计算d_height = ( f_height*0.96+ m_height)/2.0 第四步:输出预测女儿身高d_height
数学分析:设x为单个红包的金额,y为红包 个数,则红包总金额z的计算公式为 z= x * y
编程思路:在C程序中,通过使用变量来记录 运算过程中的数据,比如变量money表示单个 红包的金额、变量num表示红包个数等,但是 变量在使用之前必须先定义 变量在使用之前必须先定义。
案例一:微信普通红包算法设计
#include<stdio.h> int main() { int days, total; printf("请输入小明每月工作天数:"); scanf("%d",& days); total = 12 * days * (1+1); printf("小明一年骑车的费用为:%d元\n", total); return 0; }