收藏 分享(赏)

04 第四章 顺序程序设计.ppt

上传人:hwpkd79526 文档编号:9109146 上传时间:2019-07-24 格式:PPT 页数:42 大小:802.50KB
下载 相关 举报
04 第四章 顺序程序设计.ppt_第1页
第1页 / 共42页
04 第四章 顺序程序设计.ppt_第2页
第2页 / 共42页
04 第四章 顺序程序设计.ppt_第3页
第3页 / 共42页
04 第四章 顺序程序设计.ppt_第4页
第4页 / 共42页
04 第四章 顺序程序设计.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

1、第四课: 顺序程序设计,本章主要介绍的内容:,1. C 程序语句的分类,2. C 程序结构的分类,3. 赋值语句,4. 数据输入与输出,本章重点,C程序结构:,C程序,源程序文件1,源程序文件i,预编译命令,函数1,函数n,说明部分,执行部分(语句),2. 函数调用语句:,如: Max(2,4);,C 程序语句,1. 表达式语句,如: i+; x+y; 赋值语句: i=i+1;,3. 空语句: 任何事情都不做。,C程序语句可分为五大类:,如: ;,4. 控制语句改变语句的执行顺序,if ( ) else (条件),for ( ) (循环),while ( ) (循环),do while (循环

2、),switch (多分支选择),( )表示条件, 表示语句,break (中止整个循环),return ( 函数返回),限定转向(无条件转向)语句,终止程序运行语句,无条件转移语句,goto,exit,5. 复合语句(语句体),用 括起来的一系列语句。如: z=x+y;t=z/100;printf(“%d”, t);,结构化程序设计概念,从结构化程序设计角度出发,程序只有三种结构:,顺序结构,选择结构,循环结构,1. 顺序结构,表示,先执行A, 再执行B.,例: main() /*主函数*/ int a,b,c; /*定义变量*/ scanf(“%d,%d“, /*输出c的值*/,2. 选择

3、结构,表示为,存在某条件P, 若P为真,则执行A, 否则执行B。,例: if(xy)printf(“Max=%d” ,x);else printf(“Max=%d” ,y);,另一种选择结构多分支结构.,switch (grade) case A:printf(“85-100n“); break;case B: printf( “70-84n“); break;case C: printf( “60-69n“); break;case D: printf( “60n“); break;default: printf( “Errorn“);,3. 循环结构,表示为,(1) 当型结构当P条件成立时

4、(T),反复执行A,直到P为“ 假”时才停止循环.,有两种结构:当型和直到型,例: while (i=100) sum=sum+i; i+; ,(2) 直到型,先执行A, 再判断P,若为F,再执行A,如此反复,直到P为F.,已证明: 上述三种结构组成的程序可以解决全部的问题,所以任何一种高级语言都具备上述三种结构。,例: do sum=sum+i; i+; while (i=100);,赋值运算符和赋值表达式,赋值运算符:赋值符号“=”就是赋值运算符。 赋值表达式:由赋值运算符组成的表达式称为赋值表达式。一般形式:变量赋值符表达式 赋值的含义:将赋值运算符右边表达式的值存放到左边变量名标识的存

5、储单元中。,例如:x=10+y; 赋值表达式的求解过程是:(1)先计算赋值运算符右侧的“表达式”的值 l (2)将赋值运算符右侧“表达式”的值赋值给左侧的变量。(3)整个赋值表达式的值就是被赋值变量的值。,随机数,将 表达式的值 存放到 变量名标识的存储单元中:,输入/输出及其C语言的实现,计算机由主机(CPU、内存),外围设备(输入/输出设备),接口组成。,C语言本身不提供输入/输出语句,输入/输出操作由函数实现。C函数库中有一批“标准输入/输出函数”,它是以标准的输入/输出设备为 输入/输出对象的。其中有:putchar(输出字符),getchar(输入字符), printf(格式化输出)

6、,scanf(格式化输入),puts(输出字符串),gets( 输入字符串)。,格式输入/输出,printf的一般形式,printf(格式控制序列,输出表列);,输出表列 用“ ,”号隔开的变量或表达式序列,其变量的值按对应的格式控制符所指定的格式输出。,printf(格式控制,输出项表);,普通字符(原样输出),格式说明,% +/- 0 m.n l 格式字符,右对齐,左对齐,最小宽度,左补0,小数位数,长整型,d符十整 o无八整 x无16整 c字符 s字串 f小六 e指六,格式控制序列用双引号“ .”括起来的格式符序列。,格式控制序列由格式说明符和普通字符组成。,2. 普通字符原样输出,即需

7、要原样输出的字符。例子中的逗号和换行符。,1. 格式说明符:由%加格式字符组成如: %f, %d等它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式说明项。,是需要输出的一些数据项,可以是表达式,输出列表:,例如:假如a=3,b=4,那么printf(“a=%d b=%d”,a,b);输出a=3 b=4。其中两个“%d”是格式说明,表示输出两个整数,分别对应变量a,b,“a=”,“b=”是普通字符,原样输出。,printf函数的一般形式可以表示为: printf(参数1、参数2、参数3、参数n) printf函数的功能是将参数2-参数n按照参数1给定的格式输出。,

8、格式字符 :,对于不同类型的数据项应当使用不同的格式字符构成的格式说明项。常用的有以下几种格式字符:,(1)d格式符。用来输出十进制整数。有以下几种用法: l %d,按照数据的实际长度输出 l %md,m指定输出字段的宽度(整数)。如果数据的位数小于m,则左端补以空格(右对齐),若大于m,则按照实际位数输出。 l %-md,m指定输出字段的宽度(整数)。如果数据的位数小于m,则右端补以空格(左对齐),若大于m,则按照实际位数输出。 %ld,输出长整型数据,也可以指定宽度%mld。,(2)x格式符。以十六进制形式输出整数。与o格式一样,不出现负号。 (3)u格式符。用来输出unsigned无符号

9、型数据,即无符号数,以十进制形式输出。 一个有符号整数可以用%u形式输出,反之,一个unsigned型数据也可以用%d格式输出,(4)O格式符。以八进制形式输出整数。注意是将内存单元中的各位的值按八进制形式输出,输出的数据不带符号,即将符号位也一起作为八进制的一部分输出。 例: int a=-1; printf(“%d,%o,%x”,a,a,a); -1的原码:1000,0000,0000,0001。 -1在内存中的补码表示为: 1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff 输出:-1,177777,ffff -1是十进制

10、,177777是八进制,ffff是十六进制,(5)c格式符。用来输出一个字符。一个整数只要它的值在0-255范围内,也可以用字符形式输出。反之,一个字符数据也可以用整数形式输出。 main() char c=a;int i=97;printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i); 运行结果: a,97 a,97,(6)s格式符。用来输出一个字符串。有几种用法: l %s,输出字符串 l %ms,输出的字符串占m列,如果字符串长度大于m,则字符串全部输出;若字符串长度小于m,则左补空格(右对齐)。 l %-ms,输出的字符串占m列,如果字符串长度大于m,则字符串

