版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章第三章 顺序结构程序设计顺序结构程序设计一、一、c语句概述语句概述二、二、流程图流程图三、三、顺序结构程序设计顺序结构程序设计四、四、字符数据的输入输出字符数据的输入输出五、五、格式输入输出格式输入输出六、六、程序举例程序举例一、一、c语句概述语句概述 一个程序应包括以下两方面内容:一个程序应包括以下两方面内容: (1)数据的设计)数据的设计数据结构。数据设计是通过一系列的数据描述语数据结构。数据设计是通过一系列的数据描述语句来实现,主要用来定义数据的类型、完成数据的初始化等;句来实现,主要用来定义数据的类型、完成数据的初始化等; (2)操作的设计)操作的设计操作步骤(即算法)。操作设计
2、是通过一系列的操作步骤(即算法)。操作设计是通过一系列的操作控制语句来完成,其作用是向计算机系统发出操作指令,以完成对数操作控制语句来完成,其作用是向计算机系统发出操作指令,以完成对数据的加工计算和流程控制。据的加工计算和流程控制。 作为程序设计人员,必须认真考虑和设计数据结构和操作步骤,而这作为程序设计人员,必须认真考虑和设计数据结构和操作步骤,而这些都要通过语句的执行来实现。些都要通过语句的执行来实现。c语句通常分为以下语句通常分为以下5类:类: 1表达式语句表达式语句 由表达式加由表达式加“;”组成的语句,称表达式语句。其一般形式为:组成的语句,称表达式语句。其一般形式为: 表达式表达式
3、; 如:如:a=3 /表达式表达式 a=3; /表达式语句表达式语句 再如:再如:i+ /表达式表达式 i+; /表达式语句表达式语句 2函数调用语句函数调用语句 由函数加由函数加“;”组成的语句,称函数调用语句。其一般形式为:组成的语句,称函数调用语句。其一般形式为: 函数名函数名(参数表列参数表列); 如:如:scanf(%d,&num); /函数调用语句函数调用语句 printf(%dn,num); /函数调用语句函数调用语句 3空语句空语句 只有一个分号的语句,称空语句。其一般形式为:只有一个分号的语句,称空语句。其一般形式为: ; 通常用作后面章节提到的循环语句中的循环体,起着延时通
4、常用作后面章节提到的循环语句中的循环体,起着延时的作用。的作用。 如:如:for(i=0;i1000;i+) ; /循环体是循环体是空语句空语句 也可用于还未实现函数的空函数体。也可用于还未实现函数的空函数体。 如:如:void max( ) ; /表示一个表示一个待写函数待写函数4复合语句复合语句 用大括号用大括号“ ”把多条语句括起来成为复合语句。在程序中,应把复合语句看成是单条把多条语句括起来成为复合语句。在程序中,应把复合语句看成是单条语语句,即在语法的地位上相当于一条语句。其一般形式为:句,即在语法的地位上相当于一条语句。其一般形式为: 语句语句1; 语句语句2; 语句语句n; 如:
5、如: sum=sum+i; i+; 5控制语句控制语句 c语言语言9种控制语句如下:种控制语句如下: (1) if( ) 条件语句条件语句 (2) switch( ) 多分支选择语句多分支选择语句 (3) while( ) while循环语句循环语句 (4) do while( ) do while循环语句循环语句 (5) for( ) for循环语句循环语句 (6) continue 结束本次循环语句结束本次循环语句 (7) break 中止执行中止执行switch语句或循环语句语句或循环语句 (8) goto 转向语句转向语句 (9) return 从函数返回语句从函数返回语句二、流程图二
6、、流程图 在编写程序之前,首先要考虑解决问题的步骤,然后用流程图表示出来,最后在编写程序之前,首先要考虑解决问题的步骤,然后用流程图表示出来,最后根据流程图编写程序代码。根据流程图编写程序代码。 美国国家标准化协会(美国国家标准化协会(ansi)规定了一些常用的流程图符号如图)规定了一些常用的流程图符号如图3-1所示,已所示,已被世界各国计算机工作者普遍采用。被世界各国计算机工作者普遍采用。常用流程图的图框说明如下:常用流程图的图框说明如下:(1)起止框:表示程序的开始和结束;)起止框:表示程序的开始和结束;(2)输入输出框:在框内写出输入项或输出项;)输入输出框:在框内写出输入项或输出项;(
7、3)判断框:框内写明条件,有一个入口,两个)判断框:框内写明条件,有一个入口,两个出口,在出口处注明条件是否成立;出口,在出口处注明条件是否成立;(4)执行框:框内写明某一段程序或模块的功能,)执行框:框内写明某一段程序或模块的功能,有一个入口和一个出口;有一个入口和一个出口;(5)连接点:将画在不同地方的流程线连接起来;)连接点:将画在不同地方的流程线连接起来;(6)流程线:表示程序的执行顺序。)流程线:表示程序的执行顺序。三、顺序结构程序设计三、顺序结构程序设计 c语言是结构化程序设计语言。结构化程序设计的思想要求程序只能语言是结构化程序设计语言。结构化程序设计的思想要求程序只能用顺序结构
8、、选择结构和循环结构三种基本结构来描述。这三种基本结构用顺序结构、选择结构和循环结构三种基本结构来描述。这三种基本结构可以组成各种各样的程序,无论多么复杂的问题,都可以用这三种基本结可以组成各种各样的程序,无论多么复杂的问题,都可以用这三种基本结构来表示。本章只介绍顺序结构程序设计。构来表示。本章只介绍顺序结构程序设计。 顺序结构是程序中最简单的一种结构,用来描述依次执行的操作,流顺序结构是程序中最简单的一种结构,用来描述依次执行的操作,流程如图程如图3-2(a)所示。程序执行时,先执行)所示。程序执行时,先执行a,再执行,再执行b。 1973年,美国学者年,美国学者i.nassi和和b.sh
9、neiderman提出了一种新的的流程图形式,这种流程图以二提出了一种新的的流程图形式,这种流程图以二人名字姓氏的首字母来命名,称为人名字姓氏的首字母来命名,称为n-s流程图。流程图。图图3-2中(中(b)是)是n-s流程图。这种流程图从形式流程图。这种流程图从形式上看,完全不同于传统的流程图,去掉了传统流上看,完全不同于传统的流程图,去掉了传统流程图中的流程线,所有结构全部由矩形框表示,程图中的流程线,所有结构全部由矩形框表示,全部算法写在一个矩形框中。全部算法写在一个矩形框中。n-s流程图使用的流程图使用的场合也较多,应该读懂且能够绘制场合也较多,应该读懂且能够绘制n-s流程图。流程图。
10、【例【例3-1】求一个数的平方根。】求一个数的平方根。经过分析,此问题的流程图如图经过分析,此问题的流程图如图3-3所示。然后,根据流程图编写代码:所示。然后,根据流程图编写代码:#include #include void main( ) double x,y; scanf(%lf,&x); y=sqrt(x); printf(%lfn,y);说明:说明:l 通常简单的问题不画流程图,直接编写程序代码;稍复杂的问题先画流程图,根通常简单的问题不画流程图,直接编写程序代码;稍复杂的问题先画流程图,根 据流程图编写程序代码。据流程图编写程序代码。l #include 求平方根时,需要调用数学函数
11、求平方根时,需要调用数学函数sqrt( ),因此必须加此头文件,参见附录因此必须加此头文件,参见附录。l 对于对于double型的变量,输入的格式必须是型的变量,输入的格式必须是“%lf”。l 对于对于double型的变量,输出的格式型的变量,输出的格式“%f”和和“%lf”都可以,通常用都可以,通常用“%lf”。四、字符数据的输入输出四、字符数据的输入输出 1. putchar( )函数函数 该函数的作用是向终端输出一个字符。该函数的作用是向终端输出一个字符。 其一般形式为:其一般形式为:putchar(参数参数); 其中:参数可以是单字符常量、字符变量、其中:参数可以是单字符常量、字符变量
12、、ascii码、也可以是转义字符。码、也可以是转义字符。 【例【例3-2】输出单个字符。】输出单个字符。 #include void main( ) char c=a; putchar(a); putchar(c); putchar(65);putchar(n); printf(%cn,c); 2. getchar( )函数函数 该函数的作用是从终端得到一个字符。该函数的作用是从终端得到一个字符。 其一般形式为:其一般形式为:getchar( ); 此函数无参数,函数的值就是从输入设备得到的字符。此函数无参数,函数的值就是从输入设备得到的字符。【例【例3-3】输入单个字符。】输入单个字符。 #
13、include void main( ) char c,d; c=getchar( );scanf(%c,&d); putchar(c); putchar(d);putchar(n); 说明:说明:l一般情况下,一般情况下,getchar( )和和putchar( )、scanf( )和和printf( )配对使用。配对使用。 五、格式输入输出五、格式输入输出1. printf( )函数函数 该函数的作用是该函数的作用是输出若干个任意类型输出若干个任意类型的数据。的数据。 (1) printf( ) 函数的一般形式函数的一般形式 printf(格式控制格式控制,输出表列输出表列); 如:如:p
14、rintf(%d,%c,%fn,x,y,z); (2) 格式字符格式字符 对不同类型的数据用不同的格式字符。对不同类型的数据用不同的格式字符。 d格式符:格式符:用来输出十进制整数。用来输出十进制整数。 %d,按整型数据的实际长度输出。,按整型数据的实际长度输出。 %md,m为指定的输出宽度。如果数据的位数小于为指定的输出宽度。如果数据的位数小于m,则左端补以,则左端补以 空格,若大于空格,若大于m,则按实际位数输出。,则按实际位数输出。 %ld,输出长整型数据。,输出长整型数据。【例【例3-4】举例说明】举例说明“%d”的使用。的使用。 #include void main( ) int a
15、,b,c; long d; a=300;b=400;c=500;d=600; printf(a=%d,b=%5d,c=%2d,d=%ldn,a,b,c,d); (2)o格式符:格式符:以八进制数形式输出整数。以八进制数形式输出整数。(3)x(或(或x)格式符:)格式符:以十六进制数形式输出整数。以十六进制数形式输出整数。(4)u格式符:格式符:用来输出用来输出unsigned型数据。型数据。(5)c格式符:格式符:用来输出一个字符。用来输出一个字符。(6)s格式符:格式符:用来输出一个字符串。用来输出一个字符串。 %s,按字符串的实际长度输出。,按字符串的实际长度输出。 %ms,输出的字符串占
16、,输出的字符串占m列,如字符串本身长度大于列,如字符串本身长度大于m,则突破,则突破m 的限制,将字符串全部输出。若串长小于的限制,将字符串全部输出。若串长小于m,则左补空格。,则左补空格。 %-ms,若串长小于,若串长小于m,则在,则在m列范围内,字符串向左靠,右补空格。列范围内,字符串向左靠,右补空格。 %m.ns,输出占,输出占m列,但只取字符串中左端列,但只取字符串中左端n个字符。这个字符。这n个字符输个字符输 出在出在m列的右侧,左补空格。列的右侧,左补空格。 %-m.ns,其中,其中m、n含义同上,含义同上,n个字符输出在个字符输出在m列范围的左侧,右列范围的左侧,右 补空格。如果
17、补空格。如果nm,则,则m自动取自动取n值,即保证值,即保证n个字符正常输出。个字符正常输出。【例【例3-5】举例说明】举例说明“%s”的使用。的使用。 #include void main( ) printf(%s,%3s,%5.2s,%.4s,%-5.3sn,intel,intel,intel,intel,intel); (7)f格式符:格式符:用来输出实数(包括单、双精度),以小数形式输出。用来输出实数(包括单、双精度),以小数形式输出。 %f,整数部分全部输出,输出,整数部分全部输出,输出6位小数。位小数。 %m.nf,指定输出的数据共占,指定输出的数据共占m列,其中有列,其中有n位小
18、数。如果数值长度小于位小数。如果数值长度小于m,则左端补,则左端补 空格。(空格。(m包括小数点)包括小数点) %-m.nf与与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。基本相同,只是使输出的数值向左端靠,右端补空格。【例【例3-6】举例说明】举例说明“%f”的使用。的使用。 #include void main( ) float f=235.5674; printf(%f,%10f,%10.2f,%.2f,%-10.2fn,f,f,f,f,f); (8)e(或(或e)格式符:)格式符:以以“规范化的指数形式规范化的指数形式”输出实数。输出实数。(9)g(或(或g)格式符:)格
19、式符:自动在自动在“%f”、“%e”两种格式中取输出数据占宽度较小的一种,两种格式中取输出数据占宽度较小的一种,且且 不输出无意义的不输出无意义的0。(。(“%g”格式符使用较少)格式符使用较少)2. scanf( )函数函数 该函数的作用是该函数的作用是输入若干个任意类型输入若干个任意类型的数据。的数据。 (1) scanf( ) 函数的一般形式函数的一般形式 scanf(格式控制格式控制,地址表列地址表列); 如:如:scanf(%d,%c,%f,&x,&y,&z); (2) 格式字符格式字符 格式字符的含义同格式字符的含义同printf( )函数。函数。【例【例3-7】用】用scanf(
20、 )正确地输入数据。正确地输入数据。 #include void main( ) int x,y,z; scanf(%d%d%d,&x,&y,&z); printf(%d,%d,%dn,x,y,z); 说明:说明:l图图3-10用用“空格键空格键”分隔三个值;图分隔三个值;图3-11用用“回车键回车键”分隔三个值;图分隔三个值;图3-12用用“tab键键”分隔三个值。分隔三个值。【例【例3-8】用】用scanf( )正确地输入数据。正确地输入数据。 #include void main( ) int x,y,z; scanf(x=%d,y=%d,z=%d,&x,&y,&z); printf(%
21、d,%d,%dn,x,y,z); 说明:说明:lscanf( )函数函数“格式控制格式控制”中的普通字符必须原样输入。中的普通字符必须原样输入。【例【例3-9】用】用scanf( )正确地输入数据。正确地输入数据。 #include void main( ) char x,y,z; scanf(%c%c%c,&x,&y,&z); printf(%c%c%c,x,y,z); 说明:说明:l用用“%c”格式输入字符时,空格、回车、格式输入字符时,空格、回车、tab键都作为有效字符输入。键都作为有效字符输入。3. 使用使用printf( )函数和函数和scanf( )函数时的注意事项函数时的注意事项 (1) printf( ) 函数输出数据时可以有精度,而函数输出数据时可以有精度,而scanf( ) 函数输函数输 入数据时不能规定精度。入数据时不能规定精度。 printf(%6.2fn,x); /正确正确 scanf(%6.2f,&x); /错误错误 scanf(%f,&x); /正确正确 (2) printf( ) 函数中函数中“格式控制格式控制”右边通常是变量,而右边通常是变量,而scanf( ) 函数中函数中“格式控制格式控制”右边通常是变量地址。右边通常是变量地址。 printf(%fn,x); /正确正确 scanf(%f,&x)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国蒸馏试验器行业市场前景预测及投资价值评估分析报告
- 中国货代企业行业市场前景预测及投资价值评估分析报告
- 第4课 展开想象有方法教学设计-2025-2026学年小学心理健康四年级下册教科版
- 人教部编版五年级上册7 什么比猎豹的速度更快教学设计
- 第1课 了解我们的住房(教学设计)-2023-2024学年六年级下册科学 教科版
- 第二单元 传统工艺制作:06 陀 螺 教学设计 -三年级下册小学劳动同步备课资源包(苏科版)
- 2025运营经理招聘面试题及答案
- 2023-2024学年川教版(2019)小学信息技术五年级下册智能生活(教学设计)
- 沪科版(2023)信息技术九下 第二单元 活动一《设计地面》教学设计
- 中国铝条切割机行业市场前景预测及投资价值评估分析报告
- 2025年温泉度假行业分析报告及未来发展趋势预测
- 私人出租音响合同协议
- 四川省成都市金堂县2024-2025学年六年级上学期英语期中试卷(含答案)
- 2025年燃气管道运营维护服务合同协议
- 2025年健康管理师(二级)技能考核试卷
- 部编版小学语文三年级上册第四单元作业设计
- 2025北京市公安局顺义分局勤务辅警、流动人口管理员招聘100人考试笔试模拟试题及答案解析
- 校园消防安全培训课件
- 《义务教育英语课程标准(2025年版)》核心内容解读
- 2021年《内蒙古自治区建设工程费用定额》取费说明
- 广东某超高层建筑电气工程调试方案(附示意图)
评论
0/150
提交评论