第3章语句及顺序结构控制_第1页
第3章语句及顺序结构控制_第2页
第3章语句及顺序结构控制_第3页
第3章语句及顺序结构控制_第4页
第3章语句及顺序结构控制_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1、数据的输入和输出数据的输入和输出顺序结构程序设计顺序结构程序设计3程序举例程序举例41 1 2C语言的基本语句语言的基本语句1SANSAN第第 三章三章 语句及控制结构语句及控制结构 3.1(1)空语句)空语句 单独一个分号就构成了一条空语句。它什么也不做,其一般形式为:单独一个分号就构成了一条空语句。它什么也不做,其一般形式为: ;( 2)表达式语句)表达式语句 语言的任何表达式的后面加上一个分号之后就构成了一个表达式语句。该语语言的任何表达式的后面加上一个分号之后就构成了一个表达式语句。该语句的功能就是对该表达式求值,其一般形式为:句的功能就是对该表达式求值,其一般形式为: 表达式;表达式

2、; 例如:例如: a+b; /*计算变量计算变量a和和b的和的和*/ a=3; /*将变量将变量a赋值赋值3*/ b+; /*将变量将变量b的值增加的值增加1*/(3)函数调用语句)函数调用语句 一个函数加一个分号构成函数调用语句。其作用是完成特定的功能。形式为:一个函数加一个分号构成函数调用语句。其作用是完成特定的功能。形式为: 函数名(实参表);函数名(实参表); 例如:例如:printf(This is an apple ); /*printf格式输出函数加上一个分号构成函数调用语句格式输出函数加上一个分号构成函数调用语句*/3.1 C语言的基本语句语言的基本语句(4)复合语句)复合语句

3、 复合语句块或是用一对花括号复合语句块或是用一对花括号 括起来的一条或多条语句。在语法上相当于一条括起来的一条或多条语句。在语法上相当于一条语句。其一般形式为:语句。其一般形式为: 语句组语句组 例如:例如: k=i; i=j; j=k; 注意注意“”后没有分号,如果加上分号则不再是一个块而是一个块和一条空语句后没有分号,如果加上分号则不再是一个块而是一个块和一条空语句(5)控制语句)控制语句 控制语句是用来控制程序执行流程的语句。这三种控制结构为顺序结构、条件结控制语句是用来控制程序执行流程的语句。这三种控制结构为顺序结构、条件结构和循环结构。构和循环结构。C语言中有语言中有9种控制语句,又

4、可以细分为以下种控制语句,又可以细分为以下3种。种。3.1 C语言的基本语句 选择结构控制语句:选择结构控制语句:if语句、语句、switch语句语句 循环结构控制语句:循环结构控制语句:for循环、循环、while循环、循环、 dowhile循环。循环。 其他控制语句:其他控制语句:break 语句、语句、continue语句、语句、 return语句。语句。 标准函数库中所用到的变量定义和宏定义均在扩展名为标准函数库中所用到的变量定义和宏定义均在扩展名为“.h”的头文件中描述的头文件中描述,在使用标准函数库时,必须用预编译命令在使用标准函数库时,必须用预编译命令“#include”将相应的

5、将相应的“.h”为后缀为后缀的头文件包含到用户程序中,的头文件包含到用户程序中, 例如:例如:#include /*表示在系统指定的路径中查找表示在系统指定的路径中查找stdio.h文件文件*/ 或或 #include stdio.h。3.1 C语言的基本语句3.23.2.1 getchar和和putchar函数(字符输入输出函数)函数(字符输入输出函数)1. 字符输出函数字符输出函数putchar() 其一般形式为:其一般形式为:putchar(c); putchar()函数的功能是向终端上输出一个字符函数的功能是向终端上输出一个字符。c可以是一个字符变量或字符常可以是一个字符变量或字符常

