C语言程序设计 PPT 第3章 顺序结构 配套教材 高等教育出版社 清华大学出版社_第1页
C语言程序设计 PPT 第3章 顺序结构 配套教材 高等教育出版社 清华大学出版社_第2页
C语言程序设计 PPT 第3章 顺序结构 配套教材 高等教育出版社 清华大学出版社_第3页
C语言程序设计 PPT 第3章 顺序结构 配套教材 高等教育出版社 清华大学出版社_第4页
C语言程序设计 PPT 第3章 顺序结构 配套教材 高等教育出版社 清华大学出版社_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、3.1 赋值语句赋值语句3.2 数据输出数据输出3.3 数据输入数据输入3.4 复合语句和空语句复合语句和空语句3.5 程序举例程序举例2022年2月12日16时32分3.1 赋值赋值语句语句3.1.1 C语句的作用和分类语句的作用和分类3.1.2 最基本的语句最基本的语句-赋值语句赋值语句2022年2月12日16时32分3.1.1 C语句的作用和分类语句的作用和分类语句分为以下语句分为以下5类类:(1) 控制语句控制语句: if、switch、for、while、dowhile、continue、break、return、goto等等(2) 函数调用语句函数调用语句(3) 表达式语句表达式语

2、句(4) 空语句空语句(5) 复合语句复合语句2022年2月12日16时32分3.1.2 最基本的语句最基本的语句-赋值语句赋值语句在在C程序中,最常用的语句是:程序中,最常用的语句是:u赋值语句赋值语句u输入输出语句输入输出语句其中最基本的是赋值语句其中最基本的是赋值语句2022年2月12日16时32分3.2 数据输出数据输出2022年2月12日16时32分几乎每一个几乎每一个C程序都包含输入输出程序都包含输入输出输入输出是程序中最基本的操作之一输入输出是程序中最基本的操作之一3.2 数据输出数据输出(1) 所谓输入输出是以计算机主机为主体所谓输入输出是以计算机主机为主体而言的而言的从计算机

3、向输出设备从计算机向输出设备(如显示器、打印机如显示器、打印机等等)输出数据称为输出输出数据称为输出从输入设备(如键盘、磁盘、光盘、扫描从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为输入仪等)向计算机输入数据称为输入2022年2月12日16时32分3.2 数据输出数据输出(2) C语言本身不提供输入输出语句语言本身不提供输入输出语句输入和输出操作是由输入和输出操作是由C标准函数库中的函标准函数库中的函数来实现的数来实现的printf和和scanf不是不是C语言的关键字,而语言的关键字,而只是库函数的名字只是库函数的名字putchar、getchar、puts、gets2022年

4、2月12日16时32分3.2 数据输出数据输出(3)在使用在使用输入输出输入输出函数时,要在程序文件函数时,要在程序文件的开头用预编译指令的开头用预编译指令#include 或或#include stdio.h2022年2月12日16时32分3.2.1 printf函数函数的一般调用形式的一般调用形式在在C程序中用来实现输出和输入的,主要程序中用来实现输出和输入的,主要是是printf函数和函数和scanf函数函数这两个函数是格式输入输出函数这两个函数是格式输入输出函数用这两个函数时,必须指定格式用这两个函数时,必须指定格式2022年2月12日16时32分3.2.1 printf函数函数的一般

5、调用形式的一般调用形式printf函数的一般格式函数的一般格式printf(格式控制,输出表列)(格式控制,输出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);格式声明格式声明2022年2月12日16时32分3.2.1 printf函数函数的一般调用形式的一般调用形式printf函数的一般格式函数的一般格式printf(格式控制,输出表列)(格式控制,输出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);普通字符普通字符2022年2月12日16时32分3.2.1 printf函数函数的一般调用形式的一般调用形式printf函数的一般格式函数的一般格式pri

6、ntf(格式控制,输出表列)(格式控制,输出表列)例如:例如:printf(”i=%d,c=%cn”,i,c);可以是常量、变量或表达式可以是常量、变量或表达式2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符ud格式符。用来输出一个有符号的十进制整数格式符。用来输出一个有符号的十进制整数l可以在格式声明中指定输出数据的域宽可以在格式声明中指定输出数据的域宽 printf(”%5d%5dn”,12,-345);l%d输出输出int型数据型数据l%ld输出输出long型数据型数据2022年2月12日16时32分3.2.2 pr

