第3章顺序结构程序设计课件.ppt

上传人:飞****2 文档编号:82413211 上传时间:2023-03-25 格式:PPT 页数:28 大小:360.50KB
返回 下载 相关 举报
第3章顺序结构程序设计课件.ppt_第1页
第1页 / 共28页
第3章顺序结构程序设计课件.ppt_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《第3章顺序结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《第3章顺序结构程序设计课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章顺序结构程序设计主要内容结构化程序设计的基本思想是:任何程序都可以采用三种基本结构来构造,这三种基本结构是:顺序结构、分支结构和循环结构。顺序结构是最简单也是最基本的程序结构,它按照语句出现的先后顺序依次执行程序。lC语言中的语句l数据的输入输出23.1语言中的语句C语句大致可分为以下五类:表达式语句函数调用语句控制语句复合语句空语句33.1.1表达式语句表达式语句由表达式加上分号“;”组成。l其一般形式为:表达式;l执行表达式语句就是计算表达式的值。例如:x=y+z;/*赋值语句*/y+z;/*加法运算语句,但计算结果不能保留,无实际意义*/i+;/*自增1语句,i值增1*/4把多个语

2、句用括号括起来组成的一个语句称复合语句。l其一般形式为:语句说明;可执行语句;l在程序中应把复合语句看成是单条语句,而不是多条语句。例如:x=y+z;a=b+c;printf(“%d%d”,x,a);L复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不要加分号。复合语句可嵌套。3.1.2复合语句一条语句5控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。语言有九种控制语句。可分成以下三类:l条件判断语句:if语句、switch语句l循环执行语句:while语句、dowhile语句、for语句l转向语句:break语句、continue语句、goto语句、

3、return语句3.1.3控制语句6调用函数的语句,由函数名、实际参数加上分号“;”组成。l其一般形式为:函数名(实际参数表);例如:printf(“Howdoyoudo?”);/*调用库函数,输出字符串How do you do?*/3.1.4函数调用语句7仅有一个分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体等。例如:while(getchar()!=n);l顺序结构:结构中的语句按它们在程序中出现的顺序逐条执行,这种程序结构称为顺序结构。3.1.5空语句8l3.2.1数据输入输出概念输入:计算机通过键盘、扫描仪、磁盘、光盘等把数据送入计算机内部

4、称之为“输入”输出:计算机通过显示器、打印机等外设将数据显示、打印或存放在磁盘上称之为“输出”C语言无输入输出语句,I/O操作由函数实现#include或#include“stdio.h”注:C语言编译系统提供的标准库函数存放在不同的头文件(也称标题文件)中。使用时必须在程序的开头用预编译命令“#include”将头文件包含到用户程序中去。形式为:#include或#include“头文件”输入输出函数存放在标准输入输出头文件stdio.h中。3.2数据的输入输出9l字符输入函数格式:getchar()功能:从标准输入设备(键盘)读一字符返值:正常,返回读取的代码值;出错,返回EOF(-1)注

5、意:函数没有参数,因此本身不能提供有效存放所读字符的变量,该函数一般作为表达式的一部分使用。#include main()int c;printf(Enter a character:);c=getchar();printf(%c-hex%xn,c,c);运行结果:3.2.2字符数据的输入输出Enter a character:AA-hex4110l字符输出函数格式:putchar(c)参数:c为字符常量、变量或表达式功能:把一个字符c输出到标准输出设备(显示器)上返值:正常,为显示的代码值;出错,为EOF(-1)#include main()int c;char a;c=65;a=B;put

6、char(c);putchar(n);putchar(a);运行结果:AB3.2.2字符数据的输入输出(续)113.2.2字符数据的输入输出(续)#includevoidmain(void)inta1,a2;/*定义两个整型变量*/charc1,c2;/*定义两个字符变量*/a1=97;a2=65;c1=a;c2=A;putchar(a1);putchar(a2);putchar(c1);putchar(c2);putchar(n);/*输出字符及换行符*/a1=getchar();c1=getchar();/*从键盘输入字符*/putchar(a1);putchar(t);putchar(c

