C语言第3章课件

上传人:494895****12427 文档编号:243840234 上传时间:2024-09-30 格式:PPT 页数:104 大小:792KB
收藏 版权申诉 举报 下载
C语言第3章课件_第1页
第1页 / 共104页
C语言第3章课件_第2页
第2页 / 共104页
C语言第3章课件_第3页
第3页 / 共104页
资源描述:

《C语言第3章课件》由会员分享,可在线阅读,更多相关《C语言第3章课件(104页珍藏版)》请在装配图网上搜索。

1、Body Text,,Second Level,,Third Level,,Fourth Level,,Fifth Level,,Click to edit Master title style,,Jilin University,长春信息技术职业学院,---C,语言程序设计,103,/100,第三章 基本程序语句,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,二级,,三级,,四级,,五级,,,,*,C,程序设计,第,3,章 基本程序语句,3.1 C,语言的数据类型简介,,3.2,几个基本概念,,3.3 C,语言的,3,种基本数据类型,,3.4,基本运算符和表达式,,3.5C,

2、基本语句,,3.6,数据的输出,,3.7,数据的输入,,3.8,简单程序设计举例,教学目标,第,3,章 基本程序语句,掌握,C,程序中标识符的命名规则,,掌握常量、变量的定义,,掌握,C,程序的基本数据类型,,掌握,C,程序的基本运算符和表达式,,掌握,C,程序的基本语句,,掌握,C,程序的输入和输出,第,3,章 基本程序语句,重点,,C,程序的数据类型,,C,程序的运算符及使用,,C,程序的基本语句,,C,程序的输入、输出,难点,,C,程序的运算符及输入、输出,3.1 C,语言的数据类型,数据类型,整型,字符型,实型(浮点型),枚举类型,单精度型,双精度型,基本类型,构造类型,指针类型,

3、空类型,数组类型,结构体类型,共用体类型,3.2,几个基本概念,一、,标识符,,,C,语言规定标识符只能由字母、数字和下划线组成,且,,第一个字符必须是字母或下划线。,注意:,1,、第一个字符必须为,字母或下划线,,2,、,C,语言中大写字母和小写字母被认为是两个不同的字符,大写字母‘,A’,与小写字母‘,a’,则表示不同的标识符。,3,、在取名的时,一般采用“见名知义”的原则,标识符的分类:,3.2,几个基本概念,关键字,,预定义标识符,,用户标识符,标识符,3.2,几个基本概念,二、常量,常量是指在程序运行中,,,其数值不能被改变的量,直接常量:,50,100,,,4.6,,,‘,a’,…

4、,符号常量:,使用标识符来代表常量,,,#define PI 3.1415926,常量,#,include ,,,main(),,{,,float l,s;,,,l =,2*,,3.14,,*6,;,,,s =,3.14,*6*6,;,,printf(“l=%f,s=%f”,l,s);,,},例:求半径为6的圆的周长,面积是多少?,,#define,,PI,,3.14,,/*,定义符号常量*/,PI,PI,习惯上符号常量名用,大写,,#define,,PI,,3.1415926,3.1415926,,含义清晰,,,方便修改,,,方便录入,,使用符号常量的优点:,,3.2,几个基本概

5、念,例:符号常量使用,,#,include ,,#define,PRICE,30,,/*,定义符号常量*/,,main(),,{,,float total Money,price;,/*,定义变量*/,,int num,total;,,num = 10;,,total =num*,PRICE,;,,printf("total=%d", total);,,},,注意:不可以对符号常量进行赋值!,,3.2,几个基本概念,3.2,几个基本概念,三、变量,变量是指以标识符为名字,其值可以改变的量,一个变量被赋予一个,变量名,,在内存中占据一定的,存储单元,。,,(1)变量名要合法;,在程序设计中,变

6、量的命名的要求:,(4)应避免过长和不便于书写的单词作为变量名;,(5),C,语言的数据类型、变量名与函数名 严格,区分大小写,;,(6),建议变量名称采用“,驼峰表示法,”。,(2),同一变量名,不可以重复,定义,;,(3),应“,见名知意,”;,注意:,C,语言要求所有的变量一定,先定义,后使用,3.2,几个基本概念,3.3 C,语言,3,种的数据类型,一、整型数据,,1,、整型常量,即整常数,整型常量,,分为三类,十进制整数:如123…,八进制整数:以,数字0开头,的数,,如0123,-011…,十六进制整数:以,0x,开头,的数,,如0,x123,-0x12…,*,八进制的数码范

