《C语言程序设计-变量.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计-变量.ppt(14页珍藏版)》请在三一办公上搜索。
1、C语言程序设计,变量与表达式,变量,什么是变量:变量代表内存中具有特定属性的一个存贮单元,它用来存放数据,在程序运行期间,其存放的值可以改变。变量的名字:内存空间的代号,最长32个字符。规则一:只能由字母、数字、下划线组成;例如:a AX Student _index Hello!规则二:大写小字母是不同的;例如:ENGLISH English english eNGLISH规则三:第一个字符不能是数字;例如:No1 1person规则四:不能使用保留字。例如:main int if while,良好的习惯:变量名应选用有特定含义的英文单词。,3,01001011,内存地址,计算机内存,变量名
2、,a,变量值,变量的类型,变量的类型:什么是变量的类型?变量类型是指一个变量所能存贮的数据格式。有整型、浮点型、字符型、指针型、结构体等多种。变量为什么要有类型?为避免产生数据的歧异。,可以理解为字符a 和0;可以理解为整型数据:49600;可以理解为实型的一部分,甚至是指令代码。,变量的类型,整 型:short:数据的范围-3276832767之间的整数。unsigned short:数据范围065535之间的整数。int:数据范围-2147836482147483647之间的整数。unsigned int:数据范围0429567296之间的整数。long,unsigned long:与in
3、t类型一样。,注意:如果将一个非整型数据强行存放在整型变量中,会自动截断小数部分,只保留整数部分。这是C语言的优点,但同时也是缺点。,例如:a=18.9 a=18 pi=3.14 pi=3,2字节,4字节,变量的类型,浮点型:float:-3.410-383.41038,有效数字6位。double:-1.710-3081.710308,有效数字15位。long double:与double类型一样。,4字节,8字节,例如:,浮点数的二进制存贮格式:参见IEEE754标准。,变量的类型,字符型:将二进制数理解为ASCII字符。字符型变量在内存中占用一个字节。字符型数据必须用单引号包含起来。例如:
4、char a,b,c;a=3;b=A;c=;注意:字符型数据中的数字只是一种字符,不能作为数字参与运算。8+9含义:数字17 8+9含义:56+57,结果为字符q ch=34;含义:将字符+放入变量ch中,转义字符:具有特殊含义的字符,P48,主要应用:文字处理类软件。,变量的属性,变量代表内存中具有特定属性的一个存贮单元,它用来存放数据,在程序运行期间,其存放的值可以改变。变量的属性:类 型:整型、浮点型(单精度、双精度)、字符型等地 址:内存实际,二进制代码名 字:地址的代号作用域:在程序的某些地方可用,有些地方不可用生存期:内存的申请、占用和释放,变量的使用,规则:1.变量必须先定义后使
5、用,不允许先使用后定义;2.变量不允许有重名;3.在一个程序中可以使用的变量数没有限制;4.变量的类型必须与所要存放的数据一致;5.变量可以只定义不使用,却不允许有使用而没定义。,例一:#include main()int a,b,c;float pi,e,sigma;unsigned aa,u,number;long result,square;char code,name;,例二:#include main()char book,date;double divide;char comment;int plus,loop;unsigned long factor;,请计算一下:程序中占用了多
6、少内存?,变量的使用,例三:,/Its the third sample.main()a=1;b=10.5;c=9;x=(-b+sqrt(b*b-4*a*c)/(2*a);x=(-b-sqrt(b*b-4*a*c)/(2*a);printf(result=%dn,x,x);,错误:,变量未定义就使用;,变量类型错误;,变量使用重名;,缺少两个包含文件。,表达式,用运算符将变量连接起来表达特定含义的式子。,运算符:,算数运算符:+,-,*,/,%,优先级:,“自左至右,先乘除后加减”,与数学定义相同。例如:a+b*c-d/e(a+b)*c-(d/e),赋值表达式:,将等号右边的计算结果存贮在左边
7、的变量中,与数学定义不同。例如:a=a+1;a=(a+4)*(a-5);,表达式,自增自减表达式:,+:将变量值增加1;-:将变量值减少1;,逗号表达式:,自左至右计算表达式的结果,并将最右边的表达式结果赋值给等号左边的变量。例如:a=(3+4,5+6);a=(a+,a+5);,例如:a+;a-;b+;,建议:逗号表达式最好用括号包起来,以免产生歧义。,建议:逗号表达式是C语言所特有,但建议少使用。,原则上,不同类型的数据不能进行混合运算,C语言允许不同的数据类型进行相互转换,但要遵守相应的规则。,在表达式运算过程中,按运算顺序,逐步由短字节向长字节转换。,int r;float b,c;r=
8、3;b=3.14;c=b*r*r;,c=3.14*3.0*3.0,double,float,int,char,低,高,int a,b,c;float fa,fb,fc;double da,db,dc;a=1;b=2;c=3;fa=1.0;fb=2.0;fc=3.0;da=1.0;db=2.0;dc=3.0;a=a+fa*da/fc*a-c;fa=a*b-c+fc+da/fa;,1字节,4字节,4字节,8字节,int a;char c;float fa;a=5;c=1;fa=4.0;fb=c+a*fa;c=fb;,自动类型转换,强制类型转换,在自动类型转换的基础上,按特殊设定转换。,(char)
9、(a+3)字符型,(int)(3*5+(double)a)整型,常量与常量表达式,与变量具有类型特征相似,常量也有数据类型之分,有整型、浮点型、字符型等。整型常量:如果数值在-3276832767之间,则默认为short型;如果数值超出上述范围,则默认为int型;如果数值后面加u(U),则确定为unsigned型;如果数值后面加 l(L),则确定为long 型。,int,long,long,unsigned,2.浮点型常量:默认为double型;如果数值后面加上f(F),则确定为float型。,double,13.5,float,13.5f,例如:,3.字符型常量:用单引号对括起来。例如:A,
10、a,1,2,例如:123 32768 123L 65423u,常量与常量表达式,常量与变量一样都要在内存中占用一定的空间,并有相应的数据类型,主要区别:变量存贮的数据可变,常量存贮的数据不可变;常量可以有名字,但通常直接使用。常量表达式计算规则与变量表达式相同:从左至右,按优先级计算;不同类型数据间的运算向长字节转换;常量和变量可以混合运算。,int a,b,c;float fa,fb,fc;a=9/5*fc+32;a=fc*9/5+32;,int x;float a,b,c;x=(-b+sqrt(b*b-4*a*c)/(2*a)+C;,例如:,3,01001011,内存地址,计算机内存,常量名,A,常量值,