第三章顺序程序设计_第1页
第三章顺序程序设计_第2页
第三章顺序程序设计_第3页
第三章顺序程序设计_第4页
第三章顺序程序设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12 顺序结构顺序结构 分支结构分支结构 循环结构循环结构C语言用于顺序结构的基本语句是表达式语句、复合语句和空语语言用于顺序结构的基本语句是表达式语句、复合语句和空语句。句。 3.1.1 表达式语句表达式语句3表达式;表达式; 【例例】a1; 【功能功能】完成计算表达式的值或将结果赋给某一变量的任务;完成计算表达式的值或将结果赋给某一变量的任务; 【例例】i+; 【例例】printf(“bye!”); 【例例】x=y+z;4 表达式语句中最常用的是表达式语句中最常用的是赋值表达式赋值表达式 ;);) 简单赋值:变量表达式;简单赋值:变量表达式; 多重赋值:变量多重赋值:变量1变量变量2变量变

2、量n表达式;表达式; 赋值表达式可以出现在任何表达式允许出现的地方,而赋赋值表达式可以出现在任何表达式允许出现的地方,而赋 值语句则不能;值语句则不能;x=(y=2)+(z=3+y);x=(y=2;)+(z=3+y;);正确正确错误错误53.1.2 复合语句复合语句 若干连续语句若干连续语句 【例例】 z=x; x=y; y=z; 中最后一个语句末尾的分号不能省略,并且在中最后一个语句末尾的分号不能省略,并且在 之外之外不能再加不能再加“;”。 【应用范围应用范围】复合语句主要用于选择结构和循环结构中。复合语句主要用于选择结构和循环结构中。返回返回63.1.3 空语句空语句; 【功能功能】一般

3、作为程序的转向点或作为循环语句中的空循环体;一般作为程序的转向点或作为循环语句中的空循环体;7C语言的输入和输出函数(原型放在头文件语言的输入和输出函数(原型放在头文件stdio.h中中):): putchar(字符输出);(字符输出); printf(格式输出);(格式输出); getchar(字符输入);(字符输入); scanf(格式输入);(格式输入);83.2.1 数据的输出数据的输出 1、putchar函数函数 在显示器上输出在显示器上输出字符。字符。 putchar (参数)(参数) 参数可以是一个字符型变量、一个整型变量或一个字参数可以是一个字符型变量、一个整型变量或一个字符型

4、常量(包括控制字符和转义字符)等。符型常量(包括控制字符和转义字符)等。 【例例】使用库函数使用库函数putchar()输出各种字符。()输出各种字符。9 include main( ) char ch1, ch2; int j; ch1=C; ch2=h; j=105;putchar(ch1);putchar(ch2);putchar(j);putchar(n);putchar(141); putchar(n);输出字符输出字符C C输出字符输出字符h h输出字符输出字符i i输出字符输出字符n n输出字符输出字符a a,141141是转义字符是转义字符输出换行输出换行10 2、printf

5、函数函数 1) printf(“格式控制字符串格式控制字符串”,输出项,输出项1,输出项,输出项2,) 将各输出项(可以是变量、常量、表达式)的值将各输出项(可以是变量、常量、表达式)的值按指定的格式输出到屏幕上。按指定的格式输出到屏幕上。 【例例】 printf( “”,x ); 2) printf函数中常用的格式控制函数中常用的格式控制 11格式字符格式字符 格式修饰格式修饰 格式说明总是由格式说明总是由“”字符开始字符开始标志、类型修饰、输标志、类型修饰、输出最小宽度和精度出最小宽度和精度说明输出项类型说明输出项类型 格式字符格式字符 见见P32表表3.1; 【例例】printf(“xd

6、,y=fn”,x,y);); 【例】【例】main()() char c=A; int x=1234; float y=-123.456789; printf(“|%c|%s|%d|%f|%e|n”,c,“Hello”,x,y,y); 12v 标志标志 -表示输出值左对齐,右边补空;表示输出值左对齐,右边补空; 【例例】 printf(”-d”,-24);); 运行结果:运行结果:-24 +表示输出结果右对齐,输出符号位;表示输出结果右对齐,输出符号位; 对对o格式输出时加前缀格式输出时加前缀0,对,对x格式输出时加前缀格式输出时加前缀0 x,对,对 e、g、f格式当结果有小数时才给出小数点;