7、围为,0~7,;,,*,十六进制的数码除了数字,0~9,外,,,,还使用英文字母,a~ f (,或,A~ F),表示,10~15,。,,如:,0x1e,,注意!,018,√,3.3 C,语言,3,种的数据类型,,2,、整型变量,3.3 C,语言,3,种的数据类型,如果将一个变量的数据类型定义成整型,则此变量就称为,整型变量,1.整型数据在内存中的存放形式,整型数据在内存中占用,2个,字节,,数值是以补码表示的,3.3 C,语言,3,种的数据类型,例:整型数,10,的二进制存储形式,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,例:整型数,-10,的二进制存储形式,1,1,1,

8、1,1,1,1,1,1,1,1,1,0,1,1,0,3.3 C,语言,3,种的数据类型,2.整型变量的分类,整型变量分为三类:,基本型,短整型,长整型,有符号,无符号,有符号,无符号,有符号,无符号,3.3 C,语言,3,种的数据类型,整型变量,基本型,,int,unsigned int,短整型,,short,unsigned short,长整型,,long,unsigned long,所占位数,16,16,16,16,32,32,数的表示范围,-32768~+32767(-2,15,~2,15,-1),0~65535(0~2,16,-1),-32768~+32767(-2,15,~2,15,

9、-1),0~65535(0~2,16,-1),-2147483648~+2147483647,,(-2,31,~2,31,-1),0~4294967295(0~2,32,-1),3.整型变量的定义,3.3 C,语言,3,种的数据类型,语法: 数据类型 变量名;,,main(),,{,long s,;,//,指定,s,为长整型变量,,,int n,;,//,指定,n,为基本整型变量,,,short m,;,//,指定,m,为短整型变量,,,unsigned long k,;,,//,指定,k,为无符号长整型变量,,},,3.3 C,语言,3,种的数据类型,int,a;,,a=1;,,a=a+1

10、;,变量的定义及使用,,例:,a,1,2,注意:,对变量值的存取是通过,变量名,实现的,例,.,整型数据的溢出,main,,{,,,int,a,b;,,a=32767;,,b=a+1;,,printf("%d,%d",a,b);,,},,运行结果为:,,32767,-32768,3.3 C,语言,3,种的数据类型,注意:,在定义变量的类型时,不仅要考虑 数据类型的特点和数据范围,还要考虑 实际应用问题的需要。,4.,整型常量的类型,(1).一个整数,如果值在,-32768—+32767,范围内,认为它是,int,型,可以赋值给,int,或,long int,型变量,,(2).一个整数,

11、如果值在,-2147483648—+2147483647,范围内,认为它是,长,整,型,,可以赋值给,long int,型变量,3.3 C,语言,3,种的数据类型,3.3 C,语言,3,种的数据类型,(3).如果某一计算机系统的,C,版本,确定,short int,与,int,型数据在内存中占据的长度相同,则它的表数范围与,int,型相同。,,(4).一个整常量后面加上一个字母,u,或,U,,,认为是,unsigned int,型,,如12345,u,,(5).在一个整常量后面加一个字母,l,或,L,,,则认为是,long int,型,常量,如123,L,3.3 C,语言,3,种的数据类型,二

12、、实型数据,,1,、实型常量,实数又称为,浮点数,,有两种表达方式:,,(1),小数表示法,如:0.123、123.0,,(2),科学记数法,如:123,e3,或123,E3、123E-2,注意,小数点不能单独出现;,0.,√,.0,√,.,,,e,或,E,的两边必须有数,且其后面必须为整数;,,如:,6E0.2,,e5,,,,2,、实型变量,3.3 C,语言,3,种的数据类型,如果将一个变量的数据类型定义成实型,则此变量就称为,实型变量,(1).整型数据在内存中的存放形式,实型变量在内存中占用,4个,字节,+,.314159,1,数符,小数部分,指数部分,(2)实型变量分类,实型变量主

13、要有三类,单精度实型变量,,(float),双精度实型变量,,(double),长双精度实型变量,,(long double),3.3 C,语言,3,种的数据类型,实型变量,所占位数,有效数字,数值范围,单精度实型变量(,float),32位,6~7,-3.4,×10,-37,~3.4×10,38,双精度实型变量(,double),64位,15~16,-1.7,×,10,-307,~1.7,×,10,308,长双精度实型变量(,long double),128位,18~19,-1.2,×,10,-4932,~1.2,×,10,4932,3.3 C,语言,3,种的数据类型,实型变量的定义:类型说

14、明符 变量名,,float x,y;,(,指定,x、y,为单精度实数),,double z;,(,指定,z,为双精度实数),,long,,double t;,(,指定,t,为长双精度实数,),3.3 C,语言,3,种的数据类型,例:,实型数据的舍入误差,,main,,{,,,float,a,b;,,a=123456.789e5;,,b=a+20;,,printf("%f",b);,,},C,编译系统将,实型常量,作为,双精度来处理,,如:,,float f;,,f=2.45678*4523.65,;,f=2.45678,f,*4523.65,F,;,,3.3 C,语言,3,种的数据类型,(

15、,3,)实型常量的类型,3.3 C,语言,3,种的数据类型,三、字符型数据,C,的字符常量是用,单引号,括起来的一个字符,,如:',a'、'b'、'c'、'?'。,注意:,不能用,‘\’,来表示字符,\,,因为字 符,\,代表,转义字符,的开始。,1 、字符常量,字符形式,含 义,ASCII,代码,\,n,,换行,将当前位置移到下一行的开始,10,,\,t,,移到下一个制表位(,tab,位,一个制表位为8个字符),9,,\,b,,退格,移到前一列,8,,\,r,,回车,回到本行起始字符位置,13,,\\,,代表字符 \,92,,\’,,代表字符 ’,39,,\”,,代表字符 ”,

16、34,,\,ddd,,1~3位八进制数所代表的字符。如\101表示',A',,,\,xhh,,1~2位十六进制数所代表的字符。如\,x41,表示',A',,,转义字符及其含义,3.3 C,语言,3,种的数据类型,3.3 C,语言,3,种的数据类型,例:转义字符的使用,#include main() { printf(“ ab c\t de\rf\tg\n”); },2 、字符变量,3.3 C,语言,3,种的数据类型,如果将一个变量的数据类型定义成字符型,则此变量就称为,字符型变量,,在内存中占用,1个,字节,字符变量的定义:类型说明符 变量名,,,如:,char,c1;,c1=‘a’;,

17、注意:,字符型变量只能存放,1个字符,,而 不能存放,1个字符串,。,3.3 C,语言,3,种的数据类型,3、字符数据在内存中的存储形式,char,c1,c2; c1=‘a’;c2=‘b’;,,,c1,97,c2,98,0110001,0110010,将一个字符常量放到一个字符变量时,是将字符的相应,ASCII,码值放到存储单元中。,即:字符型数据是以,ASCII,码存储的。,3.3 C,语言,3,种的数据类型,main,,{,,,char,c1,c2;,,c1=97;,,c2=98;,,printf("%c %c\n",c1,c2);,,printf("%d %d\n",c1,c

18、2);,,},,运行结果为:,,a b,,97 98,例:向字符变量赋以整数,结论:,字符型数据和整型数据是通用的,3.3 C,语言,3,种的数据类型,例:大小写字母的转换,,main,,{,,,char,c1,c2;,,c1='a';,,c2='b';,,c1=c1-32;,,c2=c2-32;,,printf("%c %c\n",c1,c2);,,},,运行结果为:,,A B,4 、字符串常量,3.3 C,语言,3,种的数据类型,字符串常量是用,双引号,括起来的字符序列(0~,N,个字符)。,如:,",How do you do.,",,,",a,",,,",,123.45,",都是字符串

19、常量。,注意:,C,语言中,没有专门存放字符串常量的数据类型,,但可以用,字符数组,的形式存放。,字符串常量在内存中以每个字符的,ASCII,码,存放,并且在最后添加一个,字符串结束标记'\0',,。,3.3 C,语言,3,种的数据类型,因此,字符',a',和字符串",a",的区别是:,,字符‘,a’,:,在内存中占,1字节,(值为97),,,,a,,0 1 1 0 0 0 0 1,a \0,,0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0,字符串“,a”,:,在内存中占,2字节,(值为97和0),char c;,,c = 'a';,注意:,不要将一个

20、,字符串常量,赋给一个,字符变量,/* 字符',a',可以赋值给字符型变量,c */,/* 字符串“,a”,不能赋给字符变量 */,c = "a";,3.3 C,语言,3,种的数据类型,3.3 C,语言,3,种的数据类型,四、,变量赋初值,程序设计中经常需要对一些变量预先设置,初始值,。,C,允许在定义变量的同时指定其初值,int a=1; float f=2.5;,,double d=2.6; char c='a';,,int a,b,c=7;,,,,/*,指定,c,的初值为7,未指定,a、b,的初值 */,例如:,int a=8,b=8,c=8;,,注意:

21、,若要对多个变量指定相同的 初值,要分别进行初始化。,int a=b=c=8;,或者:,,int a=8;,,int b=8;,,int c=8,;,3.3 C,语言,3,种的数据类型,3.4,基本运算符和表达式,40,+,=,2,42,算术运算符,+ - * / %,,关系运算符 > <,==,>,=,<,= !=,,逻辑运算符 !,&& ‖,,位运算符,《 》,~,| ∧ &,,赋值运算符,=,,,条件运算符 ?,:,,逗号运算符 ,,,指针运算符 * 和,&,,求字节数运算符,sizeof,,强制类型转换运算符,,分量运算符,• →,,下标运算符,[ ],,其它运算符

22、号,函数调用运算符(),,3.4,基本运算符和表达式,一、,C,运算符简介,,,按操作功能运算符大致可分为算术运算符、关系运算符、逻辑运算符、按位运算符以及其它运算符如赋值运算符、条件运算符、逗号运算符等。,,,表达式是由操作数和运算符组成的序列。,3.4,基本运算符和表达式,优先级,运 算 符,结合性,1,初等运算符 ( ) [ ] -> .,左结合,2,单目运算符 ! ~ ++ -- - * &,sizeof (,类型),右结合,3,算术运算符 * / % + -,,左结合,4,关系运算符 >= == !=,左结合,5,逻辑运算符 && ||,左结合,

23、6,条件运算符 ? :,右结合,7,赋值运算符 = += -= *= /=,右结合,8,逗号运算符 ,,左结合,运算符的优先级与结合性,,优先级,高,低,C,语言中,常用的表达式有:,,算术表达式,,赋值表达式,,关系表达式,,逻辑表达式,,,强制类型转换表达式,,逗号表达式,,,条件表达式,,指针表达式等,,,3.4,基本运算符和表达式,3.4,基本运算符和表达式,二、基本的算术运算符,,+,加法运算符,如1+5,正值运算符,如+1,-,减法运算符,如5-1,负值运算符,如-1,*,乘法运算符,如2*5,/,除法运算符,如5/2,%,模运算符(或称求余运算符),如8%3,3.4,基本

24、运算符和表达式,,算术表达式和运算符的优先级与结合性,,算术表达式的结果:,,参加运算的运算量是,整型,,结果为,整型,;,,参加运算的运算量是,实型,,结果为,double,型。,,用算术运算符和括号将运算对象连接起来、,,符合,C,语法规则的式子是,算术表达式,,,3+5,a*b-c,优先级:,先乘除、后加减,,结合性:,左结合,例:,计算:,,21/5,,,,,,?,结果:4,3.4,基本运算符和表达式,?,21.0/5,结果:4.2,3.4,基本运算符和表达式,自动类型的转换是由系统自动完成的,,各类数值型数据间的混合运算,高,低,double,long,unsigned,int,ch

25、ar,short,float,例:,求解表达式:,1 +',a' – 1.3 * 'b',3.4,基本运算符和表达式,自增、自减运算符,自增运算符(++)和自减运算符(--)的作用是使变量的值增1或减1,例如:,a++,++a,b--,--b,3.4,基本运算符和表达式,当把自加的结果赋予另外一个变量时,++或--运算符放在变量的左面和右面的含义是不同的,int a=3,b;,,b=a++;,结果,b=3,a=4,,先使用后加,,b=++a;,,结果,,b=4,a=4,,先加后使用,自增、自减运算符,例:,,int a=5,b=5,c,d;,,c=--a; d=b--;,,a=? b=?

26、 c=? d=?,(1)++和--运算符只能用于变量,不能用于常,,量和表达式。,如:5++;,,(2,)++和-的结合方向为“右结合”。,,如:,-a++, -(a++),(,a+b)++;,,#,define ONE 1,,ONE++;,a+b++;,,,a+(b++);,3.4,基本运算符和表达式,三、赋值运算符,3.4,基本运算符和表达式,a=3;,,(,常数3赋给变量,a,),,a=b;,,(,将一个变量,b,的值赋给,a),,a=b+c+1;,,(,表达式,b+c+1,的值赋给变量,a),,赋值运算符使用赋值符号“=”,它的作用是将一个常量、变量或表达式的值赋给变量,如

27、:,3.4,基本运算符和表达式,复合的赋值运算符,a =a + 3,x *= y + 8,x =x * (y + 8),a += 3,举例:,复合的赋值运算符是将其他运算符和赋值运算符结合在一起使用,实现运算、赋值功能的结合,,+= *= /= %=,3.4,基本运算符和表达式,由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。,赋值表达式,赋值运算符为,右结合,,将其右侧表达式的值赋给左侧的变量,整个赋值表达式的值就是被赋值的变量的值,一般形式为:,,变量 赋值运算符 表达式,例:,,a=3;,,a=b;,,a=b+c+1;,赋值时的类型转换,,

28、如果赋值运算符两侧的数据类型不同时,在赋值时需要进行类型转换。,(1),float、double ------>,int,,,int a=6.5;,a,的值为6,(2),int ------>float double,,a=6;,,a,的值为6.000000,3.4,基本运算符和表达式,3.4,基本运算符和表达式,(5),int、float、double ------> char,,截取整型、实型数据(整数部分)值,,的低8位送到字符型变量。,(3),double ------> float,,,截取,double,型数据值的前7位有效数字,,(4),char ------> int,,,,字

29、符型数据只占整型数据的低8位,3.4,基本运算符和表达式,赋值运算符右侧的表达式,不仅可以为算术表达式、,,逻辑表达式,还可为赋值表达式、条件表达式等。,例5:,,#,include ,,main(),,{,,int a=2;,,print("%d",a-=a+=a*a);,,},结果:0,如:,a=b=c=5,表达式值为5,,a、b、c,值均为5,,a=5+(b=10),表达式值为15,,a,值为15,,b,值为10,3.4,基本运算符和表达式,习题一:,1、a=5+(b=6) a=,?,b=,?,2、a=(b=4)+(c=6) a=,?,b=,?,c=,?,3、a=(b=1

30、0)/(c=2) a=,?,b=,?,c=,?,4、,a,的初值为2 ,,b,的初值为3,,,a+=3 a=,?,a+=b a=,?,a%=b+5 a=,?,3.4,基本运算符和表达式,四、关系运算符和关系表达式,1.关系运算符,<,小于,<=,小于或等于,>,大于,>=,大于或等于,= =,等于,!=,不等于,,优先级相 同(高),优先级相 同(低),关系运算符的结合性:,自左至右,左结合,2,、关系表达式,3.4,基本运算符和表达式,用关系运算符将两个表达式连接起来的式子。,一般形式为:,表达式 关系运算符 表达式,,,(a+b) > (b+c),,,