7、intf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符uc格式符。用来输出一个字符格式符。用来输出一个字符 char ch=a; printf(”%c”,ch); 或或 printf(”%5c”,ch);输出字符输出字符:a2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符us格式符。用来输出一个字符串格式符。用来输出一个字符串 printf(”%s”,”CHINA”); 输出字符串输出字符串:CHINA2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用

8、格式字符格式字符uf格式符。用来输出实数,以小数形式输出格式符。用来输出实数,以小数形式输出不不指定数据宽度和小数位数,用指定数据宽度和小数位数,用%f 例例如如 用用%f输出实数,只能得到位小数。输出实数,只能得到位小数。 double a=1.0; printf(”%fn”,a/3);2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符uf格式符。用来输出实数,以小数形式输出格式符。用来输出实数,以小数形式输出 指定数据宽度和小数位数。用指定数据宽度和小数位数。用%m.nf printf(%20.15fn,1/3); pr

9、intf(%.0fn”,10000/3.0);2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符uf格式符。用来输出实数,以小数形式输出格式符。用来输出实数,以小数形式输出 指定数据宽度和小数位数。用指定数据宽度和小数位数。用%m.nf float a; a=10000/3.0; printf(%fn,a);2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符uf格式符。用来输出实数,以小数形式输出格式符。用来输出实数,以小数形式输出 输出的数据向左对齐,用

10、输出的数据向左对齐,用%-m.nf2022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符uf格式符。用来输出实数,以小数形式输出格式符。用来输出实数,以小数形式输出lfloat型数据只能保证型数据只能保证6位有效数字位有效数字ldouble型数据能保证型数据能保证15位有效数字位有效数字l计算机输出的数字计算机输出的数字不都不都是绝对精确有效的是绝对精确有效的2022年2月12日16时32分有以下程序有以下程序#include main() int k=-17; printf(%d,%o,%xn, k, 1-k, 1-k);程序

11、的运行结果是程序的运行结果是A) -17,22,12B) -17,12,22C) -17,-22,-12D) 17,22,12 【解析解析】整型常量有整型常量有3种表示方法,分别是十种表示方法,分别是十进制数表示法、八进制进制数表示法、八进制数表示法和十六进制数数表示法和十六进制数表示法。十进制整常量表示法。十进制整常量没有前缀,输出格式控没有前缀,输出格式控制符为制符为%d;八进制整;八进制整常量以作为前缀,输常量以作为前缀,输出格式控制符为出格式控制符为%o;十六进制整常量以十六进制整常量以0X或或0 x作为前缀,输出作为前缀,输出格式控制符为格式控制符为%x。1-k=18,整型常量,整型

12、常量18用用八进制表示为八进制表示为22,十,十六进制表示为六进制表示为12,A选选项正确。项正确。参考答案:参考答案:A2022年2月12日16时32分设有定义:设有定义:double x=2.12;,以,以下不能完整输出变量下不能完整输出变量x值的语句值的语句是是A) printf(x=%5.0fn,x);B) printf(x=%fn,x);C) printf(x=%lfn,x);D) printf(x=%0.5fn,x); 参考参考答案:答案:AA输出输出为为2B输出输出为为2.120000C输出输出为为2.120000D输出输出为为2.12000【解析】【解析】float类型变量有效

13、位数为类型变量有效位数为67位,位,double类型变量有类型变量有效位数为效位数为1516位。位。printf函数控制字符函数控制字符%f输出输出float类型,类型,%lf输出输出double类型。对于类型。对于float或或double型数据,在指定数据输型数据,在指定数据输出宽度的同时,也可以指定小数位的位数,格式为出宽度的同时,也可以指定小数位的位数,格式为%m.nf,表,表示数据输出总的宽度为示数据输出总的宽度为m位,其中小数部分占位,其中小数部分占n位。当数据的位。当数据的小数位多于指定宽度时,截去右边多余的小数,并对截去的小数位多于指定宽度时,截去右边多余的小数,并对截去的第一