7、1);/*输出字符及制表符*/运行结果:输出:aAaA输入:97输出:97/*调用系统函数getchar()和putchar()*/12l格式输出函数格式:printf(“格式控制字符串”,输出表列);功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1)l输出表列:要输出的数据(常量、变量和表达式。可以没有,多个时以“,”分隔)l格式控制字符串:包含3种信息格式说明:%修饰符格式字符用于指定输出格式转义字符:输出转义字符所代表的控制代码或特殊字符普通字符:原样输出3.2.3格式输入与输出133.2.3格式输入与输出(续)字符说明举例显示d,ix,Xoucse,E

8、fg%十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数e和f中较短一种百分号本身printf()格式说明字符:int a=567;printf(“%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”,a);float a=56

9、7.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789%G说明:F格式字符要用小写F格式字符与输出项个数应相同,按先后顺序一一对应F输出转换:格式字符与输出项类型不一致,自动按指定格式输出例:main()unsigned int u=65535;printf(”u=%dn,u);例:int a=3,b=4;printf(“%d%dn”,a,b);printf(“a=%d,b=%dn”,a,b);输出结果:3 4 a=3,b=4111111111111111165535输出结果:u=-114pri

10、ntf()函数附加格式说明符(修饰符).n对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数修饰符功 能m输出数据域宽,数据长度m,左补空格;否则按实际输出输出数据在域内左对齐(缺省右对齐)-指定在有符号数的正数前显示正号(+)+输出数值时指定左面不使用的空位置自动填00在八进制和十六进制数前显示前导0,0 x#在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型l153.2.3格式输入与输出(续)例:int a=1234;float f=123.456;char ch=a;printf(“%8d,%2dn”,a,a);printf(“%f,%8

11、f,%8.1f,%.2f,%.2en”,f,f,f,f,f);printf(“%3cn”,ch);运行结果:例:static char a=“Hello,world!”printf(“%sn%15sn%10.5sn%2.5sn%.3sn”,a,a,a,a,a);运行结果:修饰符m.n举例1234,1234123.456000,123.456000,123.5,123.46,1.23e+02 aHello,world!Hello,world!HelloHelloHel 16例:int a=1234;float f=123.456;static char c=“Hello,world!”;prin

12、tf(“%8d,%-8dn”,a,a);printf(“%10.2f,%-10.1fn”,f,f);printf(“%10.5s,%-10.3sn”,c,c);运行结果:修饰符-举例1234,1234123.46,123.5Hello,Hel3.2.3格式输入与输出(续)173.2.3格式输入与输出(续)例:int a=1234;float f=123.456;printf(“%08dn”,a);printf(“%010.2fn”,f);printf(“%0+8dn”,a);printf(“%0+10.2fn”,f);修饰符0、+举例例:int a=123;printf(“%o,%#o,%X,

13、%#Xn”,a,a,a,a);修饰符#举例例:long a=65536;printf(“%d,%8ldn”,a,a);修饰符l举例00000000000000010000000000000000/*00001234*/*0000123.46*/*000+1234*/*000+123.56*/*173,0173,7B,0X7B*/*0,65536*/183.2.3格式输入与输出(续)例:格式输出函数的用法。#include void main(void)int a=12;float b=123.12345678;double c=12345678.1234567;char d=p;printf(

14、a=%d,%5d,%o,%xn,a,a,a,a);printf(b=%f,%lf,%5.4lf,%en,b,b,b,b);printf(c=%lf;%f,%8.4lfn,c,c,c);printf(d=%c,%8cn,d,d);程序运行结果:a=12,12,14,cb=123.123459,123.123459,123.1235,1.23123e+02c=12345678.123457,12345678.123457,12345678.1235d=p,p193.2.3格式输入与输出(续)例:阅读下面程序,写出程序运行结果。#includ evoid main()int a=-1;long b=

15、-1;float f=123.456;char c=a;printf(a=%d,a=%o,a=%x,a=%un,a,a,a,a);printf(b=%ld,b=%lo,b=%lx,b=%lun,b,b,b,b);printf(f=%f,f=%7.2f,f=%-7.2fnf=%e,f=%gn,f,f,f,f,f);printf(c=%c,c=%3c,c=%-3c,c=%d,c=%cn,c,c,c,a,65);printf(s1=%s,s2=%7.3s,s3=%-7.3sn,12345,ABCD,12345);运行结果:a=-1,a=177777,a=ffff,a=65535b=-1,b1=377