7、格式当结果有小数时才给出小数点;13v 精度精度 m .nm .n 【例例】printfprintf(“8.1f8.1f”,123.45123.45);); 输出结果:输出结果: 123.5123.5v 输出宽度输出宽度 用十进制整数限定输出数据的位数:用十进制整数限定输出数据的位数: 【例例】printfprintf(“5d5d”,-24-24);); 运行结果:运行结果: -24-24数据总宽度小数位数14v 类型修饰类型修饰 h h表示输出项是短整型或无符号短整型;表示输出项是短整型或无符号短整型; l l表示输出项是长整型或无符号长整型;表示输出项是长整型或无符号长整型;【例例】 lo

8、ng int x long int x12345671234567; printfprintf(”|%ld|%d|%ld|%d|”, x, x, x, x); ; 输出结果:输出结果:|1234567|-10617|1234567|-10617|15 【例例】printfprintf函数应用举例。函数应用举例。 include include main( ) main( ) int x =28; int x =28; float y =-1.7; float y =-1.7; char c = char c =B B; ; double z =1.25e+7; double z =1.25e+

9、7; printf( printf(“x=%+5d, y=%-8.3fnx=%+5d, y=%-8.3fn”, x, y);, x, y); printf( printf(“|%c#%-5c|n|%c#%-5c|n”, c, c);, c, c); printf( printf(“z=%lfnz=%lfn”, z);, z); x= x= +28,y=-1.700+28,y=-1.700 |B#B|B#B | |Z=12500000.000000Z=12500000.000000163.2.2 数据的输入数据的输入 1、getchar函数函数cgetchar( ) 从键盘上读取从键盘上读取字符

10、;字符;【例例】include main( ) char ch; ch=getchar( ); printf(“%c:%dn”, ch, ch); include main( ) char ch; ch=getchar( ); printf(“c:%dn”, ch); 17 2、scanf函数函数 1)函数调用)函数调用 scanf(“格式控制字符串格式控制字符串”,输入项,输入项1,输入项,输入项2,) 按指定的格式接收由键盘输入的数据,并存入输入按指定的格式接收由键盘输入的数据,并存入输入项变量所在的内存单元中。项变量所在的内存单元中。 格式修饰格式修饰 格式字符格式字符 输入项必须为地址

11、引用:输入项必须为地址引用:&变量名变量名【例例】scanf(“%d, %d”, &x, &y);18 2)scanf函数中常用的格式控制函数中常用的格式控制 格式字符格式字符 见见P36表表3.3; 输入数据宽度输入数据宽度 用十进制整数设定输入数据的宽用十进制整数设定输入数据的宽 度,度,【例例】scanf(”5d”,&a);输入输入7654321 类型修饰符类型修饰符 类同于类同于printf函数;函数; 3)scanf函数的使用要点函数的使用要点 int x;scanf(”%d”,x);); 输入数据时,不允许规定精度输入数据时,不允许规定精度错误错误s

12、canf(”%d”,&x)19 输入数据时,数据与数据之间应使用分隔符;输入数据时,数据与数据之间应使用分隔符; 【例例】scanf(”d,d”,&x,&y);); 【例例】scanf(”dd”,&x,&y);); 按原样输入的字符在键入时不能遗漏,否则将导致数据按原样输入的字符在键入时不能遗漏,否则将导致数据 项与对应读入数据错位;项与对应读入数据错位; 【例例】scanf(“x=%d,y=%d”,&x,&y);正确的输入应该是正确的输入应该是x3,y4 键入数据的类型、宽度应该与格式控制中给定的相一致;键入数据的类型、宽度应该与格式控