14、位小数做四舍五入处理;而当数据的小数位少于指定宽度第一位小数做四舍五入处理;而当数据的小数位少于指定宽度时,在小数的右边补零;当时,在小数的右边补零;当m小于有效位数时,整数部分输小于有效位数时,整数部分输出所有有效数字并且自动对齐,小数部分按照出所有有效数字并且自动对齐,小数部分按照n指定位数输出。指定位数输出。2022年2月12日16时32分若有以下程序段若有以下程序段 double x=5.16894; printf(%fn, (int)(x*1000+0.5)/(double)1000 ); 则程序段的输出结果是则程序段的输出结果是A) 5.170000B) 5.175000C) 5.

15、169000D) 5.168000 参考参考答案:答案:C【解析】【解析】%f的输出格式是以带小数点的数学形式输出浮的输出格式是以带小数点的数学形式输出浮点数。首先计算点数。首先计算x*1000,结果为,结果为5168.94然后然后+0.5,结果结果为为5169.44,然后进行强制类型转换然后进行强制类型转换,转换成整型为转换成整型为5169,然后除以双精度数据然后除以双精度数据1000,结果也为双精度数据结果也为双精度数据5.169,输输出时按照出时按照%f的格式输出,所以输出结果为的格式输出,所以输出结果为5.169000 2022年2月12日16时32分3.2.2 printf函数函数中

16、常用的格式说明中常用的格式说明常用常用格式字符格式字符ue格式符。指定以指数形式输出实数格式符。指定以指数形式输出实数l%e,VC+给出小数位数为位给出小数位数为位 指数部分占指数部分占5列列 小数点前必须有而且只有小数点前必须有而且只有1位非零数字位非零数字 printf(”%e”,123.456); 输出:输出:1.234560 e+0022022年2月12日16时32分3.2.2 printf函数函数中常用的格式说明中常用的格式说明常用常用格式字符格式字符ue格式符。指定以指数形式输出实数格式符。指定以指数形式输出实数l%m.ne printf(”%13.2e”,123.456); 输出

17、:输出: 1.23e+002 (前面有前面有4个空格个空格)2022年2月12日16时32分若要输出若要输出%,可以在格式控制中使用,可以在格式控制中使用%表示表示,将输出一个,将输出一个%符号。符号。格式控制格式控制中必须含有与输出项一一对应的输出格中必须含有与输出项一一对应的输出格式说明,类型必须匹配。若不匹配,则不能正确式说明,类型必须匹配。若不匹配,则不能正确输出,但编译时不会报错。若格式说明个数少于输出,但编译时不会报错。若格式说明个数少于输出项个数,则多余的输出项不予输出;若格式输出项个数,则多余的输出项不予输出;若格式说明的个数多余输出项个数,则输出毫无意义的说明的个数多余输出项

18、个数,则输出毫无意义的数字乱码。数字乱码。2022年2月12日16时32分3.2.3 使用使用printf函数函数时的注意事项时的注意事项3.3 数据输入数据输入3.3.1 scanf函数的一般调用形式函数的一般调用形式scanf 函数的一般形式函数的一般形式 scanf(格式控制,地址表列)(格式控制,地址表列)含义同含义同printf函数函数2022年2月12日16时32分3.3.1 scanf函数的一般调用形式函数的一般调用形式scanf 函数的一般形式函数的一般形式 scanf(格式控制,地址表列)(格式控制,地址表列)可以是变量的地址,或字可以是变量的地址,或字符串的首地址符串的首地

19、址注意:地址表列的参数必须是地址,注意:地址表列的参数必须是地址,不能直接引用变量名不能直接引用变量名2022年2月12日16时32分3.3.2 scanf函数中常用的格式说明函数中常用的格式说明scanf函数中的格式声明函数中的格式声明与与printf函数中的格式声明相似函数中的格式声明相似以开始以开始,以一个格式字符结束,中间可以一个格式字符结束,中间可以插入附加的字符以插入附加的字符scanf(a=%f,b=%f,c=%f,&a,&b,&c);2022年2月12日16时32分3.3.3 通过通过scanf函数从键盘输入数据函数从键盘输入数据使用使用scanf函数时

