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

上传人:牧羊曲112 文档编号:1488659 上传时间:2022-12-01 格式: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页
点击查看更多>>
资源描述

《第3章顺序结构程序设计课件.ppt》由会员分享,可在线阅读,更多相关《第3章顺序结构程序设计课件.ppt(28页珍藏版)》请在三一办公上搜索。

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

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

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

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

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-hex41,11,字符输出函数格式: putchar(c)参数: c为字符常量、变量或表达式功能:把一个字符c输出

6、到标准输出设备(显示器)上返值:正常,为显示的代码值; 出错,为EOF(-1),#include main() int c; char a; c=65; a=B; putchar(c); putchar(n); putchar(a);,运行结果:,AB,3.2.2 字符数据的输入输出(续),12,3.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

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

8、个时以“,”分隔)格式控制字符串:包含3种信息格式说明: %修饰符格式字符 用于指定输出格式转义字符:输出转义字符所代表的控制代码或特殊字符 普通字符:原样输出,3.2.3 格式输入与输出,14,3.2.3 格式输入与输出(续),d,i,x,X,o,u,c,s,e,E,f,g,%,十六进制无符号整数,不带符号十进制整数,十进制整数,指数形式浮点小数,单一字符,字符串,八进制无符号整数,小数形式浮点小数,e和f中较短一种,百分号本身,rintf()格式说明字符:,int a=567;printf ( “%d”,a);,int a=255;printf(“%x”,a);,int a=65;prin

9、tf(“%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=567.789;printf(“%g”,a);,printf(“%”);,567,ff,101,567,A,ABC,5.677890e+02,567.789000,567.789,%,说明:格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致

10、,自动按指定格式输出,例: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=4,输出结果:u=-1,15,rintf()函数附加格式说明符(修饰符),16,3.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

11、,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 a,Hello,world! Hello,world! HelloHelloHel,17,例:int a=1234; float f=123.456; static char c =“Hello,world!”; printf(“%8

12、d,%-8dn”,a,a); printf(“%10.2f,%-10.1fn”,f,f); printf(“%10.5s,%-10.3sn”,c,c);,运行结果:,修饰符 -举例,1234,1234123.46,123.5Hello,Hel,3.2.3 格式输入与输出(续),18,3.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; prin

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

14、; 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(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,p,20,3.2.3 格式输入与输出(续),例:阅读下面程序,写出程序运行结果。,#includ evoid ma

15、in() 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,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=1

16、77777,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=a,c= a,c=a ,c=97,c=As1=12345,s2= ABC,s3=123,21,3.2.3 格式输入与输出(续),格式输入函数格式: scanf(“格式控制字符串”,地址表列);功能:按指定格式从键盘读入数据,存入地址表列指定的存储单元中,并按回车键结束返值:正常,返回输入数据个数,出错,返回0地址列表:由若干个等待输入的数据所对应的内存单元地址组

17、成。地址表之间用逗号分隔,若是变量的地址,常在变量前加&(取地址运算符)格式控制字符串与printf()函数中的含义相似格式字符: d,i,o,x,u,c,s,f,e,例:scanf(“%d”, 输入:10 则 a=10,例:scanf(“%x”, 输入:11 则 a=17,22,例:scanf(“%4d%2d%2d”, 输入 19991015 则1999yy, 10 mm, 15 dd,例:scanf(“%3c%2c”, 输入 abcde 则ac1, d c2,例:scanf(“%2d%*3d%2d”, 输入 1234567 则12a, 67b,例:scanf(“%3d%*4d%f”, 输入

18、 12345678765.43 则123k, 8765.43f,scanf()函数附加格式说明符(修饰符),23,输入分隔符的指定一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符,例:scanf(“%d%o%x”, 输入 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=12,b=24,c=36 ,例:scanf(“%d:%d:%d”, 输入 12:30:45 则12 h, 30 m, 45 s,3.2.3 格式

19、输入与输出(续),24,格式控制字符串中的普通字符,在输入时要在相应位置输入相同的字符,输入数据时,遇以下情况认为该数据结束:遇空格、TAB、或回车遇宽度结束遇非法输入,说明:用“%c”格式符时,空格和转义字符作为有效字符输入,如:scanf(“%c%c%c”,若输入abc 则ac1, c2, b c3,如:scanf(“%d%c%f”,若输入1234a123o.26 则 1234 a, a b, 123 c,例:scanf(%d,%d, /*应输入a=3,b=4形式*/,3.2.3 格式输入与输出(续),25,#include void main() char c1,c2; int n1,n

20、2; c1=getchar(); c2=getchar(); n1=c1-0; n2=n1*10+(c2-0); printf(“%dn”,n2);,例:有以下程序,运行时输入:23 ,则输出结果为。,23,3.3 例题精解,26,#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,例:输入三角形边长,求面积,输入:3,4,6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33,3.3 例题精解,27,#include #include main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,输入:a=1,b=3,c=2 输出:x1=-1.00 x2=-2.00,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,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号