6、量、整型变量、整型常量或转义字符,量、整型变量、整型常量或转义字符,函数的参数就是待输出的字符。函数的参数就是待输出的字符。【例【例3.1】 putchar( )函数的使用。函数的使用。 #include void main( ) char c1,c2,c3; /* 定义定义c1,c2,c3为字符型变量为字符型变量 */ c1=o; /* 将字符将字符o赋给变量赋给变量c1 */ c2=p; /* 将字符将字符p赋给变量赋给变量c2 */ c3=e ; /* 将字符将字符e赋给变量赋给变量c3 */ putchar(c1); /* 输出变量输出变量c1的值的值 */ putchar(c2);

7、/* 输出变量输出变量c2的值的值 */3.2 数据的输入和输出数据的输入和输出3.2 putchar(c3); /* 输出变量输出变量c3的值的值 */ putchar(n); /* 输出字符常量输出字符常量n*/ 2字符输入函数字符输入函数getchar() 其一般形式为:其一般形式为:getchar(); getchar() 函数的功能是从键盘函数的功能是从键盘(或系统隐含指定的输入设备或系统隐含指定的输入设备)输入一个字符。输入一个字符。当程序执行到当程序执行到getchar()函数时,等待用户从键盘上输入一个字符,并将这个函数时,等待用户从键盘上输入一个字符,并将这个字符作为函数结果

8、值返回。字符作为函数结果值返回。getchar()函数没有参数。函数没有参数。3.2 数据的输入和输出数据的输入和输出程序程序运行结果如下:运行结果如下: open3【例3.2】从键盘上输入一个字符,并在屏幕上输出。 3.2 数据的输入和输出数据的输入和输出如果从键盘输入字母如果从键盘输入字母Y Y ,程序运行结果为:程序运行结果为: Y #include void main( ) / /* * 主函数主函数 * */ / char a; / /* * 定义字符型变量定义字符型变量a a * */ / a=getchar(); / /* *从键盘得到一个字符,并赋值给字符型变量从键盘得到一个字

9、符,并赋值给字符型变量a a* */ / putchar(a); /* 把变量把变量a的值输出到屏幕上的值输出到屏幕上*/ putchar(n); / /* * 输出换行符输出换行符 * */ / 3关于关于getchar()函数的说明和注意事项:函数的说明和注意事项:(1)getchar()函数接收的字符可以赋给一个字符变量或整型变量,也可以不赋函数接收的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,仅作为表达式的一部分。给任何变量,仅作为表达式的一部分。(2)getchar( )函数只能接收一个字符,即使从键盘上输入多个字符,也只接收函数只能接收一个字符,即使从键盘上输入多个字

10、符,也只接收第一个字符。按回车键表示结束,第一个字符。按回车键表示结束,getchar( )函数没有参数,函数的返回值就函数没有参数,函数的返回值就是从终端读入的字符是从终端读入的字符。3.2.2 printf函数(格式输出函数)函数(格式输出函数) printf函数称为格式输出函数,其功能是按指定格式把数据输出到标准输出函数称为格式输出函数,其功能是按指定格式把数据输出到标准输出设备上。我们在前面的例题中已多次使用到这个函数。格式输出函数有原样设备上。我们在前面的例题中已多次使用到这个函数。格式输出函数有原样输出格式和输出变量的值两种使用形式。输出格式和输出变量的值两种使用形式。 3.2 数

11、据的输入和输出数据的输入和输出31.原样输出格式原样输出格式 原样输出一般形式为: printf(要输出的字符串要输出的字符串);【例3.3】 把一个字符串输出到屏幕上。3.2 数据的输入和输出数据的输入和输出程序程序 运行结果:运行结果: I am a boy, you are a girl! #include void main( ) printf(I am a boy, you are a girl!n); 32.输出变量的值输出变量的值 输出变量的值是按格式控制字符串所指定的格式输出表列中的值,其调用的一输出变量的值是按格式控制字符串所指定的格式输出表列中的值,其调用的一般形式为:般形

