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