20、应注意的问题函数时应注意的问题scanf(”%f%f%f”,a,b,c); 错错scanf(”%f%f%f”,&a,&b,&c); 对对对于对于scanf(a=%f,b=%f,c=%f,&a,&b,&c); 1 3 2 错错 a=1,b=3,c=2 对对 a=1 b=3 c=2 错错2022年2月12日16时32分3.3.3 通过通过scanf函数从键盘输入数据函数从键盘输入数据使用使用scanf函数时应注意的问题函数时应注意的问题对于对于scanf(”%c%c%c”,&c1,&c2,&c3); abc 对对 a b c

21、错错对于对于scanf(”%d%c%f”,&a,&b,&c);若输入若输入 1234a123o.26 2022年2月12日16时32分3.3.3 通过通过scanf函数从键盘输入数据函数从键盘输入数据使用使用scanf函数时应注意的问题函数时应注意的问题对于对于scanf(”%c%c%c”,&c1,&c2,&c3); abc 对对 a b c 错错对于对于scanf(”%d%c%f”,&a,&b,&c);若输入若输入 1234a123o.26 2022年2月12日16时32分3.3.3 通过通过scanf函数从键盘输入数据

22、函数从键盘输入数据使用使用scanf函数时应注意的问题函数时应注意的问题对于对于scanf(”%c%c%c”,&c1,&c2,&c3); abc 对对 a b c 错错对于对于scanf(”%d%c%f”,&a,&b,&c);若输入若输入 1234a123o.26 2022年2月12日16时32分3.4 复合语句和空语句复合语句和空语句 3.4.1 复合语句复合语句2022年2月12日16时32分 在在C语言中,一对花括号语言中,一对花括号“”不仅不仅可用作函数体的开头和结尾的标志,也可用作函数体的开头和结尾的标志,也可用作复合语句的开头和结尾的

23、标志。可用作复合语句的开头和结尾的标志。复合语句也可称为复合语句也可称为“语句块语句块”,其语句,其语句形式如下:形式如下:语句语句1 语句语句2 语句语句N3.4.2 空语句空语句2022年2月12日16时32分C程序中所有语句都必须由一个分号程序中所有语句都必须由一个分号“;”作为结束。如果只有一个分号,如:作为结束。如果只有一个分号,如:main();这个分号也是一条语句,称为这个分号也是一条语句,称为“空语句空语句”3.5 程序举例程序举例 例例3.1 给出三角形的三边长,求三给出三角形的三边长,求三角形面积。角形面积。2022年2月12日16时32分3.5 程序举例程序举例解题思路:

24、假设给定的三个边符合构成解题思路:假设给定的三个边符合构成三角形的条件三角形的条件关键是找到求三角形面积的公式关键是找到求三角形面积的公式公式为:公式为:其中其中s=(a+b+c)/2)()(csbsassarea2022年2月12日16时32分#include #include int main ( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); retur

25、n 0; 对边长对边长a、b、c赋值赋值计算计算s计算计算area2022年2月12日16时32分#include #include int main ( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; 数学函数,数学函数,计算计算平方根平方根调用数学函数调用数学函数加此行加此行2022年2月12日16时32分#include #inclu

26、de int main ( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; 转义字符转义字符,使输出位置跳使输出位置跳到下一个到下一个tab位置位置调用数学函数调用数学函数加此行加此行2022年2月12日16时32分例例3.2 求求 方程的根。方程的根。a、b、c由键盘输入由键盘输入 设设 02cbxaxacb422022年2月12日16时

27、32分3.5 程序举例程序举例3.5 程序举例程序举例解题思路:首先要知道求方程式的根解题思路:首先要知道求方程式的根的方法。的方法。由数学知识已知:如果由数学知识已知:如果 0,则一元二次方程有两个实根,则一元二次方程有两个实根:acb42aacbbx2421aacbbx2422abp2aacbq242若记若记qpx1qpx22022年2月12日16时32分#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*

温馨提示

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

评论

0/150

提交评论