31、,(a>b) > (b>c),,,,(a&&b) > (a||b),,,,(a=5) > (b=6),,,‘,a’ > ’b’,3,、关系表达式的值,3.4,基本运算符和表达式,是一个逻辑值,即真或假。,,在,C,语言中,没有逻辑(布尔)型数据,所以使用,0,代表假,,1,代表真。,,例: (,1,),a=3,,a = = 5,,,(,2,),5>3,写出下列条件表达式的值:,a=3,b=2,c=1,1、 a>b,结果?,2、(a>b)==c,结果?,3、(b+c)

32、.逻辑运算符简介,!,逻辑非,&&,逻辑与,,逻辑或,优先级,高,低,逻辑运算符的结合性:,,自左至右,左结合。,,其中,&&,与,||,是双目运算符,;!,为一目运算符,,3.4,基本运算符和表达式,逻辑表达式的值,:,真或假,1 or 0,,逻辑运算的真值表,a,b,!,a,a&&b,a||b,真,真,假,真,真,真,假,假,假,真,假,真,真,假,真,假,假,真,假,假,a&&b,若,a,、,b,为真,则,a&&b,为真,,a||b,若,a,、,b,之一为真,则,a||b,为真,,!a,若,a,为真,,,则,!a,为假,3.4,基本运算符和表达式,例如:,,设,a,=1,,b=,0,,c

