您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第2章_数据类型、运算符和表达式-1
C语言程序设计主讲:李娟第2章数据类型、运算符和表达式2.1标识符和保留字2.2C语言基本数据类型2.3常量与变量2.4基本运算符和表达式2.5数据类型转换2.6简单的输入输出实现方法2.7小结2.1标识符和保留字2.1.1字符集C语言使用的基本符号共有如下四种:(1)阿拉伯数学:0~9(2)字母:大写字母:A~Z和小写字母:a~z(3)29个图形符号:,逗号(左圆括号右尖括号%百分号_下划线.圆点)右圆括号!感叹号&and(与);分号[左方括号|竖线^xor(异或):冒号]右方括号/斜杠*乘号?问号{左大括号\反斜杠—减号‘单引号}右大括号~波折号子=等于号“双引号左尖括号#井号+加号(4)转义字符:输出格式控制输出字符2.1标识符和保留字2.1.2标识符在C语言中,标识符用来标记常量、变量、数据类型、函数及程序的名字。必须符合下列语法规则:应以字母(大小写皆可)或下线符(_)中任一个字符开头。在第一个字母后,可以是若干个(包括0个)字母、下线符和数字组成的字符序列,中间不能有空格。标识符的长度和系统不同,一般不要超过31个字符。不能使用C语言中的保留字。2.1标识符和保留字如:xy3_imaxELSEXA_to_B注意:区分大小写,比如and和And是两个不同的标识符7xint#Nobadonere-input合法不合法2.1标识符和保留字它是具有特定含义、专门用作语言的特定成分的一类标识符,不能当作一般标识符来使用。2.1.3保留字2.1标识符和保留字ANSI推荐的C语言的关键字是32个(C++和VisualC++兼容了43个保留字)如:int、char、float、double等★所有的保留字都有固定的意义,不能用作其它★所有的保留字都必须是小写如:else与ELSE代表不同的含义:else是关键字,ELSE用户定义的标识符注意:2.2C语言的基本数据类型C语言数据类型基本类型构造类型指针类型字符型char整型int浮点型双精度型double数组类型结构体类型共同体类型空类型void枚举类型单精度型float引用类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)表示整型量的关键字是int。如:inti;在目前大多数实现中,整型变量的取值范围因机器字长而异。在visualc++6.0编译系统,整型变量i的取值范围是:-231≤i≤231-12.2.1整型int及其相关类型基本整型(int)4短整型(shortint)2长整型(longint)4整型变量根据其数值的范围,可以将变量定义为三类:为了充分利用变量的表数范围,又可以将变量定义为:有符号数(signed)(可省略)无符号数(unsigned)•基本型:以int说明,占用4字节。如:inti,sum;•短整型:以shortint或short说明,占用2字节。如:shorts,sum;•长整型:以longint或long说明,占用4字节。如:longl,sum;•无符号整型:以unsignedint或unsigned说明,占用2字节。如:unsignedui,sum;•无符号短整型:以unsignedshort说明,占用2字节。如:unsignedshortus,sum;•无符号长整型:以unsignedlong说明,占用4字节。如:unsignedlongul,sum;无符号型(存放没有符号的整数)有符号型:2.2.1整型int及其相关类型表示字符类型变量的说明符是char定义方法:如:charc;unsignedcharc1;一个字符型变量所占用的内存空间应足以存放所用基本字符集中任何一个字符。通常占用一个字节,即8位。在ANSIC和ISOC中,还规定了signedchar和unsignedchar两种类型,unsignedchar型量的取值范围是0~255,signedchar型量的取值范围是-128~127。2.2.2字符型char及其相关类型基本浮点类型的关键字是float。如:floatf;2.2.3浮点型浮点型数据(取值范围与值的精度与机器有关)单精度(float):占4个字节(-1038~+1038)双精度(double):占8个字节(-10308~+10308)如:floatx,y;doublea,b,c;2.3常量与变量在C语言中有不同类型的常量,如整型常量、浮点常量、字符常量和字符串常量。如:12,3.14,‘a’常量:在程序运行过程中,其值不能改变的量常量区分为不同类型(表示形式,决定了常量在内存中占据存储空间)2.3.1常量3)十六进制整常量十六进制整常量是以0x或0X开头的十六进制数字串,可用的数字有:0~9、a~f或A~F。如:0xAB—(AB)16注意:复习二、八、十六进制的转换。30→036→0x1E2.3.1常量即整型常数,没有小数部分。整型常量又分为十进制整型常量、八进制整型常量和十六进制整型常量。1)十进制整常量十进制整常量是带正负号的整数。如:123、-34、02)八进制整常量八进制整常量是以数字0开头的八进制数字串,其中只能出现数字0~7。如:0456——(456)81、整型常量2.3.1常量(1)十进制数形式如:.3e33e33.e36.E-5、.123E+4。3ee3e0.3它有两种表示形式:0.345.345345.0345.0.00..0注意:必须有小数点,并且小数点的前面或者后面必须有数字。(2)指数形式5.7e9(或5.7E9)表示5.7×109注意:必须有阶码标志e(或E),并且e之前必须有数字,e之后的指数必须是整数。2、浮点型常量2.3.1常量浮点型常量缺省为双精度型(double)。后面带有后缀——字母F或f,类型就是单精度浮点型(float)。在一般系统中,单精度浮点数占用4个字节(32位)的存储单元,而双精度浮点数占用8个字节。2、浮点型常量虽然浮点型数据的表示形式有两种,但在内存中均是以指数形式存放。数符小数阶符指数2.3.1常量3、字符常量⑴一般字符常量一般字符常量是用一对单引号括起来的一个字符,例如,'A','$',''(空格)。字符的类型是char类型,它的值为所括起的字符在ASCII表中的编码。注意:♣字符常量的类型是int。它的值就是该字符在相应字符集中的编码值。♣字符常量可像其他整数一样参与数值运算。例:voidmain(){inti;charc;i='a';c=97;printf(%c,%d\n,c,c);printf(%c,%d\n,i,i);}等同于:i=97;c=’a’a,97a,97C语言中有两种字符常量,即一般字符常量和转义字符常量。2.3.1常量3、字符常量⑵转义字符转义字符是特殊的字符常量,表示时一般以转义字符‘\’开始,后跟不同的字符表示不同的特殊字符,课本中表2-3列出了常用的特殊字符。是用一对双引号括起来的零个或多个字符组成的序列如:″China″″Thisisacharacterstring″″1234567890″″″(在双引号中没有任何字符)2.3.1常量注意:字符串结束标记‘\0’每一个字符串常量结尾都有一个字符\0(一般情况是由系统自动加上,在计算字符串长度时,并不把它计算在内,不是字符串的一部分)。如:“CHINA”在内存中为:CHINA\0‘a’为一个字符,“a”为两个字符:a‘a’a\0“a”4、字符串常量定义方法:#define标识符常量#definePRICE30voidmain(){intnum,total;num=10;total=num*PRICE;printf(total=%d,total);}total=3002.3.1常量5、符号常量用一个标识符代表的一个常量使用符号常量提高程序的可读性。且修改时只需在定义处修改。1、变量:其值是可以改变的量,它用标识符(变量名)来表示,在内存中占据一定的存储单元。2、在程序中使用一个变量之前,先要对它进行定义变量的定义方法:数据类型变量名变量——变量名——存储单元表示值或者数据类型变量名1,变量名2,……;如:inti;charc,flag;floatprice,total;其中数据类型部分是表示相应数据类型的关键字。2.3.2变量3、变量的命名:①命名必须符合标识符的语法规则;②要见名知意;③先定义后使用;④大小写字母的意义不同,如X和x是不同的变量;⑤习惯上,符号常量用大写,变量名用小写,以示区别⑥在程序的同一部分,不允许对同一标识符做重复定义。⑦数据说明语句的最后是以分号结尾,而同一说明语句的各个变量名之间则以逗号隔开。例:#definePRICE30voidmain(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}如:inti;charc,flag;floati,total;2.3.2变量在定义变量的同时设置初值,亦称初始化2.3.2变量4、变量赋初值⑴定义变量的同时,直接给变量赋一个初值。例如:inti=100,j=200;//分配内存并初始化charc1=‘A’,c2=‘B’;//课本有误,改为单引号inti,j,k=5;⑵变量定义后,用赋值语句赋初值。例如:inti,j;//分配内存i=100;j=200;//赋初值charc1,c2;c1=‘A’;c2=‘B’;//课本有误,改为单引号intx=1,y=1,z=1;当使用变量时,变量必须有值,给变量赋初值的方法有两种:课后作业P32:一、1,2,3P33:二、1,2,3,4高位码低位码0000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQaq0010STXDC22BRbr0011EXTDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB'7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,L\l|1101CRGS-=M]m}1110SORS.N^n~1111SIUS/?O_oDEL附录ASCII码表
本文标题:第2章_数据类型、运算符和表达式-1
链接地址:https://www.777doc.com/doc-3395894 .html