13、制中给定的相一致; 例例 double a,b;scanf(”dd”,&a,&b);); 错误错误20 为了提高程序设计的质量和效率,现在普遍采用结构化程序设为了提高程序设计的质量和效率,现在普遍采用结构化程序设计方法。结构化程序由若干个基本结构组成。每一个基本结构可以计方法。结构化程序由若干个基本结构组成。每一个基本结构可以包含一个或若干个语句。包含一个或若干个语句。 见下图。先执行见下图。先执行A操作,再执行操作,再执行B操作,两者是顺操作,两者是顺序执行的关系。图是序执行的关系。图是ns结构化流程图。结构化流程图。21 【例例】输入三角形的三边长,求三角形面积。输入三角形

14、的三边长,求三角形面积。 设输入的三边长设输入的三边长a、b、c能构成三角形。从数学知识已知求三角形能构成三角形。从数学知识已知求三角形面积的公式为:面积的公式为: 其中其中s=(a+b+c)/2; include include main( ) float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s= (a+b+c) /2 ; area=sqrt(s*(s-a)*(s-b)*(s-c); 22 printf(a=%7.2f,b=%7.2f,c =%7.2f,s =%7.2fn, a,b,c,s); printf(area=%7.

15、2fn,area); 运行情况如下:输入运行情况如下:输入 3,4,6 a= 3.00,b= 4.00,c= 6.00,s= 6.50 area= 5.33 23【例例】编写程序,键盘输入一个三位整数,逆序输出之。编写程序,键盘输入一个三位整数,逆序输出之。 #include main( ) int a,i,j,k; printf(“Input datas:”); scanf(“%3d”,&a); printf(“output:%d%d%dn”,k,j,i); 24 【例例】不借助于第不借助于第3个变量,将键盘输入的两个整数赋予变量个变量,将键盘输入的两个整数赋予变量a和和b,程序输出

16、,程序输出a,b的原始值以及相互交换后的值。的原始值以及相互交换后的值。 include main( ) int a,b; printf(“Input a and b:”); scanf(“%d%d”,&a,&b); printf(“old a=%d b=%dn”,a,b); a=a+b; b=a-b; a=a-b; printf(“new a=%d b=%dn”,a,b); 686+8=1486+8=1414-8=614-6=8625负数的进转换负数的进转换 (1)负数十进制转换成八进制或十六进制负数十进制转换成八进制或十六进制如(如(-12)10=( )8=( )16第一步

17、:将第一步:将-12看成看成12,转换成二进制,转换成二进制 0000 0000 0000 1100第二步:取反加一第二步:取反加一 1111 1111 1111 0100第三步:转换成八进制是三位一结合:(第三步:转换成八进制是三位一结合:(177764)8 转换成十六进制是四位一结合:(转换成十六进制是四位一结合:(fff4)16(2)负数八进制或十六进制转换成十进制负数八进制或十六进制转换成十进制如(如(-12)8=( )10或或(-12)16=( )10注意:在此首先可以不看负号注意:在此首先可以不看负号将将12转换成二进制,对于八进制是一位展开为三位,转换成二进制,对于八进制是一位展开为三位,16进制是一位展开为四位。进制是一位展开为四位。得到:得到:八进制转换成的二进制:八进制转换成的二进制:000 000 000 001 010 利用二进制化十进制的公式得出利用二进制化十进制的公式得出1*23+1*21=10 所以所以(-12)8=(-10)10 16进制转换成的二进制:进制转换成的二进制:0000 0000 0001 0010 利用二进制化十进制的公式得出利用二进制化十进制的公式得出1*24+1*21=18 所以所以(-12)8=(-18)1026负数的进转换负数的进转换 (3)负数八进制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论