12、式为: printf(格式控制字符串格式控制字符串,输出表列,输出表列);(1)输出表列是要输出的变量、常量和表达式等,输出表列中参数的个数)输出表列是要输出的变量、常量和表达式等,输出表列中参数的个数1个个到若干个,当超过一个时,用逗号分隔。到若干个,当超过一个时,用逗号分隔。 %附加格式说明符附加格式说明符格式符格式符(2)格式控制字符串中有两类字符。)格式控制字符串中有两类字符。 非格式字符。非格式字符(普通字符、转义字符)一律按原样输出。非格式字符。非格式字符(普通字符、转义字符)一律按原样输出。 格式说明字符。格式说明字符的一般形式为:格式说明字符。格式说明字符的一般形式为: %附加

13、格式说明符附加格式说明符格式符格式符3.2 数据的输入和输出数据的输入和输出3【例3.4】求两个数求两个数a与与b之和之和。【例3.5】求两个数求两个数a与与b之和。之和。 3.2 数据的输入和输出数据的输入和输出程序程序运行结果如运行结果如下下:101030304040程序程序运行结果如下:运行结果如下: a=10 a=10 b=30 b=30 sum is:40 sum is:40 #include void main( ) int a,b,sum; a=10; b=30; sum=a+b; printf(%dn, a); printf(%dn, b); printf(%dn,sum);

14、#include void main( ) int a,b,sum; a=10; b=30; sum=a+b; printf(a=%dn, a); printf(b=%dn, b); printf(sum is:%dn,sum); 3常用的格式符如表常用的格式符如表3-1,常用的附加格式符如表,常用的附加格式符如表3-2,具体表见书。,具体表见书。printf( )函数常用的格式控制字符有以下几种:函数常用的格式控制字符有以下几种: d格式符用来输出带符号十进制整数。格式符用来输出带符号十进制整数。有以下用法: %d 以整数的实际位数输出一个整数。以整数的实际位数输出一个整数。 %md 在在m

15、列的宽度上以数据右对齐的方式,输出一个整数,列的宽度上以数据右对齐的方式,输出一个整数,m大于整数的宽度大于整数的宽度时多余的位数空格补在数据前面时多余的位数空格补在数据前面m小于整数的宽度时小于整数的宽度时m不起作用,系统原样不起作用,系统原样输出该整数。输出该整数。 %-md 在在m列的宽度上以数据左对齐的方式输出一个整数,列的宽度上以数据左对齐的方式输出一个整数,m大于整数的宽度大于整数的宽度时多余的位数空格留在数据后面,时多余的位数空格留在数据后面,m小于整数的宽度时小于整数的宽度时m不起作用,系统原不起作用,系统原样输出该整数。样输出该整数。 %0md 在在m列的宽度上以数据右对齐的

16、方式输出一个整数,列的宽度上以数据右对齐的方式输出一个整数,m大于整数的宽度大于整数的宽度时多余的位数以时多余的位数以0补在数据前面,补在数据前面,m小于整数的宽度时小于整数的宽度时m不起作用,系统原样不起作用,系统原样输出该整数。输出该整数。3.2 数据的输入和输出数据的输入和输出【例3.6 】分析下面程序的运行结果。 程序运行结果:程序运行结果:10010010010000010033.2 数据的输入和输出数据的输入和输出 #include void main( ) int x=100; printf(%dn,x ); printf(%6dn,x); printf(%2dn,x); pri

17、ntf(%-6dn,x); printf(%06dn,x); 3 c 格式符用来输出一个字符。有格式符用来输出一个字符。有%c、%mc、%-mc等用法。等用法。【例3.7】字符数据的输出。字符数据的输出。 3.2 数据的输入和输出数据的输入和输出程序程序运行结果如下:运行结果如下:9898b b #include void main( ) char c=b; printf(%d%5cn,c,c); / /* *以字符和整数形式输出的以字符和整数形式输出的c c变量的值变量的值* */ / 实型格式说明符实型格式说明符 十进制数形式十进制数形式 %f 指数形式指数形式 %e %g字符串格式说明符

18、字符串格式说明符 %s 3字符串字符串格式符格式符。 %s %ms %-ms %m.ns %-m.ns3.2 数据的输入和输出数据的输入和输出3【例3.8】字符串的输出。字符串的输出。 3.2 数据的输入和输出数据的输入和输出程序运行结果:程序运行结果:Beijing,Beijing,Beijing, BeijingBeijing, BeijingBei, Beij, BeiBei, Beij, Bei #include void main( ) printf(%s,%10s,%3sn ,Beijing,Beijing, Beijing); printf(%7.3s,%.4s,%-5.3sn,

