资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
项目三 数据类型、运算符、表达式,目录,C 语 言 数 据 类 型,任务一:利用整型量编写程序,基本数据类型 构造数据类型 指针类型 空类型,C 语 言 数 据 类 型,任务一:利用整型量编写程序,整型量 实型量 字符型量 字符串常量 符号常量 变量的初值和类型转换,1. 基本数据类型,基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是用于自我说明的。,2. 构造数据类型,构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在C语言中,构造数据类型有以下几种: 数组类型 结构类型 联合类型,3. 指针类型,指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。,4. 空类型,在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为:int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。所以在说明部分,把s说明为双精度浮点型。但是,也有一类函数,调用后并不需要向调用者返回函数值, 这种函数可以定义为“空类型”,其类型说明符为void。,5. 整型量,整型量包括整型常量、整型变量。整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。(1)整型常量 八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为07。八进制数通常是无符号数。 十六进制整常数的前缀为0X或0x。其数码取值为09,AF或af。 十进制整常数没有前缀。其数码为09。,5. 整型量,(2)整型变量 整型变量可分为以下几类: 1)基本型 类型说明符为int,在内存中占2个字节,其取值为基本整常数。 2)短整量 类型说明符为short int或shortC110F1。所占字节和取值范围均与基本型相同。 3)长整型 类型说明符为long int或long ,在内存中占4个字节,其取值为长整常数。 4)无符号型 类型说明符为unsigned。,在书写变量说明时,应注意以下几点: 1)允许在一个类型说明符后,说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。 2)最后一个变量名之后必须以“;”号结尾。 3)变量说明必须放在变量使用之前。一般放在函数体的开头部分。,6. 实型量,(1)实型常量 实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制数形式与指数形式。 1)十进制数形式 由数码0 9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。 2)指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。,6. 实型量,(2)实型变量 实型变量分为两类:单精度型和双精度型, 其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-383.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-3081.7E+308,可提供16位有效数字。 实型变量说明的格式和书写规则与整型相同。,7. 字符型量,字符型量包括字符常量和字符变量。(1)字符常量 字符常量是用单引号括起来的一个字符。例如a,b,=,+,?都是合法字符常量。(2)字符变量 字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。,8. 字 符 串 常 量,8. 字符串常量,字符串常量是由一对双引号括起的字符序列。例如: “CHINA“ ,“C program: , “$12.5“ 等都是合法的字符串常量。 字符串常量和字符常量是不同的量。 它们之间主要有以下区别: (1)字符常量由单引号括起来,字符串常量由双引号括起来。 (2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。 (3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符“0“(ASCII码为0)。这是字符串结束的标志。,9. 符 号 常 量,9. 符号常量,在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为: #define 标识符 常量 其中#define也是一条预处理命令(预处理命令都?quot;#“开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。,10.变 量 的 初 值 和 类 型 转 换,10. 变量的初值和类型转换,(1)变量赋值法 在程序中常常需要对变量赋初值,以便使用变量。语言程序中可有多种方法,在定义时赋以初值的方法,这种方法称为初始化。 在变量说明中赋初值的一般形式为: 类型说明符 变量1= 值1,变量2= 值2,; (2)变量类型的转换 变量的数据类型是可以转换的。转换的方法有两种,一种是自动转换,一种是强制转换。,利 用 整 形 量 来 编 写 程 序,小张是某学校的计算机老师,目前学校使用的计算机处理数据的位制为二进制,为了体会不同的数据类型的应用,小张想要编写一组程序将其更改为十六进制。,任务一:利用整形量来编写程序,由于在C语言中,数据类型可分为基本数据类型,构造数据类型,指针类型,空类型四大类,且整型量包含八进制、十六进制和十进制三种整常数,因此,小张决定使用整型量的知识来编写程序。,任务:利用函数设计C语言程序代码,任务 实施,利用整型量编写程序,如下所示:Practice /1int a,b; short int c; short d=100; a=d-20; b=a+d; c=a+b+d; d=d-a+c-b;Vtable a,2,0 b,2,0 c,2,0 d,2,100 of Vtable Vupdate 1,0;2,0 3,0 4,100,1,80 2,180 3,360 4,200 of Vupdate of Practice Practice /2int a=5; int b=9; long int c; long d; c=a+b-7; d=a*b*c; c=d*d*d; a=c-d;Vtable a,2,5 b,2,9 c,4,0 d,4,0 of Vtable,Vupdate 1,5 2,9 3,0 4,0 3,7 4,315 3,31255875 1,-5112 of Vupdate of Practice Practice /3int a=6,b=19; unsigned int c; int d; c=a-b+7; d=b*c; a=b+c+d;,b=-a;Vtable a,2,6 b,2,19 c,2,0 d,2,0 of Vtable Vupdate 1,6;2,19 3,0 4,0 3,65530 4,-114 1,-101 2,101 of Vupdate of Practice void main(),long x,y; int a,b,c,d; x=5; y=6; a=7; b=8; c=x+a; d=y+b; printf(“c=x+a=%d,d=y+b=%dn“,c,d); 将main说明为返回void,即不返回任何类型的值 x,y被定义为long型 a,b,c,d被定义为int型 5-x 6-y 7-a 8-b x+a-c y+b-d,显示程序运行结果 of long x,y; int a,b,c,d; c=x+a; d=y+b; 从程序中可以看到:x, y是长整型变量,a, b是基本整型变量。它们之间允许进行运算,运算结果为长整型。但c,d被定义为基本整型,因此最后结果为基本整型。,利 用 逗 号 运 算 符 编 写 程 序,任务二:利用逗号运算符编写程序,运算符和表达式简介2. 算术运算符和算术表达式3. 自增、自减运算符4. 赋值运算符和赋值表达式,利 用 逗 号 运 算 符 编 写 程 序,任务二:利用逗号运算符编写程序,5. 逗号运算符6. 关系运算符和表达式7. 逻辑运算符和表达式8. 条件运算符和条件表达式,1. 运算符和表达式简介,C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中, 各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算。 C语言的运算符可以分为以下几类: (1)算术运算符 (2)关系运算符 (3)逻辑运算符 (4)位操作运算符 (5)赋值运算符 (6)条件运算符 (7)逗号运算符 (8)指针运算符 (9)求字节数运算符 (10)特殊运算符,C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。,拓展提高:,2. 算术运算符和算术表达式,(1)加法运算符“+” 加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。具有右结合性。 (2)减法运算符“-” 减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算,如-x,-5等具有左结合性。 (3)乘法运算符“*” 双目运算,具有左结合性。 (4)除法运算符“/” 双目运算具有左结合性。参与运算量均为整型时, 结果也为整型,舍去小数。如果运算量中有一个是实型,则结果为双精度实型。,2. 算术运算符和算术表达式,(5)求余运算符(模运算符)“%” 双目运算,具有左结合性。要求参与运算的量均为整型。 求余运算的结果等于两数相除后的余数。(6)算术表达式 是由算术运算符和括号连接起来的式子, 以下是算术表达式的例子: a+b(a*2)c(x+r)*8-(a+b)7+isin(x)+sin(y)(+i)-(j+)+(k-),3. 自增、自减运算符和表达式,自增1运算符记为“+”,其功能是使变量的值自增1。自减1运算符记为“-”,其功能是使变量值自减1。自增1,自减1运算符均为单目运算,都具有右结合性。可有以下几种形式: +i i自增1后再参与其它运算。-i i自减1后再参与其它运算。 i+ i参与运算后,i的值再自增1。 i- i参与运算后,i的值再自减1。,在理解和使用上容易出错的是i+和i-。 特别是当它们出在较复杂的表达式或语句中时,常常难于弄清,因此应仔细分析。,拓展提高:,4. 赋值运算符和赋值表达式,(1)简单赋值运算符和表达式 简单赋值运算符记为“=”。由“= ”连接的式子称为赋值表达式。其一般形式为: 变量=表达式 例如: x=a+b w=sin(a)+sin(b) (2)复合赋值符及表达式 在赋值符“=”之前加上其它二目运算符可构成复合赋值符。如+=,-=,*=,=,%=,=,&=,=,|=。 构成复合赋值表达式的一般形式为: 变量 双目运算符=表达式 它等效于 变量=变量 运算符 表达式 例如:a+=5 等价于a=a+5 x*=y+7 等价于x=x*(y+7) r%=p 等价于r=r%p,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号