33、=,3,则:,,a&&b||c,,1&&!,a,#,include ,,main(),,{,,,int a=3;,,a==4 ,,a=a+8;,,printf("%d",a);,,},注意:在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。,,例如:,,(1),a&&b&&c,,(2),a||b||c,3.4,基本运算符和表达式,混合运算优先级:,!(非),算术运算符,关系运算符,&&(与)和||(或),赋值运算符,高,低,3.4,基本运算符和表达式,六、,条件运算符,3.4,基本运算符和表达式,例:,x=1,y=2;,,

34、x>y?x:y;,,一般形式为:,,表达式,1,?表达式,2,:表达式,3,,max=x>y?x:y;,表达式,1,为,真,是,表达式,2,的值,,表达式,1,为,假,是,表达式,3,的值,表达式,1,取表达式,2,,的值,入口点,a,成立,不成立,出口点,b,取表达式,3,,的值,3.4,基本运算符和表达式,结合性,:自右至左;,,,y = x>10 ? x/10 : x>0 ? x: -x,;,,等价于,:,,y = x>10 ? x/10 :(x<0? x: -x),;,,∴,当,x,的值为,15,时,表达式的结果为:,1,,,当,x,的值为,5,时,表达式的结果为:,-5,3.4,基本

35、运算符和表达式,七、逗号运算符和逗号表达式,一般形式为:,,表达式1,表达式2,.....,表达式,n,先求解,表达式1,的值,再求解,表达式2,的值……整个逗号表达式的值是,表达式,n,的值,例1:,,a=5;,,a=a+5,a+9,整个表达式的值是19,3.4,基本运算符和表达式,例,,main(),,{,,int a=3,b=4,c=5;,,printf("%d,%d,%d",a,b,c);,,printf("%d,%d,%d",(a,b,c),b,c);,,},,结果:,,3,4,5,,5,4,5,3.4,基本运算符和表达式,八、强制类型转换运算符,在程序设计中,经常需要将某种数据类型

