【文档说明】C语言第二次简洁版课件.ppt,共(23)页,355.366 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-44557.html
以下为本文档部分文字说明:
第二章基本数据类型与顺序程序设计2.1常量变量2.1.1常量在程序运行时,其值不能被改变的量称为常量。常量可分为三种:整型常量实型常量字符型常量【例如】1、2、12是整型常量;2.1、12.5、3.14是实型常量;‘a’、‘b’、‘c’是字符型常量符号常量在C
语言中可以用一个标示符表示一个常量,称之为符号常量。符号常量是一种特殊的常量,其值和类型是通过符号常量的定义命令决定的。符号常量符号常量在使用之前必须先定义,期一般形式为:#define标示符常量【说明】1、#de
fine是一条预处理命令,又被称为宏定义命令,其功能是把命令格式中的标示符定义为其后的常量值。2、一经定义,以后在程序中所有出现该标示符的地方以该常量值代之。3、习惯上符号常量的标示符用大写字母表示,变量标示符用小写字母表示,以示区别
。4、用define进行定义时,必须用“#”号作为一行的开头,在#dinfine命令行的最后不得加分号结束【例2-1】求边长为20的正方形的面积#defineLENGTH20#include<stdio.h>void
main(){Floats;s=LENGTH*LENGTHprintf(“s=%f\n”,s)}在主函数中,S被定义为float型,即实型;在主函数之前由宏定义命令定义LENGTH为20,程序执行过程中即以LENGTH代替20.即S=LENGTH*LENGTH等效于S=20*20在程序
中,不能再用赋值语句对符号常量重新赋值,也就是说,在本例中不能再对LENGTH赋值【注意】①在使用符号常量时,一般要做到“见名知意”,如上面的程序LENGTH就是正方形的边长。②使用符号变量的一个最大好处就是
能够做到“一改全改”,例如,想知道另一个边长为10的正方形的面积,那么只需作如下改变:#defineLENGTH10这样就能轻松的到达目的了。2.1.2变量变量:在程序运行过程中,其值可以改变的量为变量。例如:例如:一元一次方程y=12x+16X是自变量,y是因变量,
也就是说y会随着x的变化而变化,所以x,y都是变量变量的两个要素变量名:变量名的名称,变量的命名遵循标示符的命名规则。变量值:一个变量名实质上是代表了内存中的一个存储单元,该单元中的存储内容就是变量值。变量的定义一条变量定义语句由数据类型和其后的一个或多个变量组成,其形式如下:数
据类型变量名1[,变量名2,…];【例如】intname,age;Int:数据类型name变量名1age变量名2说明1、我们把“变量名1,变量名2”称之为变量名表。变量名表可以由一个或者多个标示符,也就是说我们可以同时定义相同数据类型的
的多个变量。2、上述格式中”[]”表示其中的内容是可选项,即可有可无,如无特殊说明,以后出现[]都表示相同的含义。3、数据类型与变量名之间至少用一个空格隔开。当定义多个变量时,每两个标示符名之间用“,”隔开。思考????在C
语言中,变量名total与变量名TOTAL、ToTaL、tOtAl等是同一个变量吗?变量的初始化在定义变量之后,我们可以根据需要赋予它一个初始值,即变量的初始化。在定义变量的同时,也可以对变量进行初始化,它的形式一般如下:数据类型变量名1[=初值][,
变量名2[=初始值2]…];【例如】Floatprice=2.5,length,area;float数据类型price=2.5赋初始值的变量名1length,area未赋初始值的变量名2和变量名3简单的数据类型
整型数据整型变量分类(可分三类)基本整型:用int表示,在内存中占4个字节短整型:用shortint或short表示,在内存中占2个字节长整型:用longint或long表示,在内存中占4个字节为了增加变量的取值范围,还可以将变量定义为
“无符号型”。详见课本22页。整型变了的定义定义形式如下:类型说明符变量名1[,变量名2,…];【说明】1、允许在一个类型说明符后说明多个相同类型的变量。类型说明符与变量名之间至少用一个空格隔开。当定义多个变
量名时,两个变量名之间用逗号隔开,最后一个变量名必须以;结束。2、变量说明必须放在变量使用之前,必须遵守先说明后使用的原则,一般放在函数体的开头部分【例如】inta,b,c;/*a,b,c为整型变量*/longd,e;/*d,e为长整型变量*/unsigned
f,g;/*a,b,c为无符号整型变量*/整型常量整型常量即整型常数。按不同进制,整型常量有3种表示方法,分别是十进制法、八进制法和十六进制数表示法。①十进制数表示法。十进制整常量没有后缀,其数码为0-9.【例如】237、-567、65535、1647都是合法的十进制整型常量。
②八进制八进制就是逢8进1,采用0~7这八数来表达一个数。八进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方……所以,设有一个八进制数:1507,转换为十进制为:用竖式表示:1507换算成十进制。第0
位7*8^0=7第1位0*8^1=0第2位5*8^2=320第3位1*8^3=512--------------------------839.同样,我们也可以用横式直接计算:7*8^0+0*8^1+5*8^2+1*8^3=8
39结果是,八进制数1507转换成十进制数为839八进制数的表达方法C,C++语言中,如何表达一个八进制数呢?如果这个数是876,我们可以断定它不是八进制数,因为八进制数中不可能出7以上的阿拉伯数字。但如果这个数是123、是567,或12345670,那么它是八进制数还是
10进制数,都有可能。所以,C,C++规定,一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制。这就是八进制数在C、C++中的表达方法。十六进制数转换成十进制数8进制,用八个阿拉伯数字:0、1、2
、3、4、5、6、7;10进制,用十个阿拉伯数字:0到916进制,用十六个阿拉伯数字……等等,阿拉伯人或说是印度人,只发明了10个数字啊?16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A
,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。所以,在第N(N从0开始)位上,如果是是数X(X大于等于0,并且X小于等于15,即:F)表示的大小为X*16的N次方。假设有一个十六进数2AF5,那么如何换
算成10进制呢?用竖式计算:2AF5换算成10进制:第0位:5*16^0=5第1位:F*16^1=240第2位:A*16^2=2560第3位:2*16^3=8192---------------------------------10997直接计算就是:5.*16^0+F*1
6^1+A*16^2+2*16^3=10997(别忘了,在上面的计算中,A表示10,而F表示15)十六进制数的表达方法如果不使用特殊的书写形式,16进制数也会和10进制相混。随便一个数:9876,就看不出它是16进制
或10进制。C,C++规定,16进制数必须以0x开头。比如0x1表示一个16进制数。而1则表示一个十进制。另外如:0xff,0xFF,0X102A,等等。其中的x也也不区分大小写。(注意:0x中的0是数字0,而不是字母O)以下是一些用法示例:inta=0x100
F;intb=0x70+a;至此,我们学完了所有进制:10进制,8进制,16进制数的表达方式。最后一点很重要,C/C++中,10进制数有正负之分,比如12表示正12,而-12表示负12,;但8进制和16进制只能用达无符号的正整数,如果你在代
码中里:-078,或者写:-0xF2,C,C++并不把它当成一个负数。