《第3章-顺序结构程序设计..优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第3章-顺序结构程序设计..优秀PPT.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022/11/41回顾复习回顾复习(运算符和表达式运算符和表达式)算术运算符:算术运算符:算术运算符:算术运算符:+-*/%(+-)*/%(+-)赋值运算符:赋值运算符:赋值运算符:赋值运算符:=+=-=/=+=-=/=条件运算符:条件运算符:条件运算符:条件运算符:?:?:?:逗号运算符逗号运算符逗号运算符逗号运算符 :,(,(,(,(表达式表达式1 1,表达式,表达式2 2,表达式,表达式n n)2022/11/42本次课内容本次课内容 2.4 数据类型转换数据类型转换 第第3章章 依次结构程序设计依次结构程序设计3.1 C语言的基本语句语言的基本语句3.2 数据输入与输出(重点)数据输
2、入与输出(重点)2022/11/43 形式有两种:形式有两种:sizeof(sizeof(变量名变量名)返回变量的字节长度返回变量的字节长度sizeof(sizeof(类型名类型名)返回类型的字节长度返回类型的字节长度 结果为整型数。结果为整型数。int a int a;float xfloat x;printf(printf(“%d,%d%d,%d”,sizeof(a),sizeof(x);,sizeof(a),sizeof(x);printf(printf(“%d,%d%d,%d”,sizeof(int),sizeof(float);,sizeof(int),sizeof(float);以
3、上两个以上两个printfprintf语句结果均为语句结果均为 。例如例如3 3、求求字节运算符:字节运算符:sizeof 作用:求得变量或某种数据类型所需的字节数。作用:求得变量或某种数据类型所需的字节数。2 2,4 42.3 2.3 运算符与表达式运算符与表达式2022/11/44思索思索已知:已知:float a=2.0;int b=6,c=3;求解表达式:求解表达式:a*b/c-1.5+a+fabs(-5)结果结果的数据类型?的数据类型?2022/11/45 C C语言允许整型、实型、字符型数据进行混合运算。语言允许整型、实型、字符型数据进行混合运算。有有3 3种转换方式:自动转换、赋
4、值转换和强制转换。种转换方式:自动转换、赋值转换和强制转换。一、类型自动转换一、类型自动转换 2.4 2.4 数据类型转换数据类型转换 double floatunsigned long long unsigned int int char,short特点:由数值存储位数少特点:由数值存储位数少的向多的转换;整型向实的向多的转换;整型向实型转换!型转换!操作数为相同类型的不转操作数为相同类型的不转换,仍取原类型!换,仍取原类型!2.4 2.4 数据类型转换数据类型转换2022/11/46 int x=2;float y=1.6;char c=int x=2;float y=1.6;char c
5、=A A;则:则:c +1/x *yc +1/x *y =例如例如char c=68.5;printf(“%c”,c);65(int)+0(int)*1.6(float65(int)+0(int)*1.6(float)65.0(double)65.0(double)二、赋值转换二、赋值转换 在赋值时将赋值符右边值的类型转换成与其左边变量类型在赋值时将赋值符右边值的类型转换成与其左边变量类型 一样的类型。一样的类型。有下列几种状况:有下列几种状况:(1)(1)实型实型 整型(字符型):去掉小数部分;整型(字符型):去掉小数部分;2.4 2.4 数据类型转换数据类型转换2022/11/47(2)(
6、2)整型(字符型)整型(字符型)实型:实型:补足有效位;补足有效位;float f=23;23.00000 f(7位)位)double f=A;65.0000000000000 f(15位)位)(3)(3)对对charchar、intint、shortshort、longlong、unsignedunsigned型数据:型数据:赋值符右边数据(赋值符右边数据(a a位)位)赋值符左边的变量(赋值符左边的变量(b b位)位)若若 a=ba=b abab abab原样照赋;原样照赋;截断高截断高a-ba-b位,送低位,送低b b 位;位;有符号数据有符号数据 有符号变量:符号扩展;有符号变量:符号
7、扩展;其他状况:高其他状况:高b-ab-a位全补位全补0 0。符号扩展:符号扩展:符号位为符号位为0 0,剩余的高位补,剩余的高位补0 0;符号位为符号位为1 1,剩余的高位补,剩余的高位补1 1。2.4 2.4 数据类型转换数据类型转换2022/11/48数据类型转换数据类型转换赋值转换赋值转换整型数据赋值给单、双精度变量,数值不变,整型数据赋值给单、双精度变量,数值不变,但以浮点数形式存储。但以浮点数形式存储。实型数据赋值给整型变量,舍弃实数小数部分。实型数据赋值给整型变量,舍弃实数小数部分。字符型数据赋值给整型变量,字符数据放入到字符型数据赋值给整型变量,字符数据放入到整型变量低整型变量
8、低8 8位中,整型变量高位中,整型变量高8 8位补位补0 0或补或补1 1。整型数据整型数据(int)(int)赋值给赋值给longintlongint型变量,进行符号型变量,进行符号扩展,扩展,longintlongint型变量高型变量高1616位补位补0 0或补或补1 1。无符号整型数据无符号整型数据(unsignedint)(unsignedint)赋值给赋值给longintlongint型变量,型变量,longintlongint型变量高型变量高1616位补位补0 0。2022/11/49数据类型转换数据类型转换三、强制类型转换:将一个表达式转换为指定类型三、强制类型转换:将一个表达式
9、转换为指定类型(类型名类型名)()(表达式表达式)intx=6,y=4;intx=6,y=4;则则x/y=_x/y=_intx=6,y=4;intx=6,y=4;则则(float)(x/y)=_(float)(x/y)=_intx=6,y=4;intx=6,y=4;则则(float)x/y=_(float)x/y=_留意:强制转换得到所需类型的中间变量,原变留意:强制转换得到所需类型的中间变量,原变量类型不变量类型不变11.0000001.500000例 main()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.6000
10、00,i=3较高类型向较低类型转换时可能发生精度损失问题2022/11/4103.1 C语言的基本语句语言的基本语句3.2 数据输入与输出数据输入与输出3.3 程序举例程序举例第第3章章 依次结构程序设计依次结构程序设计2022/11/411依次结构执行流程依次结构执行流程l l流程图开始开始AB结束结束l lN-S图开始开始AB结束结束l l执行流程1.先执行A语句2.再执行B语句圆角矩形表示圆角矩形表示“起先起先”或或“结束结束”方角矩形表示方角矩形表示“操作语句操作语句”2022/11/412 程序设计语言有依次、选择、循环三种基本的限制结构。程序设计语言有依次、选择、循环三种基本的限制
11、结构。BA图图3.1 依次结构执行流程依次结构执行流程 依次结构是最基本的限制结构,其包含的语句是依据依次结构是最基本的限制结构,其包含的语句是依据书写的依次执行的,且每条语句都将被执行。程序流程如书写的依次执行的,且每条语句都将被执行。程序流程如图图3.1 所示,语句按书写依次执行。先执行所示,语句按书写依次执行。先执行A,再执行,再执行B。例:例:#include main()int a=10,x=5,y=6;a+=a*=6;x=y+;y=+x;a=x+y;printf(“%d,%d,%d”,a,x,y);输出:输出:14,8,72022/11/413基本语句基本语句简单语句简单语句表达式
12、语句表达式语句表达式表达式;函数调用语句函数调用语句函数名函数名(参数名参数名););空语句空语句;数据数据复合语句复合语句 多条语句多条语句 操作操作条件语句条件语句if if,switchswitch语句语句结构化语句结构化语句whilewhile流程流程循环语句循环语句do-whiledo-while控制控制forfor语句语句非结构化语句非结构化语句breakbreak,continuecontinue,returnreturn非限定转向语句非限定转向语句2022/11/414简洁语句简洁语句1.1.表达式语句表达式语句一般形式:一般形式:表达式表达式;y+;y+;x=3;x=3;2.
13、2.函数调用语句(函数调用语句(由函数调用表达式加分号构成)由函数调用表达式加分号构成)由函数调用表达式加分号构成)由函数调用表达式加分号构成)一般形式:一般形式:函数名函数名(参数列表参数列表););如:如:如:如:printf(printf(“%d%d”,a);scanf(,a);scanf(“%f%f”,&b);,&b);abs(x);abs(x);C 语语言言有有丰丰富富的的标标准准函函数数库库,可可供供应应各各类类函函数数供供用用户户调调用用,完完成成预预先先设设定定好好的的操操作作.例例如如调调用用标标准准库库函函数数求求数数学学函函数数值值:sin(x)、cos(x)、exp(x
14、)(求求ex)、fabs(x)(求求x的确定值的确定值)、log(x)等。等。3.空语句空语句 一般形式:一般形式:;数学表达式数学表达式 y=|3sinx+4cosx|+ey=|3sinx+4cosx|+ex x,用用C C语言表示为:语言表示为:y=fabs(3*sin(x)+4*cos(x)+exp(x);2022/11/415 复合语句复合语句 语句1;语句n;用一对花括号,把若干条语句括起来,用一对花括号,把若干条语句括起来,就形成了一条复合语句。形式如下:就形成了一条复合语句。形式如下:花括号中的语句,可以是简洁语句、空语句、花括号中的语句,可以是简洁语句、空语句、复合语句、流程限
15、制语句,全部这些语句括在一复合语句、流程限制语句,全部这些语句括在一起,在语法上看成是一条语句,执行时依次执行起,在语法上看成是一条语句,执行时依次执行花括号中的每条语句。复合语句多用于流程限制花括号中的每条语句。复合语句多用于流程限制语句中。语句中。2022/11/4163.2 3.2 数据输入与输出(重点)数据输入与输出(重点)C语言本身不供应输入输出语句,得由标准I/O库函数供应。输入输出库函数很丰富,可以从键盘、显示器、磁盘文件和硬件端口进行输入或输出操作。本节主要介绍用于键盘输入和显示器输出的函数。2022/11/417字符输出函数字符输出函数1.1.一般形式:putchar(函数参
16、数);2.2.函数功能:向标准输出设备(显示器)输出一个字符。3.3.函数的参数可以是字符常量、字符变量或者整型变量。#include main()int i=97;char ch=a;putchar(a);putchar(i);putchar(ch);程序输出结果是:程序输出结果是:_aaa2022/11/418字符输入函数字符输入函数1.1.一般形式:一般形式:字符型变量字符型变量=getchar();=getchar();2.2.函数功能:从输入设备(键盘)上输入函数功能:从输入设备(键盘)上输入一个一个一个一个字符。字符。3.3.字符输入函数每调用一次,就从标准输入设备上字符输入函数每
17、调用一次,就从标准输入设备上取一个字符。取一个字符。4.4.函数值可以赋给一个字符变量,也可以赋给一个函数值可以赋给一个字符变量,也可以赋给一个整型变量。整型变量。#include main()char ch;int i;ch=getchar();i=getchar();putchar(ch);putchar(i);已知从键盘上分别输入已知从键盘上分别输入a和和65,则程序输出结果:则程序输出结果:_a62022/11/419字符输入函数字符输入函数int getchar(void)从输入设备从输入设备(一般为键盘一般为键盘)上输入一个字符。它每被调上输入一个字符。它每被调用一次,就从标准输入
18、设备上取一个字符,返回值是该字用一次,就从标准输入设备上取一个字符,返回值是该字符的符的ASCIIASCII编码值,可以赋给字符变量或整型变量。编码值,可以赋给字符变量或整型变量。例:例:#include main()int i,j;char c;i=getchar();putchar(i);j=getchar();putchar(j);c=getchar();putchar(c);思索思索:以下三种不同的输入,以下三种不同的输入,输出状况如何?输出状况如何?1.abcdefg 2.ab 3.a bcdefg 执行执行getchar()getchar()时输入字符以回车结束,回车后,时输入字符
19、以回车结束,回车后,程序才会响应输入,接着执行后续语句;同时回车字程序才会响应输入,接着执行后续语句;同时回车字符也可以做为输入的字符。符也可以做为输入的字符。留意留意2022/11/420格式输出函数格式输出函数l l一般形式:一般形式:printf(“printf(“格式限制字符串格式限制字符串”,”,输出项输出项列表列表););函数功能:按规定格式向输出设备(显示器)输函数功能:按规定格式向输出设备(显示器)输出数据。出数据。1.“1.“格式限制字符串格式限制字符串”必需用英文的双引号括起来,必需用英文的双引号括起来,它的作用是限制输出项的格式和输出一些提示信息。它的作用是限制输出项的格
20、式和输出一些提示信息。2.2.“输出项列表输出项列表”列出要输出的表达式,它可以是列出要输出的表达式,它可以是0 0个、个、1 1个或者多个,多个输出项之间用个或者多个,多个输出项之间用,作为分隔符。作为分隔符。3.3.输出的数据可以是整数、实数、字符和字符串。输出的数据可以是整数、实数、字符和字符串。2022/11/421格式输出函数的一般形式格式输出函数的一般形式printf(“格式限制字符串格式限制字符串”,输出参数表输出参数表);用双引号括起来,限制输出项的格式和输出一些提示信息 可以是一个或多个输出项.可以是常量或变量表达式,用逗号分隔。类型可以是整型实型字符型和字符串.具体的讲,具
21、体的讲,printf语句,就是把输出参数表中的表达式的值,语句,就是把输出参数表中的表达式的值,依据格式限制字符串的格式,依次在指定的位置输出,假依据格式限制字符串的格式,依次在指定的位置输出,假如输出位置不够,从左到右依次输出前几个的值。如输出位置不够,从左到右依次输出前几个的值。2022/11/422printf(“格式限制字符串格式限制字符串”,输出项列表输出项列表);l l格式限制字符串的组成格式限制字符串的组成l l一般字符:按原样输出,主要用于输出提示信息。一般字符:按原样输出,主要用于输出提示信息。l l#include#includel lmain()main()l linta
22、=3;inta=3;l lprintf(“%dn”,a);printf(“%dn”,a);l lprintf(“a=%dn”,a);printf(“a=%dn”,a);l l l l转义字符:指明特定的操作转义字符:指明特定的操作,如如”n”n”表示换行。表示换行。l l输出项格式说明:由输出项格式说明:由“%”“%”和和“格式字符串格式字符串”组成,它表组成,它表示按规定的格式输出数据。示按规定的格式输出数据。l l格式说明形式:格式说明形式:%flagswidth.precF|N|h|ltype%flagswidth.precF|N|h|ltype3a=32022/11/423%flags
23、width.precF|N|h|ltypel ltypetype:为可选的格式字符,用来进行格式转换。:为可选的格式字符,用来进行格式转换。字符字符说明说明d d(或(或i i)以带符号的十进制数形式输出整数,正数不输出正号(以带符号的十进制数形式输出整数,正数不输出正号(+)o o以八进制无符号形式输出整数,不输出前导符数字以八进制无符号形式输出整数,不输出前导符数字0 0 x x(或(或X X)以十六进制无符号形式输出整数,不输出前导符数字以十六进制无符号形式输出整数,不输出前导符数字0 x0 xu u以无符号十进制形式输出整数以无符号十进制形式输出整数c c输出一个字符输出一个字符s s
24、输出一个字符串输出一个字符串f f以小数形式输出实数,默认输出以小数形式输出实数,默认输出6 6位小数位小数e e(或(或E E)以指数形式输出实数,尾数部分小数数位为以指数形式输出实数,尾数部分小数数位为6 6位位g g(或(或GG)由给定的值和精度自动选用由给定的值和精度自动选用%f%f或或%e%e或或E E格式格式%输出百分号输出百分号l标准输出宽度共占标准输出宽度共占13位位1.尾数尾数整数部分为非零数字占整数部分为非零数字占1位位小数点小数点1位,小数占位,小数占6位位2.指数指数正(负)号占正(负)号占1位位指数占指数占3位位2022/11/424%flagswidth.precF
25、|N|h|ltype1.1.:表示该项为可选项。:表示该项为可选项。2.2.widthswidths:可选择的宽度指示符,用十进制正整数:可选择的宽度指示符,用十进制正整数指定数据输出时的位数。指定数据输出时的位数。3.3.指定位数指定位数 实际位数,补空格。实际位数,补空格。4.4.指定位数指定位数 实际位数,依据实际个数原样输出。实际位数,依据实际个数原样输出。5.5.inta=3456;inta=3456;6.6.printf(“%dn”,a);printf(“%dn”,a);7.7.printf(“%8dn”,a);printf(“%8dn”,a);8.8.printf(“%3dn”,
26、a);printf(“%3dn”,a);3456345634562022/11/425%flagswidth.precF|N|h|ltype3.3.flagsflags:可选的标记字符,常用标记字符如下。:可选的标记字符,常用标记字符如下。4.4.-:左对齐输出,默认为右对齐输出。:左对齐输出,默认为右对齐输出。5.5.inta=3456;inta=3456;6.6.printf(“%8d”,a);printf(“%8d”,a);7.7.printf(“endn”);printf(“endn”);8.8.printf(“%-8d”,a);printf(“%-8d”,a);9.9.printf(
27、“endn”);printf(“endn”);10.10.+:正数输出加号(:正数输出加号(+),负数输出减号(),负数输出减号(-)。)。11.11.inta=12,b=-15;inta=12,b=-15;12.12.printf(“%d,%+dn”,a,a);printf(“%d,%+dn”,a,a);13.13.printf(“%d,%+dn”,b,b);printf(“%d,%+dn”,b,b);345612,+12-15,-153456endend2022/11/426%flagswidth.precF|N|h|ltype3.3.flagsflags:可选的标记字符,常用标记字符如下
28、。:可选的标记字符,常用标记字符如下。4.4.空格:正数输出空格代替加号(空格:正数输出空格代替加号(+),负数输),负数输出减号(出减号(-)。)。5.5.inta=12,b=-15;inta=12,b=-15;6.6.printf(“%d,%dn”,a,a);printf(“%d,%dn”,a,a);7.7.printf(“%d,%dn”,b,b);printf(“%d,%dn”,b,b);12,-15,-15121 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17777ffff7main()int a=1;printf(“a=%d,%o,%x,%un”,a,a,a,a);%o
29、%o按整型数据的实际长度,以八进制按整型数据的实际长度,以八进制形式输出整数。即将内存单元中的各形式输出整数。即将内存单元中的各二进制的值按八进制形式输出二进制的值按八进制形式输出2022/11/427%flagswidth.precF|N|h|ltype4.4.prec.prec:为可选的精度指示符,用:为可选的精度指示符,用“小数点小数点”加加“十进制正整数十进制正整数”表示。表示。对于对于“整数整数”,表示至少要输出的数字个数,表示至少要输出的数字个数,不足补不足补0 0;超过则原样输出;超过则原样输出;对于对于“实数实数”,表示小数点后至多输出的数字,表示小数点后至多输出的数字个数,不
30、足补个数,不足补0 0,超过则舍入处理。,超过则舍入处理。对于对于“字符串字符串”,表示最多输出的字符个数,表示最多输出的字符个数,不足补空格,多则丢弃。不足补空格,多则丢弃。floatb=3.1415926;floatb=3.1415926;printf(printf(“%f fnn”,b);,b);printf(printf(“%.2f.2fnn”,b);,b);printf(printf(“%.11f.11fnn”,b);,b);printf(printf(“%8.2f8.2fnn”,b);,b);3.1415933.143.14 2022/11/428%flagswidth.precF
31、|N|h|ltype5.5.F|N|h|l:为可选的输出长度修饰符。F:输出远指针存放的地址;N:输出近指针存放的地址;h:输出短整型数据的值;l:输出长整型或双精度型数据的值。inta=5;shortb=7;longc=40000;inta=5;shortb=7;longc=40000;printf(printf(“%dn%dn”,a);,a);printf(printf(“%_n%_n”,b);,b);printf(printf(“%_n%_n”,c);,c);hdld2022/11/429综合综合#include#includemain()main()intn=-1;intn=-1;ch
32、arch=a;charch=a;floatf=-123.456;floatf=-123.456;clrscr();clrscr();printf(%printf(%d d,%,%u un,n,n);n,n,n);printf(%printf(%-5d-5d,%,%5d5dn,n,n);n,n,n);printf(%printf(%o o,%,%x xn,n,n,n,n);n,n,n,n,n);printf(%printf(%5c5c,%,%c c,%,%d dn,ch,ch,ch);n,ch,ch,ch);printf(%printf(%s s,%,%5s5s,%,%10s10sn,n,pro
33、gram,program,programprogram,program,program););printf(%printf(%f f,%,%.2f.2f,%,%8.2f8.2fn,f,f,f);n,f,f,f);printf(%printf(%f f,%,%e e,%,%g gn,f,f,f);n,f,f,f);-1,65535-1 ,-1 17777,ffff a,a,97program,program,programprogram,program,program-123.456001,-123.46,-123.46-123.456001,-123.46,-123.46123.456001,
34、-1.23456e+02,-123.456123.456001,-1.23456e+02,-123.456 2022/11/430输输 出出 表表 列列main()int i=8,j=10,m,n;m=+i;n=j+;printf(“n%d,%d,%d,%d”,i,j,m,n);9,11,9,10main()int i=8,j=10;printf(“n%d,%d,%d,%d”,i,j,+i,j+);9,11,9,10printf()printf()printf()printf()在处理输出列表时,是从右到左进行运算的,在处理输出列表时,是从右到左进行运算的,在处理输出列表时,是从右到左进行运算
35、的,在处理输出列表时,是从右到左进行运算的,但输出时,是按从左到右的依次排列的。但输出时,是按从左到右的依次排列的。但输出时,是按从左到右的依次排列的。但输出时,是按从左到右的依次排列的。2022/11/431格式输入函数格式输入函数l l一般形式:一般形式:scanf(“scanf(“格式限制字符串格式限制字符串”,”,地址列表地址列表););l l函数功能:按规定格式从键盘输入若干任何类型的数据函数功能:按规定格式从键盘输入若干任何类型的数据给指定的变量。给指定的变量。l l格式限制字符串的组成:实现格式限制格式限制字符串的组成:实现格式限制l l格式字符格式字符l l一般字符一般字符l
36、l形式:形式:%*widthF|Nh|ltype%*widthF|Nh|ltypel l地址列表地址列表l l由若干个地址组成的列表,各地址之间以逗号由若干个地址组成的列表,各地址之间以逗号,间隔。间隔。l l形式:形式:&变量名变量名l lscanf(“%d,%f”,&a,&b);scanf(“%d,%f”,&a,&b);scanfscanf语句在运行时,会停下来,等待从键盘输入值依次语句在运行时,会停下来,等待从键盘输入值依次存入地址列表中的地址空间,即相当于从键盘给变量赋值。存入地址列表中的地址空间,即相当于从键盘给变量赋值。2022/11/432格式字符串:格式字符串:格式字符串:格式
37、字符串:%*widthwidthF|Nh|ltypeF|Nh|ltypewidthwidth:宽度指示符,表示该输入项最多可输入的:宽度指示符,表示该输入项最多可输入的字符个数。字符个数。scanf(“%3d%5d”,&a,&b);scanf(“%3d%5d”,&a,&b);printf(“a=%dnb=%dn”,a,b);printf(“a=%dnb=%dn”,a,b);1.1.假如执行时从键盘输入:假如执行时从键盘输入:20012000002001200000,则输出结果,则输出结果a=a=b=b=2.2.假如执行时从键盘输入:假如执行时从键盘输入:2001200=0002001200=0
38、00,则输出结果,则输出结果a=a=b=b=输入过程中遇到空格或不行转换字符,读入将削减。输入过程中遇到空格或不行转换字符,读入将削减。2001200020012002022/11/433格式字符串:格式字符串:格式字符串:格式字符串:%*widthF|Nh|ltypewidthF|Nh|ltypel l*:输入赋值抑制字符,表示该格式说明要求输入数据,但不赋值,也即在地址列表中没有对应的地址项。l lscanf(“%3d%*5d%f”,&a,&b);l l假如执行时从键盘输入:200120004.1l l则a赋值为_,b赋值为_。2004.12022/11/434scanf函数留意事项函数留
39、意事项1.1.输入数据分隔处理2.2.当须要输入多个数据时,分隔符必需和格式字符串中的分隔符一样。3.3.scanf(“%d,%d,%d”,&a,&b,&c);4.4.正确输入格式:3,5,85.5.假如格式字符串中没有指明分隔符,输入时运用默认的分隔符空格或者回车或者tab键。6.6.scanf(“%d%d%d”,&a,&b,&c);7.7.正确输入格式:3=5=8或8.8.358scanf(“a=%d,b=%d”,&a,&b);输入:输入:a=1,b=2回车回车2022/11/435scanf运行时留意事项运行时留意事项2.2.用用scanfscanf函数输入实数,格式说明符为函数输入实数
40、,格式说明符为%f%f,但不,但不允许规定精度。允许规定精度。3.3.floatm;floatm;4.4.scanf(“%f”,&m);scanf(“%f”,&m);5.5.scanf(“%10f”,&m);scanf(“%10f”,&m);6.6.scanf(“%10.2f”,&m);scanf(“%10.2f”,&m);7.7.假如输入时类型不匹配,假如输入时类型不匹配,scanfscanf函数将停止处理,函数将停止处理,其返回值为零。其返回值为零。8.8.inta;floatm;charch;inta;floatm;charch;9.9.scanf(“%d:%c:%f”,&a,&ch,&
41、m);scanf(“%d:%c:%f”,&a,&ch,&m);10.10.从键盘输入以下数据:从键盘输入以下数据:5:a:b5:a:b,则程序终止。,则程序终止。2022/11/436scanf运行时留意事项运行时留意事项4.4.假如连续输入多个字符型数据,空格也将作为字符接收。5.5.charm,n,t;6.6.scanf(“%c%c%c”,&m,&n,&t);7.7.printf(“m=%cnn=%cnt=%cn”,m,n,t);8.8.scanf运行时从键盘输入a=b=c,则输出结果9.9.m=10.10.n=11.11.t=ab2022/11/4373.3 3.3 程序举例程序举例 例
42、例3.13.1输入圆的半径,输出圆的周长和面积。输入圆的半径,输出圆的周长和面积。分析:分析:1.定义实型变量r、l、s用于存放半径、周长、面积;2.调用输入函数,输入r:3.分别利用周长公式和面积公式求出l、s;4.调用输出函数输出l、s。#include#includemain()main()floatrfloatr,l l,s s;scanf(scanf(“%f%f”,&r)&r);l=2*3.14159*rl=2*3.14159*r;s=3.14159*r*rs=3.14159*r*r;printf(printf(“nl=%.4fnl=%.4f”,l)l);printf(printf(
43、“ns=%.4fns=%.4f”,s)s);2022/11/438总结:总结:1 1、数据类型转换(自动转换、赋值转换和强制转换)。、数据类型转换(自动转换、赋值转换和强制转换)。、数据类型转换(自动转换、赋值转换和强制转换)。、数据类型转换(自动转换、赋值转换和强制转换)。2 2、依次结构程序设计、依次结构程序设计、依次结构程序设计、依次结构程序设计(1 1)C C语言的基本语句:简洁语句,复合语句语言的基本语句:简洁语句,复合语句语言的基本语句:简洁语句,复合语句语言的基本语句:简洁语句,复合语句(2 2)C C语言的输入输出函数:语言的输入输出函数:语言的输入输出函数:语言的输入输出函数
44、:字符输入函数:字符输入函数:字符输入函数:字符输入函数:getchar()getchar();字符输入函数:字符输入函数:字符输入函数:字符输入函数:putchar(putchar(函数参数函数参数函数参数函数参数);格式输出函数:格式输出函数:格式输出函数:格式输出函数:printf(“printf(“格式限制符格式限制符格式限制符格式限制符”,输出项列表,输出项列表,输出项列表,输出项列表)格式输入函数:格式输入函数:格式输入函数:格式输入函数:scanf(“scanf(“格式限制符格式限制符格式限制符格式限制符”,地址列表,地址列表,地址列表,地址列表)2022/11/439课后练习:
45、课后练习:1、习题、习题3第第1、2题(题(p42).2、输入随意一个、输入随意一个3位数,将其各位数字反序输位数,将其各位数字反序输出(例如输入出(例如输入123,输出,输出321).2022/11/4401 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1-1的原码:-1的反码:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0-1的补码:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1