19、Beijing,Beijing,Beijing); 3 实型格式说明符实型格式说明符 % m.nf m: 整个数据的宽度整个数据的宽度 n: 小数点后小数的位数小数点后小数的位数 3.2 数据的输入和输出数据的输入和输出3【例【例3.9】实数的输出。】实数的输出。程序运行结果如下:程序运行结果如下: 3.2 数据的输入和输出数据的输入和输出 #include void main( ) / /* * 以不同形式输出实数以不同形式输出实数 * */ / float f1 = 100.15799, f2 = 12.55, f3 = 1.7; / /* * 定义定义f1,f2,f3f1,f2,f3为双

20、精度型实型变量并赋值为双精度型实型变量并赋值 * */ / printf(%fn%fn%fn, f1, f2, f3); printf(%11.2fn%-11.3fn%6.1fn%3.0fn, f1,f1,f2,f3); 3说明:说明:(1)除了)除了X、E、G可以大写外,其它格式字符都必须小写可以大写外,其它格式字符都必须小写,如,如%f不能写成不能写成%F。(2)如果)如果需要输出需要输出“%”,则应该在格式控制字符串内则应该在格式控制字符串内连续连续使用两个使用两个%。 例如:例如: printf(%5.2f %n,1.0/3*100); 输出:输出:33.33%(3)格式说明)格式说明

21、说明符与要输出的数据类型要说明符与要输出的数据类型要一一对应一一对应。 3.2数据的输入和输出数据的输入和输出3.2 数据的输入和输出数据的输入和输出33.2.3 scanf函数(格式输入函数)函数(格式输入函数)3.2数据的输入和输出数据的输入和输出3.2 数据的输入和输出数据的输入和输出一般形式一般形式 scanf(“格式控制格式控制”, 内存地址表内存地址表); ; 功能:功能: 按格式控制指定的格式,从标准输入设备按格式控制指定的格式,从标准输入设备(即即键盘键盘)输入数据,并依次存放到对应地址参数指输入数据,并依次存放到对应地址参数指定的定的变量变量例:例: scanf (%d%f,

22、&a, &f); “格式控制格式控制”中包括:中包括:普通字符普通字符和和格式说格式说明符明符格式控制中有格式控制中有普通字符普通字符时,必须照时,必须照原样输入原样输入33.2数据的输入和输出数据的输入和输出3.2 数据的输入和输出数据的输入和输出输入格式说明符整型整型数据数据 %d输入十进制整型数输入十进制整型数%u输入无符号的十进制整型数输入无符号的十进制整型数%o输入八进制整型数输入八进制整型数%x输入十六进制整型数输入十六进制整型数实型实型数据数据 %f输入小数形式的输入小数形式的单精度单精度实型数实型数%e输入指数形式的输入指数形式的单精度单精度实型数实型数字符型字

23、符型数据数据 %c输入单个字符输入单个字符%s输入一个字符串输入一个字符串在和格式符之间可以使用附加说明符在和格式符之间可以使用附加说明符附加格式说明符 l与与d、o、x、u结合输入长整型数结合输入长整型数与与 f 结合输入结合输入double型数型数m指定数据输入的宽度(即域宽)指定数据输入的宽度(即域宽)*忽略读入的数据忽略读入的数据(即不将读入数据赋给相应变量)(即不将读入数据赋给相应变量)例如:%mf输入m位数(域宽)%*d忽略输入的一个整型数3.2 数据的输入和输出数据的输入和输出33.2数据的输入和输出数据的输入和输出3.2 数据的输入和输出数据的输入和输出int a,b;doub

24、le x;scanf (%d%d%lf, &a, &b, &x); scanf (%d, %d, %lf , &a, &b, &x); scanf (a=%d, b=%d, &a, &b); int i=0,j=0,k=0;scanf(%d%*d%d,&i,&j,&k);scanf(%4d%3d%4d,&a,&b,&c);如果执行时从键盘上输入:如果执行时从键盘上输入:200808082008 说明: 输入数据个数和类型必须与格式说明符输入数据个数和类型必须与格式说明符一一对一一对应