36、强制转换成指定的类型,这时可以用,强制类型转换,来实现。,语法如下:,,,(数据类型)(变量或表达式);,,,3.4,基本运算符和表达式,例如:,,int a=2,b=5;,,float x=4.4;,,,则有: 表达式 结果,,,b/a 2,,(float)b/a 2.5,,(float)(b/a) 2.0,,(int)x%a+x 4.4,,(int)x%(a+x),不合法,强制类型转换时,得到所需类型的中间变量,而原来变量的类型不会改变。,,注意:,

37、3.5,C,基本语句,,C,语句可以分为以下四大类,:,,,(1),简单语句(包括输入,/,输出语句,),,(2),空语句,,(3),复合语句,,(4),流程控制语句,一、 简单语句,1,、表达式语句,,由一个表达式加一个分号构成。,表达式,;,2,、函数调用语句,函数调用语句由一个函数调用加上分号“;”构成。,例:,printf("C Program.");,3.5,C,基本语句,,3,、 空语句,,只有分号“;”组成的语句称为空语句。,空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。,例:,for(i=1;i<100000000;i++),,{ ; },,,可做延时使用,

38、3.5,C,基本语句,,4,、 复合语句,可以用,{},把一些语句括起来称为复合语句。,,{,,,z,=x+y;,,t=z/100;,,printf("%f",t);,,,},3.5,C,基本语句,,(,1,)所谓输入输出是以计算机为主体而言的。,(,2,),C,语言本身不提供输入输出语句,输入和输出操作是由,C,函数库中的函数来实现的。,(,3,)使用系统库函数时,要用预编译命令“,#include”,将有关的“头文件”包含到用户源文件,3.6,数据的输入输出,一、字符数据的输入输出,1,、,putchar,函数,作用:向终端输出一个字符。一般形式:,,putchar(c);,putchar

