您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 2第4章(常量变量及表达式)
《C语言程序设计》数据类型、运算符、表达式及简单的输入输出函数第四章第四章数据类型、运算符、表达式及简单的输入输出函数数据类型常量变量运算和运算符运算表达式简单的输入输出函数■字符集:编程可使用的字符C语言程序的基本标识符英文字母a~z,A~Z;阿拉伯数字0~9;特殊符号(~!%*{}:;?/以及空格、换行等)12cd,$123,#11,M.D.Ritchie。这里所表示的标识符都是错误的。错:标识符:标识符规定:例:sun,day,month,student_name,c1string_2。1.标识符由字母、下划线、数字三种字符组成,且第一个字符必须是字母或者下划线。+*.汉字等均不能出现。2.字母区分大小写;3.标识符不能是关键字。用来标明变量名、函数名、数组名、结构体名、文件名、类型名等的符识。标识符就是有效字符的序列,一个名字。用英文!保留字(关键字)(见书P43表4-1C语言的保留字)预定义标识符(库函数名,如:stdio;预编译命令,如:include)用户定义标识符4.2数据类型整型实型(浮点型)字符型(字符串)枚举型单精度型双精度型数组类型结构体类型共同体类型基本类型构造类型指针类型数组类型相同的数据集合常量形式变量形式结构体类型不同的数据集合按进制分类:十进制。例:10,35,-1289。八进制,以0开头。例:010(o是字母)。对应十进制8十六进制,以0x开头。例:0x10。对应十进制16按字节长度分类:短型2个字节。长型4个字节。长型常量后加字母L。例:15L,0x10,010。程序运行中数值不改变的量十进制数形式,由数字和小数点组成。例:1.3415926指数形式,由尾数、字母e或E和指数组成。例:1E3表示:1乘10的三次方(1103)。4.3常量返回1、整型数2、实型(浮点数)数字符常量3、字符型数据字符串常量转义字符即普通字符用单引号括起来。在C语言中,字符型数据是用ASCII码来表示(储存)的。例:‘A’(65),‘a’(97)。在C语言中,字符型数据与整型数据可通用:10+‘R’即一串普通字符用双引号括起来。例:“TurboC”,“China”。以“\”开头的字符表示特定的含义。此时字符转变为另外的意义。例:‘\n’表示回车换行,‘\r’表示回车。(1)数(2)字符常量(3)字符串常量‘A’和“A”不相同!!!小结注意用“”包围的一个或多个字符,如:“hello”单一字符,用‘’包围,如:‘A’,‘8’类型进制表示范围整型数八、十、十六015,15,0x15-215~215-1长整型数八、十、十六015L,15L,0x15L-231~231-1实型数十123.5,1.235e+210-38~1038(4)特殊的字符常量(转义字符)\后跟一个字符或一个数字,表示控制代码和用于功能定义的字符如:字符功能\n回车换行\r回车\t水平制表\b退格\v垂直制表\f换页\a响铃警报\“双引号字符\101A\x41A符号常量•对常量命名,即用符号代替常量;•先定义后使用;•格式:#define符号常量常量例:#definePI3.1415926•宏定义,不用分号;•好处:1.增强可读性2.可维护性,避免多处修改(如:求周长,体积)。常量与变量常量的本质•不占据任何存储空间•属于指令的一部分,编译后不再更改变量:程序运行时可以随时改变•定义变量时,给变量分配存储单元(如:一个字节),如宿舍号码对应一个房间,变量名对应一段存储空间。•通过变量对内存修改、存取;对变量的存取就是对存储单元的存取。•要先定义变量的类型,决定占用的内存空间,才能存取。2.3.1变量的数据类型2.3.2变量的使用2.3.3变量数据的存储与读取2.3.4其它变量2.3变量返回12cd,$123,#11,M.D.Ritchie。这里所表示的标识符都是错误的。错:变量:变量名:标识符:标识符规定:例:sun,day,month,student_name,c1string_2。用来标明变量名、函数名、数组名、结构体名、文件名、类型名等的符识。名字。英文!变量的名字。用标识符标识变量名。程序运行中其值改变的量。标识符由字母(区分大小写)、下划线、数字三种字符组成,且第一个字符必须是字母或者下划线。书P5,表1-2,C语言的31个保留字。1、整型变量:表示整型数据(整数)的变量。2、实型变量:2.3.1变量的数据类型1)按照存储空间分三种(限制了表达范围):基本型:int变量名2个字节。短整型:short[int]变量名2个字节。长整型:long[int]变量名4个字节。2)符号(正负号):int变量名无符号型:unsignedshort[int]变量名long[int]变量名表示实型数据(实数)的变量。单精度型:float变量名4个字节。双精度型:double变量名8个字节。3、字符型变量:4、字符串数组:表示字符型数据的变量。char变量名1个字节。表示字符串型数据的数组。char变量名[下标]字符串数组:是一个地址量。字符串数组表示字符串的第一个字符的地址。2.3.1变量的数据类型5、表——变量的数据类型、字节长度、位数、数据范围符号字节位数数据类型标识符数据范围18char-128~127-27~27-1216short[int]-32768~32767-215~215-1216int-32768~32767-215~215-1带符号432long[int]-231~231-118unsignedchar0~2550~28-1216unsignedshort[int]0~655350~216-1216unsignedint0~655350~216-1整型无符号432unsignedlong[int]0~42949672950~232-1432float10-38~1038实型带符号864double10-308~103081、变量的定义(声明)例:inta;floatb,c,d;charc1,string;变量定义的格式:数据类型标识符变量1,变量2,…变量n;2.3.2变量的使用在C语言中,所使用的每一个变量在引用前都须先定义,否则在程序编译时会发生错误。变量的定义就是按一定的方式为其使用的变量指定数据类型(标识符)、变量名(标识符)。在程序编译时,为其分配存储空间。变量的定义意义在于,计算机在编译时,对每一个变量分配对应和固定的存储单元(地址),为其程序的使用创造必要条件。inti,jnumber;floatx,y;charname;staticdoubleu,v;inta;inta1;变量定义举例:例:inta=3;intb=0,c=0;floatf=5.8;charc1=‘e’;2、变量的初始化给变量赋初值的过程叫变量的初始化。C语言允许在定义变量的同时对变量赋值。注意:没有赋初值的变量,并不意味着该变量中没有数值。此时,对于静态型(static)变量中的值是0,其它存储类型变量一个随机数。变量初始化的意义:程序编译完成后,变量已被赋值。(1)初始化:定义的同时赋值inti=5,j=6;floatx=10.1;charname=‘A’;(2)先定义,后赋值。inti;floatx=10.1;charname;i=5;x=20.5;name=‘A’;i=‘d’;变量的赋值的方法:在程序中使用变量,称为变量的引用。如进行数值计算、数据处理等。使用变量时,先定义,后引用。3、变量的引用例:main(){inta=55;intb;intc;b=45;c=(a+b)/100;printf(“a=%db=%dc=%d”,a,b,c);}结果:a=55b=45c=1对变量的引用其它变量指针变量(第六章):数组变量(第四章):结构体变量(第八章):联合体变量(第八章):类型标识符*变量名;类型标识符数组名[下标];struct结构体名{结构体成员表}结构体变量;union联合体名{联合体成员表列};变量的存储类型:数据类型变量名auto-自动型,使用最多,可缺省不写。static-静态型。register-寄存器型,少用。extern-外部型。变量说明格式:•英文字母、数字、下划线;•首字符必须是字母;•中间不能有空格,一般用小写;•不要和关键字重名。变量名:小结2.4运算和运算符2.4.1运算2.4.2运算符返回2.4运算和运算符2.4.1运算运算运算符运算量运算表达式对数据进行处理的过程表示各种数据处理的符识被处理的数据运算符+运算量(1)算术运算符(2)关系运算符(3)逻辑运算符(4)赋值运算符(5)自反赋值运算符(6)自增自减运算符(7)逗号运算符(8)条件运算符(9)指针运算符(10)地址运算符(11)结构体成员运算符(12)指向结构体成员运算符(13)下标运算符(14)圆括号运算符(15)大括号运算符(16)长度运算符(17)数据类型转换运算符(18)位运算运算符2.4.2运算符+、-、*、/、%、、=、=、==、!=&&、||、!=+=、-=、*=、/=、%=++、--,?:*&.-[](){}sizeof(类型标识符)(类型标识符)〈表达式〉&、^、|、~、、返回(1)算术运算符名称运算符运算规则正+取原值负-取负值加+加法+减-减法-乘*乘法*除/除法/对于整数,则为整除,余数舍去;实数则不然。例:1/3*3=01.0/3.0*3.0=1.0模%整除取余(只适用于整数)分子分母,结果=余数。例:12%5分子分母,结果=分子。例:2%5注意:C语言中乘法、除法运算符的表示与数学中的表示不同。(乘法不能写成mn,m×n,m·n;没有乘方运算符。除法不能写成m÷n)注:避免除数为0(2)关系运算符:对两个操作量进行大小比较的运算符名称运算符小于小于等于=大于大于等于=等于==不等于!=注意:C语言中小于等于、大于等于、等于、不等于运算符的表示与数学中的表示(≤≥=≠)不同。(3)逻辑运算符1.逻辑运算把一切“非0”的数作为真(用1表示),把“0”数作为假(用0表示)。逻辑运算是“非0”和“0”两类数据或真和假两类种状态的运算。2.名称运算符非!单目运算符与&&双目运算符或||双目运算符!非AB结果0假非0真非0真非0真0假非0真0假0假0假非0真非0真非0真||或3.真值表决定逻辑运算结果!!!非0(真)0(假)0(假)非0(真)&&与AB结果0假非0真0假非0真0假0假0假0假0假非0真非0真非0真有假则假,全真则真。有真则真,全假则假。(4)赋值运算符(5)自反赋值运算符名称运算符赋值=格式:变量=表达式;先计算等号右边的表达式,然后将其值赋给等号左边的变量。名称运算符加赋值+=减赋值-=乘赋值*=除赋值/=模赋值%=例:a+=ba=a+ba-=ba=a–ba*=ba=a*ba/=ba=a/ba%=ba=a%b例:x=x+10;y=x*x+x;C语言赋值运算符与数学中的等号其含义有着本质的不同。赋值表示操作,有结果。(6)自增自减运算符:让变量自己加1或者减1名称运算符说明例增1(前缀)++先加1,后使用。++i增1(后缀)++先使用,后加1。i++减1(前缀)--先减1,后使用。--i减1(后缀)--先使用,后减1。i--例:intj;i=3;j=++i;结果:j的值为4。i的值为4。而intj;i=3;j=i++;结果:变量j的值为3,变量i将3赋给j后自加1变为4。自增自减运算仅限用于变量。自增自减运算不能用于常量或表达式。单目运算符,结合性为自右向左。(8)条件运算符(9)指针运算符(10)地址运算符(11)结构体成员运算符(12)指向结构体成员运算符(7)逗号运算符,?:*&.-(13)下标运算符名称运算符下标[]用于数组运算。详细内容在第四章数组中介绍。(14)圆括号运算符名称运算符圆括号()例:(3+5)*88-21/7在函数的定义、引用中也应用圆括号。详细内容在第五章函数中介绍。(15)大括号运算符(16)长度运算符(函数)名称运算符大括号{}用于含
本文标题:2第4章(常量变量及表达式)
链接地址:https://www.777doc.com/doc-2916215 .html