《jin4第四章顺序结构程序设计.ppt》由会员分享,可在线阅读,更多相关《jin4第四章顺序结构程序设计.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 北京理工大学计算机学院北京理工大学计算机学院第第 四四 章章顺序结构程序设计顺序结构程序设计 李李 书书 涛涛 1/28/20231 北京理工大学计算机学院北京理工大学计算机学院目录目录1 顺序结构流程概述顺序结构流程概述 2 基本顺序结构语句基本顺序结构语句 3 输入输入/输出函数语句输出函数语句 4 顺序结构程序实例顺序结构程序实例 5 本章小结本章小结 第四章第四章 顺序结构程序设计顺序结构程序设计 1/28/20232 北京理工大学计算机学院北京理工大学计算机学院1 1 顺序结构流程概述顺序结构流程概述顺序结构流程概述顺序结构流程概述 1 顺序结构流程概述顺序结构流程概述 一一.程序
2、的顺序结构程序的顺序结构 顺序结构是其中最基本最简单的结构,构成它的语句有:顺序结构是其中最基本最简单的结构,构成它的语句有:数据类型语句、表达式语句、赋值语句和函数调用语句等。在数据类型语句、表达式语句、赋值语句和函数调用语句等。在顺序结构程序中,顺序结构程序中,语句被按顺序执行,语句被按顺序执行,程序结构执行顺序程序结构执行顺序 如图如图3.1所示。所示。1/28/20233 北京理工大学计算机学院北京理工大学计算机学院 二二.简单顺序结构#include main()变量定义;变量定义;语句语句 1;语句语句 2;例:例:用库函数输出字用库函数输出字符符OK!字样。字样。#include
3、 stdio.h main()char a,b,c;a=O;b=K;c=!;putchar(a);putchar(b);putchar(c);程序执行完成后输出:程序执行完成后输出:OK!1/28/20234 北京理工大学计算机学院北京理工大学计算机学院2 2 基本基本基本基本顺序结构语句顺序结构语句顺序结构语句顺序结构语句 2 基本基本顺序结构语句顺序结构语句 在在C语言程序设计中,基本顺序结构语言程序设计中,基本顺序结构语句是指能够完成指定操作的基本语句,语句是指能够完成指定操作的基本语句,这些语句主要有:这些语句主要有:赋值语句;赋值语句;空语句;空语句;复合语句;复合语句;函数调用语句
4、等。函数调用语句等。1/28/20235 北京理工大学计算机学院北京理工大学计算机学院一一.表达式和表达式语句表达式和表达式语句 1.表达式表达式 表达式是操作数和运算符的组合体,表达式是操作数和运算符的组合体,由运算符连由运算符连接操作对象构成的式子,它产生一个唯一的值。接操作对象构成的式子,它产生一个唯一的值。操作操作数(又称做操作对象)可以是数值、字符、函数,也数(又称做操作对象)可以是数值、字符、函数,也可以是另一个表达式,但必须有值能够参加运算。可以是另一个表达式,但必须有值能够参加运算。运算符运算符 运算分量运算分量x=5 +b *c 对数据进行对数据进行运算的符号运算的符号被加工
5、被加工的数据的数据表达式表达式算术表达式算术表达式关系表达式关系表达式逻辑表达式逻辑表达式赋值表达式赋值表达式逗号表达式逗号表达式条件表达式条件表达式 1/28/20236 北京理工大学计算机学院北京理工大学计算机学院用运算符将运算对象连接形成的式子就是用运算符将运算对象连接形成的式子就是表达式表达式。表达式构成的规则如下:表达式构成的规则如下:1.单个的常量单个的常量、变量变量、函数调用都是表达式。函数调用都是表达式。2.“前缀单目前缀单目运算符运算符 表达式表达式”是表达式。是表达式。3.“表达式表达式 后缀单目后缀单目运算符运算符”是表达式。是表达式。4.“表达式表达式 双目双目运算符运
6、算符 表达式表达式”是表达式。是表达式。5.5.“表达式表达式?表达式?表达式:表达式:表达式”是表达式。是表达式。6.6.有限次使用上述规则获得的有限次使用上述规则获得的运算运算式也是表达式。式也是表达式。表达式构成的规则表达式构成的规则表达式的数据类型按其值可分为整表达式的数据类型按其值可分为整型型、实实型型和和逻辑型。逻辑型。表达式值的数据类型称为表达式的数据类型。表达式值的数据类型称为表达式的数据类型。1/28/20237 北京理工大学计算机学院北京理工大学计算机学院 2.表达式语句表达式语句 一一个个表表达达式式加加一一个个分分号号“;”就就构构成成了了表表达达式语句。式语句。格式:
7、格式:表达式表达式 ;例如:例如:1.0/2*(a+b+c);sqrt(s*(s-a)*(s-b)*(s-c);需需要要说说明明的的是是要要注注意意表表达达式式与与表表达达式式语语句句的的区别。例如:区别。例如:a=5 表达式表达式 a=5;表达式语句表达式语句1/28/20238 北京理工大学计算机学院北京理工大学计算机学院二二.基本顺序语句基本顺序语句 1.赋值语句赋值语句 赋赋值值语语句句是是由由赋赋值值表表达达式式构构成成的的,是是在在赋赋值值表表达达式式后后加上加上“;”符号,它语句格式:符号,它语句格式:赋值表达式赋值表达式 ;简单赋值语句简单赋值语句 x=a+b;连续赋值语句连续
8、赋值语句 x=y=z=0;自反赋值语句自反赋值语句 x*=a+b;1/28/20239 北京理工大学计算机学院北京理工大学计算机学院 2.空语句空语句 空空语语句句也也是是一一条条有有效效的的操操作作语语句句,空空语语句句只有一个分号只有一个分号“;”,构成一条空命令语句。,构成一条空命令语句。空语句格式:空语句格式:;空语句本身没有实际功能,表示什么操作空语句本身没有实际功能,表示什么操作都不做。但也经常用在一些特定的场合,比如都不做。但也经常用在一些特定的场合,比如空循环,跳转目标点等。空循环,跳转目标点等。1/28/202310 北京理工大学计算机学院北京理工大学计算机学院由一个分号组成
9、,不执行任何操作。由一个分号组成,不执行任何操作。main()int a=10,b=20,c;if(ba)c=a+b;printf(“%d”,c);else ;控控制制语语句句表达式语句表达式语句复合语句复合语句函数调用语句函数调用语句空语句空语句 空语句举例空语句举例1/28/202311 北京理工大学计算机学院北京理工大学计算机学院 用一对用一对 括起的一条或多条语句,称为复合语句。括起的一条或多条语句,称为复合语句。1.复合语句格式:复合语句格式:若干合法的若干合法的C语句语句 3.复合语句复合语句2.复合语句的目的复合语句的目的u语法上等价于单一语句。因此在语言中,凡是可语法上等价于单
10、一语句。因此在语言中,凡是可以使用单一语句的地方,均可使用复合语句。以使用单一语句的地方,均可使用复合语句。u明确层次关系明确层次关系3.复合语句的使用方法复合语句的使用方法u复合语句允许嵌套,且嵌套层次没有限制复合语句允许嵌套,且嵌套层次没有限制u对于复合语句,右花括号对于复合语句,右花括号“”的后面不用再跟的后面不用再跟一个分号(一个分号(;);)1/28/202312 北京理工大学计算机学院北京理工大学计算机学院 4.函数调用语句函数调用语句 函函数数调调用用语语句句是是一一次次函函数数调调用用加加上上分分号号“;”构成,在构成,在C语言中的一般格式:语言中的一般格式:函数名称(参数);
11、函数名称(参数);函函数数调调用用语语句句完完成成由由函函数数确确定定的的操操作作或或计计算算,函函数数可可以以是是系系统统库库函函数数,也也可可以以为为自自定定义义函函数数。例例如:如:getchar();1/28/202313 北京理工大学计算机学院北京理工大学计算机学院3 3 输入输入输入输入/输出函数语句输出函数语句输出函数语句输出函数语句 3 输入输入/输出函数语句输出函数语句 C中没有专门的输入输出语句。输入输出操作通过输入、输出函数实现。本章介绍两个基本的输出函数(字符输出函数、格式输出函数)和两个基本的输入函数(字符输入函数、格式输入函数)。1/28/202314 北京理工大学
12、计算机学院北京理工大学计算机学院1.格式:格式:putchar(字符变量字符变量)2.功能功能:在标准输出设备上,输出指定的字符在标准输出设备上,输出指定的字符3.说明说明:*一次调用只能输出一个字符一次调用只能输出一个字符*加上分号成为字符输出语句加上分号成为字符输出语句*使用使用时在程序开头用时在程序开头用#include 思考思考abc输出多个字符输出多个字符怎样排列?怎样排列?一一.字符输出函数字符输出函数char c1,c2,c3;c1=a;c2=b;c3=c;putchar(c1);putchar(c2);putchar(c3);abc#includemain()char c=a;
13、putchar(c);1/28/2023151.格式:格式:printf(格式控制串,变量表格式控制串,变量表)2.功能:从标准输出设备上,按指定格式输出对应变量。功能:从标准输出设备上,按指定格式输出对应变量。3.格式控制串的格式:格式控制串的格式:“其它字符其它字符%附加说明字符附加说明字符格式字符格式字符其它字符其它字符 ”格格式式控控制制串串二二.格式输出函数格式输出函数%d:按十进制整数形式输出变量的值按十进制整数形式输出变量的值%o:按八进制整数形式输出变量的值:按八进制整数形式输出变量的值%x:按十六进制整数形式输出变量的值:按十六进制整数形式输出变量的值%ld:按十进制整数形式
14、输出长整型变量的值按十进制整数形式输出长整型变量的值%u 输出无符号整数变量的值输出无符号整数变量的值%f:输出单精度浮点变量的值:输出单精度浮点变量的值%e:按指数形式输出浮点变量的值按指数形式输出浮点变量的值(为选择为选择项项)1/28/202316 北京理工大学计算机学院北京理工大学计算机学院%c :输出字符变量输出字符变量%s :输出一个字符串输出一个字符串%g :输出输出f和和e格式中宽度较小的格式格式中宽度较小的格式,不输出无意义的不输出无意义的0%md:输出整数据占输出整数据占m个字符位个字符位,右对齐右对齐%-md:输出整数据占输出整数据占m个字符位个字符位,左对齐左对齐%m.
15、nf:输出数据占输出数据占m个字符位个字符位,小数点后留小数点后留n位位,右对齐右对齐%-m.nf:输出数据占输出数据占m个字符位个字符位,小数点后留小数点后留n位位,左对齐左对齐%m.ns:输出字符串占输出字符串占m个字符位个字符位,仅输出前仅输出前n个个,右对齐右对齐格式控制串格式控制串的格式的格式 内的内容为选择项,其它字符按原样原封不动输出内的内容为选择项,其它字符按原样原封不动输出。1/28/2023171.格式控制串的控制符号与变量表要一一对应格式控制串的控制符号与变量表要一一对应,即:即:类型相同,个数相等。类型相同,个数相等。printf(“%d,%d,%dn”,a,b);输出
16、?输出?几点几点说明说明2.格式控制符号尽量用小写字母。格式控制符号尽量用小写字母。%e和和%E的区别:的区别:6.78e+001 6.78E+0013.格式控制符号之外的符号均照原样显示。格式控制符号之外的符号均照原样显示。当当a为为3,b为为5时,时,printf(“a=%d,b=%d”,a,b);输出:输出:a=3,b=5 4.若需显示百分号,格式为:若需显示百分号,格式为:%5.如果实际数据所占字符位大于指定的域宽,如果实际数据所占字符位大于指定的域宽,则按则按实际输出实际输出。注意事项注意事项1/28/202318 北京理工大学计算机学院北京理工大学计算机学院 如果:如果:a=5,b
17、=8;写出输出格式;写出输出格式:printf(“%d,%d n”,a,b);5,8 printf(“a=%d,b=%dn”,a,b);a=5,b=8 printf(“%5d%5dn”,a,b);5 85与与8之前空之前空4个字符位个字符位printf(“Turbo C”);Turbo C 以八进制和十六进制数据形式输出时,输出的以八进制和十六进制数据形式输出时,输出的数据不带符号,即:符号位作为数据输出数据不带符号,即:符号位作为数据输出综合举例综合举例课堂作业课堂作业1/28/202319a=-1以补码形式存储以补码形式存储1111111111111111符号位符号位777771print
18、f(“%o”,a);177777fprintf(“%x”,a);f f f f八进制和十六进制数据的输出八进制和十六进制数据的输出printf(“%d”,a);-11/28/202320main()int a=16;char e=A;unsigned b;long c;float d;b=65535;c=123456;d=123.45;printf(“a=%d,%4d,%-6d,c=%dn”,a,a,a,c);printf(“%o,%x,%u,%dn”,b,b,b,b);printf(“%f,%e,%13.3e,%gn”,d,d,d,d);printf(“%c,%s,%7.3sn”,e,”Ch
19、ina”,”Beijing”);a=16,16,16 ,c=-7616 177777,ffff,65535,-1123.450000,1.234500e+002,1.235e+002,123.45A,China,Bei课堂作业课堂作业:写出下述程序的输出结果写出下述程序的输出结果1/28/202321 北京理工大学计算机学院北京理工大学计算机学院三三.字符输入函数字符输入函数介绍三个字符输入函数介绍三个字符输入函数功能:从标准输入设功能:从标准输入设备上读一个字符备上读一个字符格式格式1:getchar()格式格式2:getche()格式格式3:getch()输入字符,不回显,不回车输入字符,
20、不回显,不回车输入字符,并回显,不必回车输入字符,并回显,不必回车输入字符,回车后才读入输入字符,回车后才读入区别区别#include#include格式格式1格式格式2,31/28/202322 北京理工大学计算机学院北京理工大学计算机学院main()int a=3,b=5;printf(“%d,%d,%dn”,a,b,a+b);getch();按任意键按任意键.程序举例程序举例#include“stdio.h”main()char c;c=getchar();putchar(c);从键盘输入一个字符从键盘输入一个字符从屏幕输出一个字符从屏幕输出一个字符1/28/202323 北京理工大学计
21、算机学院北京理工大学计算机学院 1.格式:格式:scanf(格式控制串,地址表格式控制串,地址表)2.功能:按照格式控制参数的要求,从终端上把功能:按照格式控制参数的要求,从终端上把数据送到数据送到 地址参数地址参数 所指定的内存空间中。所指定的内存空间中。3.格式控制符号格式控制符号:同:同printf。地址参数地址参数4.要求:类型相同,个数相等。要求:类型相同,个数相等。int a,b;scanf(“%d,%d”,&a,&b);&b&a&输入输入:5,858四四.格式输入函数格式输入函数1/28/202324 北京理工大学计算机学院北京理工大学计算机学院说明说明 1.输入时不允许规定精度
22、,可以指定域宽输入时不允许规定精度,可以指定域宽int a;scanf(“%3d”,&a);float x;scanf(“%8.2f”,&x);2.输入时,遇下列情况结束输入时,遇下列情况结束*回车,空格回车,空格*宽度结束宽度结束*非法输入非法输入int k;scanf(“%3d”,&k);输入:输入:123456789 k为:为:123注意事项注意事项1/28/202325 北京理工大学计算机学院北京理工大学计算机学院main()int a;float b,c;scanf(“%2d%3f%4f”,&a,&b,&c);printf(“a=%d,b=%f,c=%fn”,a,b,c);输入:输入
23、:输出输出?a=12,b=345.000000,c=6789.000000123456789程序举例程序举例课堂作业课堂作业1/28/202326 北京理工大学计算机学院北京理工大学计算机学院3.格式控制符号之外的符号照原样输入格式控制符号之外的符号照原样输入int a,b;scanf(“%d%d”,&a,&b);3 5scanf(“%d,%d”,&a,&b);3,5 scanf(“a=%d,b=%d”,&a,&b);输入:输入:a=3,b=5 char c1,c2,c3;scanf(“%c%c%c”,&c1,&c2,&c3);怎样输入怎样输入A、B、C?(1)输入:输入:ABC (2)输入:
24、输入:A B C注意事项注意事项1/28/202327 北京理工大学计算机学院北京理工大学计算机学院一一.C中用中用输入与输出函数实现实现输入与输出语句语句二二.字符输入输出函数字符输入输出函数(getchar,putchar,一次一次 一个字符一个字符)三三.格式输入输出函数格式输入输出函数(scanf,printf,按按格式输格式输 入输出入输出)四四.格式控制符的使用:格式控制符的使用:%d,%o,%x,%c,%m.nf,%-m.nf,%ms,%-ms等等基本输入与输出函数基本输入与输出函数总结总结1/28/202328 北京理工大学计算机学院北京理工大学计算机学院X=10.2,y=20
25、.5,如何交换两个变量的值?如何交换两个变量的值?10.220.5xy20.510.220.510.2 t10.210.220.5开始开始输入输入x,yt=xy=tx=y输出输出x,y结束结束main()double x,y,t;scanf(“%lf,%lf”,&x,&y);t=x;x=y;y=t;printf(“%lf,%lfn”,x,y);xy4 4 顺序结构程序实例顺序结构程序实例顺序结构程序实例顺序结构程序实例 4 顺序结构程序实例顺序结构程序实例 1/28/202329 北京理工大学计算机学院北京理工大学计算机学院顺序结构程序实例顺序结构程序实例例例:编编写写计计算算整整数数n平平方
26、方根根程程序序,输输入入一一个个整整数数,输出该数的平方根。输出该数的平方根。分析:计算平方根可以直接应用分析:计算平方根可以直接应用C运行库提供运行库提供的数学函数的数学函数sqrt()。这里要求从键盘输入数值数据,。这里要求从键盘输入数值数据,并且是整数。由于没有限制数据的范围,因此按并且是整数。由于没有限制数据的范围,因此按C语言可用最大范围的整数类型和浮点数类型即语言可用最大范围的整数类型和浮点数类型即long和和double。1/28/202330 北京理工大学计算机学院北京理工大学计算机学院N-S流程图和源程序流程图和源程序#include#include main()long x
27、;double y;printf(n请请输输入入一一个个整整数数:);scanf(%ld,&x);y=sqrt(x);printf(“结果:整数结果:整数%ld的的 平方根是平方根是%f,x,y);1/28/202331 北京理工大学计算机学院北京理工大学计算机学院5 5 本章小结本章小结本章小结本章小结 4 本章小结本章小结 顺序结构是程序设计最基本最简单的结顺序结构是程序设计最基本最简单的结构。构成它的语句有:数据类型语句、表达式构。构成它的语句有:数据类型语句、表达式语句、赋值语句和函数调用语句等。语句、赋值语句和函数调用语句等。本章要求重点掌握格式输入本章要求重点掌握格式输入/输出函数
28、语输出函数语句的格式规则。使用时要注意函数语句格式参句的格式规则。使用时要注意函数语句格式参数的选择,否则,得不到正确的运行结果。数的选择,否则,得不到正确的运行结果。学完本章就可进行简单顺序结构程序设学完本章就可进行简单顺序结构程序设计了。计了。1/28/202332 北京理工大学计算机学院北京理工大学计算机学院常用转换字符含义表常用转换字符含义表1/28/202333 北京理工大学计算机学院北京理工大学计算机学院上机与作业一上机与作业一第四章 顺序结构程序设计 (必做题必做题)1.输入两个整数输入两个整数a,b,将它们交换后输出将它们交换后输出。2.计算圆球体积:计算圆球体积:V=(4/3
29、)R3 3.计算摄氏温度:计算摄氏温度:C=(5/9)(F-32)先将程序编写在稿纸上先将程序编写在稿纸上,第第4周上机调试运行得周上机调试运行得到正确结果后到正确结果后,将程序及正确结果用电子文件上交。将程序及正确结果用电子文件上交。交作业地址交作业地址 1/28/202334 北京理工大学计算机学院北京理工大学计算机学院交作业注意事项交作业注意事项1.只收只收word文件,其它如文件,其它如txt文件或文件夹均退回重做。文件或文件夹均退回重做。2.word文件名格式:文件名格式:如:如:080107011001-测控测控1班班-徐鹏霖徐鹏霖(作业作业1).doc3.作业内容,每道题都要有:
30、题目、程序和运行结果。作业内容,每道题都要有:题目、程序和运行结果。4.交作业交作业 ftp:10.0.45.83学号学号-班号班号-姓名姓名(作业号作业号).).doc 先将先将程序编写在稿纸程序编写在稿纸上,上,第第4周周上机调试运上机调试运行得到正确结果。行得到正确结果。1/28/202335 北京理工大学计算机学院北京理工大学计算机学院E N DE N D上机一输出结果上机一输出结果完完1.输入两个整数输入两个整数a,b,将它们交换后输出。将它们交换后输出。2.编写程序编写程序,输入半径输入半径R,计算圆球体积:计算圆球体积:V=(4/3)R3。Input R:2 R=2,V=33.5
31、10292 3.程序,输入一个华氏温度程序,输入一个华氏温度,要求输出对应的摄氏温度要求输出对应的摄氏温度,公式为:公式为:C=(5/9)(F-32)Input F:100 F=100,C=37.777779Input R:2R=2,V=33.510292Input F:100F=100,C=37.777779Input a,b:50,100a=100,b=501/28/202336 北京理工大学计算机学院北京理工大学计算机学院上机与作业一小结上机与作业一小结2.C=(5/9)(F-32),输入华氏,输入华氏F,输出摄氏,输出摄氏C。mian();int c;float f;C=(5/9)(F
32、-32);scanf(“%d”,&c);printf(“%d”,&f);main()int f;float c;printf(Input F:);scanf(%d,&f);c=5/9.0*(f-32);printf(F=%d,C=%fnn,f,c);getch();有有11个错个错1/28/202337 北京理工大学计算机学院北京理工大学计算机学院上机与作业一上机与作业一(补充题补充题)补充题补充题:输入三个整数输入三个整数a,b,c,求它们的平均值求它们的平均值ave。要求按如下形式输出:要求按如下形式输出:Average of *(a),*(b)and*(c)is*.*(ave)Input a,b,c:45,98,63 Average of 45,98 and 63 is 68.67 Input a,b,c:45,98,63Average of 45,98 and 63 is 68.671/28/202338 北京理工大学计算机学院北京理工大学计算机学院二二.基本顺序语句基本顺序语句 1.赋值语句赋值语句 赋赋值值语语句句是是由由赋赋值值表表达达式式构构成成的的,是是在在赋赋值值表表达达式式后后加上加上“;”符号,它的符号,它的C语言格式:语言格式:;1/28/202339