39、(97); putchar(‘\n’);,putchar(‘a’);,3.6,数据的输入输出,2,、,getchar,(),函数,作用:,是,从终端输入一个,字符。,一般形式:,getchar();,3.6,数据的输入输出,3.6,数据的输入输出,(3)使用本函数前必须包含文件“,stdio.h,”。,(1),getchar,(),函数只能接收,单个字符,,输入 数字也按字符处理。输入多于一个字符时,只接收第一个字符。,使用,getchar,(),函数应注意几个问题:,(2),该函数没有参数。,3.6,数据的输入输出,例:,#include,,main(),,{,,char c1,c2;,,c

40、1=getchar();,,c2=getchar();,,putchar(c1);,,putchar(c2);,,printf("\n");,,},3.6,数据的输入输出,这两个函数的原型在头文件“,stdio.h,”,中。 使用时必须包含该头文件。,格式输入,scanf,函数,格式输出,printf,函数,,标准库函数,#,include ,二、 格式输入与输出,1,、,printf,函数(输出函数),3.6,数据的输入输出,一般形式:,printf,(,格式控制,输出表列,);,,printf("a= %d , b= %d", a , b);,控制字符串,输出表列,非格式字符串,格式字符

41、串,3.6,数据的输入输出,格式字符,(1),,d,格式符,,用来输出十进制整数,%d,,按十进制整形数据的实际长度输出。,,%md,,,m,为指定的输出字段的宽度。,,%ld,,输出长整型数。,o,格式符,以八进制整数形式输出。,x,格式符,以十六进制形式输出整数。,u,格式符,用来输出,unsigned,型数据,以十进制整数形式输出。,3.6,数据的输入输出,例:,a=123,b=12345;,,printf(“%4d,%4d”,a,b);,例:,a=1235790,,printf(“%-9d”,a);,例:,a=23,,printf(“%d,%o”,a,a);,例:,a=23,,prin