25、应地址参数形式:地址参数形式:&变量名变量名(除数组或指针变量)(除数组或指针变量) double型数据输入时,必须用型数据输入时,必须用%lf或或%le格式。格式。实型实型数输入时域宽数输入时域宽不能用不能用m.n形式的附加说明。形式的附加说明。例例: scanf(%4.1f,&f); 是非法的是非法的注意scanf的输入格式:格式控制中有格式控制中有普通字符普通字符时,必须照时,必须照原样输入原样输入 e3_10.c格式符之间若无普通字符,则:格式符之间若无普通字符,则:输入的输入的数值型数值型数据用数据用空白符、空白符、Tab、回车、回车分隔分隔 scanf (%d%d%

26、d, &a, &b, &c);输入的输入的 char型型数据数据不必分隔不必分隔 scanf (%d%d, &m, &n);scanf (%c, &ch); 错误输入:错误输入:32 28 a 正确输入:正确输入:32 28a 注意char型数据的输入格式:e3_11.c3【例【例3.12】提示输入的信息项。】提示输入的信息项。3.2数据的输入和输出数据的输入和输出程序运行结果:程序运行结果:please input a,b,c:100,200,300 a=100,b=200,c=3003.2 数据的输入和输出数据的输入和输出 # include

27、 void main( ) int a,b,c; printf(please input a,b,c:n); scanf(%d,%d,%d,&a,&b,&c); printf(a=%d,b=%d,c=%d,a,b,c); 在编写程序时,往往先用在编写程序时,往往先用printf( )函数在屏幕上输出提示,函数在屏幕上输出提示,告诉要输入的信息项告诉要输入的信息项E3_12.c3.3【例3.14】输入圆锥体的底面半径和高,求圆锥体的体积和侧面积。已知底面半径(r)和高(h),求圆锥体的体积(v)和侧面 积(s),可以使用下面的公式表示。 v=r2h/3 l= s=r l

28、顺序结构是结构化程序的3大结构之一,是3种结构中最简单、最常见的一种程序结构。特点是:顺序结构中的语句是按照书写的先后次序顺序执行的,每个语句都会被执行到,并且只能执行一次。一般而言,顺序结构的算法中应该包括的几个基本步骤为:变量定义变量定义 变量赋值变量赋值 运算处理运算处理 输出结果输出结果程序流程图如图所示:程序流程图如图所示:3.3 顺序结构程序设计顺序结构程序设计hhrr* E E3_14.c3_14.c程序如下:33.3 顺序结构程序设计顺序结构程序设计 #include #include # define PI 3.1415926 void main( ) float r,h,l

29、,v,s; printf(input r and h: ); scanf(%f,%f,&r,&h); /* 从键盘输入圆锥体的底面半径和高 */ v=PI*r*r*h/3; /* 求圆锥体的体积 */ l=sqrt(r*r+h*h); s=PI*r*l; /* 求圆锥体的侧面积 */ printf(v=%7.3fts=%7.3fn,v,s); /*输出圆锥体的体积和侧面积*/ )(21cbap)()(cpbpapps【例例3.15】 输入三角形的输入三角形的3条边长,求三角形的面积,假定输入的条边长,求三角形的面积,假定输入的3条边能构成三角形。条边能构成三角形。已知三角形的三条边长已知三角形的三条边长a、b、c,求三角形面积,可以用海伦公式。海伦公式如下:,求三角形面积,可以用海伦公式。海伦公式如下:#include /* 程序需要使用程序需要使用C语言提供的标准函数库语言提供的标准函数库 */#include /* 将数学操作函数头文件包含进来将数学操作函数头文件包含进来 */ void main( ) float a,b,c,p,s; /* 定义定义a,b,c,p,s为单数度实型变量为单数度实型变量 */printf(input a,b,c=

温馨提示

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

评论

0/150

提交评论