11、全部输出;若字符串长度小于m,则右补空格(左对齐)。 l %m.ns,输出占m列,但只取字符串左端n个字符,左补空白(右对齐)。 %-m.ns,输出占m列,但只取字符串左端n个字符,右补空白(左对齐)。,(7)f格式符。用来输出实数(包括单、双精度,单双精度格式符相同),以小数形式输出。有以下几种用法%f,不指定宽度,使整数部分全部输出,并输出6位小数。注意,并非全部数字都是有效数字,单精度实数的有效位数一般为7位(双精度16位)。 %m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,左端补空格(右对齐)。%-m.nf,指定数据占m列,其中有n位小数。如果数值长度小于m,右端补空格

12、(左对齐)。,(8)e格式符,以指数形式输出实数。可用以下形式: l %e,不指定输出数据所占的宽度和小数位数,由系统自动指定,如6位小数,指数占5位-e占1位,指数符号占1位,指数占3位。数值按照规格化指数形式输出(小数点前必须有而且只有1位非0数字)。 例如:1.234567e+002。(双精度) %m.ne和%-m.ne,m总的宽度,n小数位数。,scanf函数,1、scanf函数的一般格式: scanf(格式控制字符串,地址列表) 其中: (1)格式控制字符串的含义与printf类似,它指定输入数据项的类型和格式。(2)地址列表是由若干个地址组成的列表,可以是变量的地址(&变量名)或字

13、符串的首地址。,例:,main() int a,b,c;scanf(“%d%d%d”, ,&是地址运算符,&a指变量a的地址。scanf的作用是将键盘输入的数据保存到&a,&b,&c为地址的存储单元中,即变量a,b,c中。,格式说明与printf函数中的格式说明相似,以%开始,以一个格式字符结束,中间可以插入附加字符。,其它输入/输出函数 (#include ),putchar函数(字符输出函数) 一般形式:putchar(字符表达式); 功能:向终端(显示器)输出一个字符(可以是可显示的字符,也可以是控制字符或其它转义字符)。 例如: putchar(y); putchar(n); putc

14、har(101); putchar();,getchar函数(字符输入函数) 一般形式:c=getchar(); 功能:从终端(键盘)输入一个字符,以回车键确认。函数的返回值就是输入的字符。,puts函数(字符串、字符数组中字符串输出函数) 一般形式:puts(char *str); 功能:将字符串或字符数组中存放的字符串输出到显示器上。 例如:putstr(“ChinanBeijingn”);,gets函数(字符串输入函数) 一般形式:gets(char *str); 功能:接收从键盘输入的一个字符串,存放在字符数组中。 例如: char s81; gets(s);,顺序结构程序设计举例,例

15、: 输入三角形的三边长,求三角形面积。 为简单起见,设输入的三边长a,b,c能构成三角形。从数学知识已知求三角形面积的公式为:,#include main() float a,b,c,s,area;scanf(“%f%f%f“, ,【例】已知圆半径,圆柱高,求圆周长,圆柱体积。,main()float r,h,l,v,pi;pi=3.1415926;scanf(“%f,%f”, ,逗号运算符,逗号表达式:用逗号运算符把两个或多个算术表达式连接起来构成逗号表达式。 表达式1,表达式2,-注: 求值过程从左到右,逐个求表达式的值,最后整个表达式的值取最右侧的表达式的值。 for 循环语句中常用。 -优先级别最低,y=(b=2,3*2) (y=b=3,3*b)a=(b=2,+b,b+5),/y值为3,表达式值为9,/ y值为6,表达式值为6,/a值为8,表达式值为8,作业1:,自己设计一个程序,并运行。 参考题目:(1)用程序过滤键盘输入的非英文字符。(2)在屏幕上打印2008年年历。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报