42、tf(“%d,%o,%x”,a,a,a);,3.6,数据的输入输出,格式字符,(2),c,格式符,用来输出一个字符。,s,格式符,,用来输出一个字符串,,%s,,%ms,,输出的字符占,m,列,,%-ms,,如果串长小于,m,,在,m,列范围内,字符串向左靠,右补空格。,,%m.ns,,输出占,m,列,但只取字符串中左端,n,个字符,左补空格。,,%-m.ns,,,m,n,同上,右补空格。,3.6,数据的输入输出,例:,char c=‘a’;,,printf(“%c”,c);,,printf(“%3c”,c);,例:,按指定格式输出字符串,,#include,,main(),,{,,print

43、f(“%3s,%7.2s,%.4s,%-5.3s\n”,,,”CHINA”,”CHINA”,,”CHINA” ,”CHINA,);,,},3.6,数据的输入输出,格式字符,(3),f,格式符,,用来输出实数,以小数形式输出,%f,,不指定字段的宽度。,,%m.nf,,指定输出的数据共占,m,列,其总有,n,位小数。,,%-m.nf,,输出的数值向左端靠,右端补空格。,3.6,数据的输入输出,#include ,,main(),,{,,float x,y;,,x=111111.111;y=222222.222;,,printf(“%f”,x+y);,,},%f,不指定字段宽度,,,整数全部输出,

44、,,并输,6,位小数,3.6,数据的输入输出,#include ,,main(),,{,,float f=123.456;,,printf(“%f %10f %10.2f %.2f %-10.2f\n”,f,f,f,f,f);,,},格式字符,(4),3.6,数据的输入输出,e,格式符,,以指数形式输出实数,,%e,,不指定输出数据所占的宽度和数字部分的小数位数。,,%m.ne,,和,%-m.ne,n,为输出的数据的小数部分的小数位数,又称尾数。,g,格式符,用来输出实数,根据数值的大小,自动选择,f,格式或,e,格式,输出占宽度较小的,3.6,数据的输入输出,使用,prin