16、77777777,b=ffffffff,b=4294967295f=123.456001,f=123.46,f=123.46f=1.23456e+02,f=123.456c=a,c=a,c=a,c=97,c=As1=12345,s2=ABC,s3=123203.2.3格式输入与输出(续)l格式输入函数格式:scanf(“格式控制字符串”,地址表列);功能:按指定格式从键盘读入数据,存入地址表列指定的存储单元中,并按回车键结束返值:正常,返回输入数据个数,出错,返回0l地址列表:由若干个等待输入的数据所对应的内存单元地址组成。地址表之间用逗号分隔,若是变量的地址,常在变量前加&(取地址运算符)l

17、格式控制字符串与printf()函数中的含义相似l格式字符:d,i,o,x,u,c,s,f,e例:scanf(“%d”,&a);输入:10 则 a=10例:scanf(“%x”,&a);输入:11 则 a=1721例:scanf(“%4d%2d%2d”,&yy,&mm,&dd);输入 19991015 则1999yy,10 mm,15 ddl修饰符功 能hm*用于d,o,x前,指定输入为short型整数用于d,o,x前,指定输入为long型整数用于e,f前,指定输入为double型实数指定输入数据宽度,遇空格或不可转换字符则结束抑制符,指定输入项读入后不赋给变量例:scanf(“%3c%2c”

18、,&c1,&c2);输入 abcde 则ac1,d c2例:scanf(“%2d%*3d%2d”,&a,&b);输入 1234567 则12a,67b例:scanf(“%3d%*4d%f”,&k,&f);输入 12345678765.43 则123k,8765.43fscanf()函数附加格式说明符(修饰符)22输入分隔符的指定l一般以空格、TAB或回车键作为分隔符l其它字符做分隔符:格式串中两个格式符间字符例:scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%dn”,a,b,c);输入 123 123 123 输出 a=123,b=83,c=291例

19、:scanf(“%d,%d”,&a,&b)输入 3,4 则3a,4 b例:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入 a=12,b=24,c=36 例:scanf(“%d:%d:%d”,&h,&m,&s);输入 12:30:45 则12 h,30 m,45 s3.2.3格式输入与输出(续)23G格式控制字符串中的普通字符,在输入时要在相应位置输入相同的字符G输入数据时,遇以下情况认为该数据结束:F遇空格、TAB、或回车F遇宽度结束F遇非法输入说明:l用“%c”格式符时,空格和转义字符作为有效字符输入如:scanf(“%c%c%c”,&c1,&c2,&c3);若输入a

20、bc 则ac1,c2,b c3如:scanf(“%d%c%f”,&a,&b,&c);若输入1234a123o.26 则 1234 a,a b,123 c例:scanf(%d,%d,&a,&b);/*应输入3,4*/scanf(a=%d,b=%d,&a,&b);/*应输入a=3,b=4形式*/3.2.3格式输入与输出(续)24#include void main()char c1,c2;int n1,n2;c1=getchar();c2=getchar();n1=c1-0;n2=n1*10+(c2-0);printf(“%dn”,n2);例:有以下程序,运行时输入:23,则输出结果为。233.3

21、例题精解25#include#include main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn,a,b,c,s);printf(area=%7.2fn,area);例:输入三角形边长,求面积输入:3,4,6 输出:a=3.00,b=4.00,c=6.00 s=6.50 area=5.33变量定义输入数据文件包含预处理命令输出数据3.3例题精解26#include#includ

22、e main()float a,b,c,disc,x1,x2,p,q;scanf(a=%f,b=%f,c=%f,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf(nnx1=%5.2fnx2=%5.2fn,x1,x2);输入:a=1,b=3,c=2 输出:x1=-1.00 x2=-2.0004022-=+acbcbxax方程的根,设例:求27例:从键盘输入小写字母,用大写字母输出。#include stdio.hmain()char c;c=getchar();printf(%c,%dn,c,c);c=c-32;printf(%c,%dn,c,c);输入:b 输出:b,98 B,6628

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