《语言基础语法》PPT课件.ppt

上传人:sh****n 文档编号:12670982 上传时间:2020-05-13 格式:PPT 页数:52 大小:950KB
返回 下载 相关 举报
《语言基础语法》PPT课件.ppt_第1页
第1页 / 共52页
《语言基础语法》PPT课件.ppt_第2页
第2页 / 共52页
《语言基础语法》PPT课件.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
回顾上次课,重要知识点:1、C语言的特点2、C语句结构特点3、C程序的上机步骤,本章复习题,1.一个C程序的执行是从()A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束,A,2.以下叙述正确的是()A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误,c,3.以下叙述不正确的是()A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面,D,4.C语言规定:在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后,C,5.一个C语言程序是由()A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成,B,6.C源程序的基本单位是()7.一个C源程序中至少应包括一个(),函数,主函数,编程题,编写一个C程序,输入a,b,c3个值,输出其中最大者。,#includevoidmain()inta,b,c,max;printf(pleaseinputa,b,c:n);scanf(%d,%d,%d,参考代码:,第2章数据类型和表达式,2.1基本数据类型2.2常量与变量2.3整型数据2.4实型数据2.5字符型数据,2.6数据类型转换2.7算术运算符和算术表达式2.8赋值运算符和赋值表达式2.9逗号运算符和逗号表达式,本章学习目标,理解变量和常量的含义熟悉基本数据类型:int、char、float和double使用算术运算符理解类型转换熟练掌握自增和自减运算熟练掌握复合赋值表达式,2.1基本数据类型,数据属于不同类别,Africa,Thequickbrownfox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,JackieChan,char,数据类型,非数值,数值,整型,int,shortint,longint,double,float,非整型,指针类型,空类型void,定义类型typedef,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,常量,字符串常量:”Hello”、”GoodMorning!”,整型:12、0、-3,实型:4.6、-1.23,字符型:a、d,在程序运行过程中,其值不能改变的量称为常量,不同的数据类型,2.2常量与变量,符号常量:标识符代表常量定义格式:#define,说明:符号常量一般使用大写英文字母表示,以区别一般用于小写字母表示的变量。,符号常量定义举例#definePI3.1415926#defineSTAR*,符号常量使用(例2.1),#defineMONEY500Voidmain()intyear,month,total;year=4;month=9;total=year*month*MONEY;printf(total=%d,total);,符号常量的使用能给程序员带来哪些好处?,说明:程序中用#define命令行定义MONEY代表常量30,此后凡在本文件中出现的MONEY都代表30,可以和常量一样进行运算。,说明:如再用赋值语句给MONEY赋值是错的。MONEY=400;/*错误,不能给符号常量赋值*/,注意:,C语言中常量习惯用大写字母!,在程序运行过程中,其值可以被改变的量称为变量。,变量,变量定义的一般格式数据类型变量1,变量2,变量n;,决定分配字节数和数的表示范围,变量定义举例:inta,b,c;floatdata;,变量的3个要素:(1)变量名。每个变量都必须有一个名称。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。(3)变量的类型,二进制数值,不同编译器所占的位置不同,例如:inta=23;变量的类型int变量名字:a变量的值:23在内存中存储单元占16位,变量命名,在C语言中,变量命名需要遵循一定的规则,变量的命名规则:变量名可以由字母、数字和_(下划线)组合而成变量名不能包含除_以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或_(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C语言中的某些词(例如int和float等)称为保留字,具有特殊意义,不能用作变量名C语言区分大小写,因此变量price与变量PRICE是两个不同的变量,变量命名,有效名称,principal,cost_price,marks_3,lastname,city,无效名称,123rate,currency$,discount%,zipcode,变量的命名规则:变量名可以由字母、数字和_(下划线)组合而成变量名不能包含除_以外的任何特殊字符,如:%、#、逗号、空格等变量名必须以字母或_(下划线)开头变量名不能包含空白字符(换行符、空格和制表符称为空白字符)C语言中的某些词(例如int和float等)称为保留字,具有特殊意义,不能用作变量名C语言区分大小写,因此变量price与变量PRICE是两个不同的变量,专业提醒:标识符命名通常应选择能表示数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。通过变量名就知道变量值的含义,做到“见名知意”。例如:name姓名sex性别age年龄salary工资,讨论:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3charababove$123_toDay,M.D.John,3days,#33,char,$123,ab,变量的使用:“先定义,后使用”,例1intstudent;stadent=19;/Undefinedsymbolstadentinfunctionmain,例2inta,b;/为a,b各分配两个字节,按整数方式存储数据,例3floata,b,c;c=a%b;/illegaluseoffloatingpointinfunctionmain,(1)凡未被事先定义的,系统不把它认作变量名,这就能保证程序中变量名使用得正确。,(2)每一个变量被指定为一个确定的类型,在编译时就能为其分配相应的存储单元。,(3)指定每一个变量属于一种类型,这就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法。,例3.3输出变量的数值。voidmain()intx,y;x=5;y=3;printf(“%d-%dn”,x,y);x=1;y=2;printf(“%d-%dn”,x,y);,x、y是整型变量每个变量分配2个字节存储单元,将数值5、3分别存放到x、y变量的存储单元,x、y变量的值重新赋值,运行结果:5-31-2,思考下列代码的运行结果?,3.3.1整型常量的表示方法整型常量即整数。在语言中,整常数可用3种形式表示,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略:,2.3整型数据,27,整型常量的输出实例,#includemain()printf(“0 x80-%dn,0 x80);printf(“0200-%dn,0200);printf(128-%dn,128);printf(128-%on,128);,运行结果:0 x80-1280200-128128-128128-200,28,真题再现,(2009年9月)以下选项中可作为C语言合法整数的是()A.10110BB.0386C.0XffaD.x2a2,C,29,整型变量的分类,30,整型变量的定义,声明:intpage_number;longintpopulation;unsignedintage;可按如下方式赋值:intpage_number;page_number0;intmax_marks=100;,在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;,31,例3.2整型变量的定义与使用,#includevoidmain()inta,b,c,d;unsignedu;a=12;b=-24;u=10;c=a+u;d=b+u;printf(a+u=%d,b+u=%dn,c,d);,运行结果:,,说明:可以看到不同种类的整型数据可以进行算术运算,32,思考下列代码的执行结果?,#includevoidmain()shortinta,b;a=32767;b=a+1;printf(%d,%dn,a,b);,运行结果:32767,-32768,说明:一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,演示,33,真题再现,在C语言中表示整型变量时,表示无符号短整型的是()。A.UnsignedlongB.UnsignedshortC.UnsignedintD.short,B,2.4.1浮点型常量的表示方法,十进制数形式实型常量0.123,.123,123.0,0.0,123.,指数形式实型常量12.3e3,123E2,1.23e4,e-5,1.2E-3.5,.e3,2.4实型数据,表示形式,真题再现,(2004年4月)以下符合C语言语法的实型常量是()A.1.2E0.5B.3.14159EC.5E-3D.E15,C,(2)实型数据的分类,单精度浮点型,float在C语言中用于存储单精度浮点数,float,32位,-10+38至10+38,7位有效数字,声明:floatselling_price;初始化:floatselling_price=11.3;selling_price=65.90;,双精度浮点型,213.5671435568967,64位,取值范围:-10+308至10308,16位有效数字,声明:doublepressure_level;初始化:pressure_level=213.5671435568967;doubledvalue=35.4;,39,#includevoidmain()doublea;floatb;a=123456789.1;b=a+1;printf(a=%fn,a);printf(b=%fn,b);,说明:一个浮点型变量只能保证的有效数字是7位有效数字,后面的数字是无意义的,并不准确地表示该数。应当避免将一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”小的数,(3)实型数据的误差,演示,在线保险单年龄:_保险总额:_性别:_,23,98340,M,数值型,字符型,int/float,char,2.5字符型数据,如101-A012-n376-x61-a60-0483-(),例转义字符举例main()printf(101x42Cn);printf(Isay:Howareyou?n);printf(CProgramn);printf(TurboC);,运行结果:(屏幕显示)ABCIsay:”Howareyou?”CProgramTurboC,例,a,A,1,?,$abc、“a”,2.5.1字符常量,真题再现,下列字符中不是C语言转义字符的是()A.nB.tC.065D.089,D,在下列字符常量中,表示回车的是()A.tB.bC.nD.r,D,字符变量的定义形式如下:charc1,c2,在程序中可以用2种方法给字符变量赋值,1是直接将字符赋给变量,2是将字符的ASCII码赋给变量:charc1a;charc197;,一个字符变量在内存中占1个字节。,字符变量用来存放字符常量,注意只能放1个字符。,2.5.3字符变量,等价,45,所以:根据需要,一个字符数据既可以以字符形式输出,也可以以整数形式输出。,2.5.3字符数据在内存的存储形式,46,说明:在第和第4行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个赋值语句:c1;c2;因为a和b的ASCII码为97和98,例2.6向字符变量赋以整数。#includevoidmain()charc1,c2;c1=97;c2=98;printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);,运行结果:9798,47,思考:下列程序实现了什么功能?#includevoidmain()charc1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“cc,c1,c2);,说明:程序的作用是将两个小写字母a和b转换成大写字母A和B。每一个小写字母比它相应的大写字母的ASCII码大32。语言允许字符数据与整数直接进行算术运算。,运行结果:,48,真题再现,若有定义语句:charx=97;则()。A.x的值是97B.该定义是错误的C.x的值是aD.无法判断x的值,C,49,合法的字符串常量:“Howdoyoudo.”,“CHINA”,“a”,“$123.45”可以输出一个字符串,如printf(“Howdoyoudo.”);,2.5.2字符串常量,50,字符与字符串的区分,结论:不能把一个字符串常量赋给一个字符变量。C语言中不存在字符串变量!,是字符常量,,”是字符串常量,如:假设被指定为字符变量:charc,c=a;,”a”;c”CHINA”;,51,a和“a”不同的主要原因,“a”,他不是一个人!有东西附体!,规定:在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。规定以字符作为字符串结束标志。,52,字符常量与字符串常量的区别:定界符不同:字符常量使用单引号,而字符串常量使用双引号;存储要求不同:字符常量存储的是一个字符,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志0。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


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

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


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