45、tf,函数要注意的问题:,(,1,)除,X,,,E,,,G,外,其他格式字符必须用小写字母,如,%d,不能写成,D,。,,(,2,)可以在,printf,函数中的“格式控制”字符串内包含转义字符。,,(,3,),d,、,o,、,x,、,u,、,c,、,s,、,f,、,e,、,g,等字符,如用在“,%”,后面就作为格式符号。,,(,4,)如果想输出字符“,%”,,则应该在“格式控制”字符串中用连续两个,%,表示。,1,、,scanf,函数(输入函数),3.6,数据的输入输出,,作用:,scanf,函数是格式输入函数,按指定格式从键盘上把数据输入到指定的变量之中。,,一般形式:,,scanf(,格

46、式控制,地址表列,),,scanf(“%d”,,,,scanf(“%d,%d”,,,3.6,数据的输入输出,格式说明,格式字符,说明,d,i,用来输入有符号的十进制整数,u,用来输入无符号的十进制整数,o,用来输入无符号的八进制整数,x,X,用来输入无符号的十六进制整数,c,用来输入单个字符,s,用来输入字符串,f,用来输入实数,e,E,g,G,用来输入实数,使用,scanf,函数时应注意的问题(,1,),3.6,数据的输入输出,(,1,),scanf,函数中的“格式控制”后面应当是变量地址,而不是变量名。,,(,2,)如果在“格式控制”字符串中除了格式说明以外还有其他的字符,则在输入这些字符

47、时输入与这些字符相同的字符。,,(,3,)在用“,%c”,各式输入字符时,空格字符和“转义字符”都作为有效字符输入。,3.6,数据的输入输出,使用,scanf,函数时应注意的问题(,2,),(,4,)在输入数据时,遇到下列情况是该数据认为结束。,,,,遇空格,或按“回车”或“,tab”,键。,,,按指定的宽度结束。,,遇非法字符。,,%,与格式字符之间有‘*’号时,相应列宽的数据会被禁止使用,3.6,数据的输入输出,例:,scanf(“%3d%3d”,,例:,scanf(“%2d %*3d%2d”,,例:,scanf(“%7.2f”,,例:,scanf(“a=%d,b=%d”,,3.7,程

48、序举例,,例,3.9,,输入圆的半径,输出圆的周长和面积。,,分析:,,,1.,定义实型变量,r,、,l,、,s,用于存放半径、周长、面积;,,2.,调用输入函数,输入,r,:,,3.,分别利用周长公式和面积公式求出,l,、,s,;,,4.,调用输出函数输出,l,、,s,。,程序:,3.7,程序举例,,#include ,,void main(),,{,,float r,,,l,,,s,;,,,scanf(“ %f ”,,,&r),;,/*,输入一个浮点数据,存入地址,&r */,,l = 2 * 3.14159 * r,;,/*,计算周长,赋值给,l */,,s = 3.14159 *r *

49、 r,;,/*,计算面积,赋值给,s */,,printf(“\n l=%8.4f”,,,l),;,/*,周长占,8,个字符宽,,4,位小数*,/,,printf(“\n s=%8.4f”,,,s),;,,,/*,输出面积,数据共占,8,个字符宽,,4,位小数*,/,,},3.7,程序举例,,例,3.11,从键盘输入一个学生三门课程的成绩,求其平均成绩并输出,保留一位小数。 分析:,1,.输入三门课程成绩存入变量,a,、,b,、,c,;,2,.求平均成绩,aver=(a+b+c)/3,;,3,.输出,aver,。,#include ,,void main(),,{,,float a,b,c,aver,;,,printf(“input a,b,c,:”,),;,,scanf(“%f%f%f”,&a,&b,&c),;,,aver=(a+b+c)/3,;,,printf(“%.1f \n”,,,aver),;,,},,3.7,程序举例,,程序:,感谢亲观看此幻灯片,此课件部分内容来源于网络,,,如有侵权请及时联系我们删除,谢谢配合!,

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

相关资源

更多
正为您匹配相似的精品文档

相关搜索

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!