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

上传人(卖家):三亚风情 文档编号:2976445 上传时间:2022-06-18 格式:PPT 页数:28 大小:360.50KB
下载 相关 举报
第3章顺序结构程序设计课件.ppt_第1页
第1页 / 共28页
第3章顺序结构程序设计课件.ppt_第2页
第2页 / 共28页
第3章顺序结构程序设计课件.ppt_第3页
第3页 / 共28页
第3章顺序结构程序设计课件.ppt_第4页
第4页 / 共28页
第3章顺序结构程序设计课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

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

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

3、句l转向语句: break语句、continue语句、goto语句、return语句3.1.3 控制语句7 调用函数的语句,由函数名、实际参数加上分号“;”组成。l 其一般形式为: 函数名(实际参数表);例如: printf(“How do you do? ”); /*调用库函数,输出字符串How do you do? */3.1.4 函数调用语句8 仅有一个分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体等。例如: while(getchar()!=n) ;l顺序结构:结构中的语句按它们在程序中出现的顺序逐条执行,这种程序结构称为顺序结构。3.1.5

4、 空语句9l3.2.1数据输入输出概念 输入:计算机通过键盘、扫描仪、磁盘、光盘等把数据送入计算机内部称之为“输入” 输出:计算机通过显示器、打印机等外设将数据显示、打印或存放在磁盘上称之为“输出”C语言无输入输出语句,I/O操作由函数实现#include 或#include “stdio.h” 注:C语言编译系统提供的标准库函数存放在不同的头文件(也称标题文件)中。使用时必须在程序的开头用预编译命令“#include”将头文件包含到用户程序中去。形式为:#include 或#include “头文件” 输入输出函数存放在标准输入输出头文件stdio.h中。 3.2 数据的输入输出10l字符输

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

6、显示器)上返值:正常,为显示的代码值; 出错,为EOF(-1)#include main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);运行结果:AB3.2.2 字符数据的输入输出(续)123.2.2 字符数据的输入输出(续)#include void main(void) int a1,a2; /* 定义两个整型变量*/ char c1,c2; /* 定义两个字符变量*/ a1=97;a2=65; c1=a;c2=A; putchar(a1);putchar(a2); putchar(c1);putchar(c2

7、); putchar(n); /* 输出字符及换行符*/ a1=getchar(); c1=getchar(); /* 从键盘输入字符*/ putchar(a1); putchar(t); putchar(c1); /* 输出字符及制表符*/运行结果:输出:aAaA输入:97 输出:9 7/* 调用系统函数getchar()和putchar() */13l格式输出函数格式:printf(“格式控制字符串”,输出表列);功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1)l输出表列:要输出的数据(常量、变量和表达式。可以没有,多个时以“,”分隔)l格式控制字符串:

8、包含3种信息 格式说明: %修饰符格式字符 用于指定输出格式 转义字符:输出转义字符所代表的控制代码或特殊字符 普通字符:原样输出3.2.3 格式输入与输出143.2.3 格式输入与输出(续)字符 说 明 举 例 显 示d,ix,Xoucse,Efg%十六进制无符号整数不带符号十进制整数十进制整数指数形式浮点小数单一字符字符串八进制无符号整数小数形式浮点小数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

9、(“%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=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+02567.789000567.789%G 说明:F格式字符要用小写F格式字符与输出项个数应相同,按先后顺序一一对应F输出转换:格式字符与输出项类型不一致,自动按指定格式输出例:main() unsigned int u=65535;

10、 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=411 11 11 11 11 11 11 1165535输出结果:u=-115printf()函数附加格式说明符(修饰符).n对实数,指定小数点后位数(四舍五入)对字符串,指定实际输出位数修饰符功 能m输出数据域宽,数据长度m,左补空格;否则按实际输出输出数据在域内左对齐(缺省右对齐)-指定在有符号数的正数前显示正号(+)+输出数值时指定左面不使用的空位置自动填00在八进制和十六进制数前显示前导0

11、,0 x#在d,o,x,u前,指定输出精度为long型在e,f,g前,指定输出精度为double型l163.2.3 格式输入与输出(续)例:int a=1234; float f=123.456; char ch=a; printf(“%8d,%2dn”,a,a); printf(“%f,%8f,%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,

12、1234123.456000,123.456000, 123.5,123.46,1.23e+02 aHello,world! Hello,world! HelloHelloHel 17例:int a=1234; float f=123.456; static char c =“Hello,world!”; printf(“%8d,%-8dn”,a,a); printf(“%10.2f,%-10.1fn”,f,f); printf(“%10.5s,%-10.3sn”,c,c);运行结果:修饰符 -举例1234,1234 123.46,123.5Hello,Hel 3.2.3 格式输入与输出(续)

13、183.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,%#Xn”,a,a,a,a); 修饰符#举例例:long a=65536; printf(“%d,%8ldn”,a, a); 修饰符l举例00 00 00 00 00 00 00 0100 00 00 00 00 00 00 00/*00001234*/*

14、0000123.46*/*000+1234*/*000+123.56*/*173,0173,7B,0X7B*/*0, 65536*/ 193.2.3 格式输入与输出(续)例:格式输出函数的用法。#include void main(void) int a=12; float b=123.12345678; double c=12345678.1234567; char d=p; printf(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(

15、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,p203.2.3 格式输入与输出(续)例:阅读下面程序,写出程序运行结果。 #includ evoid main() int a=-1; long b=-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,

16、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=37777777777,b=ffffffff,b=4294967295f=123.456001,f=123.46,f=123.46f=1.23456e+02,f=123.456c=

17、a,c= a,c=a ,c=97,c=As1=12345,s2= ABC,s3=12321l格式输入函数格式: scanf(“格式控制字符串”,地址表列);功能:按指定格式从键盘读入数据,存入地址表列指定的存储单元中,并按回车键结束返值:正常,返回输入数据个数,出错,返回0l地址列表:由若干个等待输入的数据所对应的内存单元地址组成。地址表之间用逗号分隔,若是变量的地址,常在变量前加&(取地址运算符)l格式控制字符串与printf()函数中的含义相似l格式字符: d,i,o,x,u,c,s,f,e例:scanf(“%d”,&a); 输入:10 则 a=10例:scanf(“%x”,&a); 输入

18、:11 则 a=1722例: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”,&c1,&c2); 输入 abcde 则ac1, d c2例:scanf(“%2d %*3d %2d”,&a,&b); 输入 12 345 67 则12a, 67b例:scanf(“

19、%3d%*4d%f”,&k,&f); 输入 12345678765.43 则123k, 8765.43fscanf()函数附加格式说明符(修饰符)23输入分隔符的指定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例:scanf(“%d,%d”,&a,&b) 输入 3,4 则3a, 4 b例:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12

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

21、 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 格式输入与输出(续)25#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 例题精解26#include #include main() float a,b,

22、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)()()()(21csbsassareacbas变量定义输入数据文件包含预处理命令输出数据3.3 例题精解27#include #inc

23、lude 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.00aacbbx24204022acbcbxax方程的根,设例:求28例:从键盘输入小写字母,用大写字母输出。#include stdio.hmain() char c; c=getchar(); printf(%c,%dn,c,c); c=c-32; printf(%c,%dn,c,c);输入:b 输出:b,98 B,66

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第3章顺序结构程序设计课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|