c语言讲解第二章 基本数据类型、运算符及表达式

上传人:繁星 文档编号:88248530 上传时间:2019-04-22 格式:PPT 页数:64 大小:459.50KB
返回 下载 相关 举报
c语言讲解第二章 基本数据类型、运算符及表达式_第1页
第1页 / 共64页
c语言讲解第二章 基本数据类型、运算符及表达式_第2页
第2页 / 共64页
c语言讲解第二章 基本数据类型、运算符及表达式_第3页
第3页 / 共64页
c语言讲解第二章 基本数据类型、运算符及表达式_第4页
第4页 / 共64页
c语言讲解第二章 基本数据类型、运算符及表达式_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《c语言讲解第二章 基本数据类型、运算符及表达式》由会员分享,可在线阅读,更多相关《c语言讲解第二章 基本数据类型、运算符及表达式(64页珍藏版)》请在金锄头文库上搜索。

1、第二章 数据类型、运算符与表达式,2.1 C语言的基本数据类型,著名计算机科学家沃思提出: 程序数据结构算法,所以,存放数据的方式直接反映了一种语言的数据表达能力。 数据的存储方式又称之为:数据类型。,举 一个例子:以考生各科成绩及总分排队问题为例子。 成绩的存放 以数组形式 排队方法 算法,2.1 C语言的基本数据类型,程序设计中,每个要使用的变量都要事 先指定它的数据类型!,1不同类型的数据在内存中占据不同长度的存储区。,2不同类型的数据取值范围不同。,3不同类型的数据有不同的操作。,2.1 C语言的基本数据类型,因此要求在使用变量之前, 必须对变量的类型进行说明, 即通知编译系统, 以便

2、为其分配相应的存储单元。,2.1 C语言的基本数据类型,C语言中, 变量须先定义,后使用 如: int student ; student=30; 则若写成 student=30; 即未定义, 编译时会出错。,2.1 C语言的基本数据类型,C数据类型丰富,分为:,基本类型,构造类型,指针类型,空类型,整型,字符型,实型,单精度,双精度,数组,结构体,共用体,数据有常量、变量之分,均为其中一种类型。,枚举,2.1 C语言的基本数据类型,例: int a; /* 定义整型变量a */ char b; /* 定义字符型变量b */ a的取值只能在范围-3276832767之间 b的取值只能在范围-1

3、28127之间;,2.2 常量,什么是常量?,程序运行过程中不能被改变的量。,如程序中: 20 整型常量 15.8 浮点型常量 a 字符常量,整型数据有三种形式,2.2.1 整型常量,1、整型常量的基本类型,十进制整数,八进制整数,十六进制整数,(1)十进制整数的表示与数学上的表示相同 合法的十进制常数如: 256,-321,0 不合法的十进制常数有: 023,25D,2.2.1 整型常量,(2)八进制整数的表示以数字0开头(后面出现的每位上的数字取值是07) 合法的八进制数如: 015,0101,017 不合法的八进制数如: 256,0283 例: 0234表示八进制整数(234) ,所对应

4、的十进制数为 282+381+480 =156,2.2.1 整型常量,8,(3)十六进制整数的表示以0x开头(后面出现的每位上的数字取值是0F) 合法的十六进制数: 0x1f,0xFF,0x201 不合法的十六进制数: 8C,0x3H 例: 0x201表示十六进制整数(201)16,所对应的十进制数为 2162+0161+1160 =513。 (友情提示:十六进制数前导字符0x,x前面是数字0),2.2.1 整型常量,在一个整型数据后面加一个字母l或L,则认为是long int型量(长整型)。如342L、0L、78L等。 长整型123L和基本整型常数123在数值上无区别,但123L是长整型数,

5、占4个字节,而123是基本整型,占2字节,在运算和输出格式上要注意。,2.2.1 整型常量,2、整型常量的后缀,无符号也可用后缀表示,整型常量的无符号数用后缀“u”或“U”来表示。如:345u,0x38Au,235Lu 思考: 10和10L是否等价 10、010、0x10是否等价,2.2.1 整型常量,2、整型常量的后缀,在C语言程序设计中,实型数据有两种表达形式: (1)十进制数形式。如: 5.734、0.273、.8、224.、0.0等。 (2)指数形式。如: 546e3(或546E3)都代表546 10。 注意: E、e只能表示底数为10的,字母e(或E)之前必须有数字,且e后面的指数必

6、须为整数。 例:e3 , 32e3.5, .e3, e 错误,2.2.2 实型常量,3,在程序中,为了书写方便,用标识符代表一个常量。,符号常量的定义,#define 标识符 字符串,2.2.3 符号常量,如:可事先规定PI=3.1415926, 就可定义符号常量PI 代表字符串3.1415926,定义如下 #define PI 3.1415926 这样在程序中所有PI均代表3.1415926,是个常量,PI的值在程序执行时不能改变。,2.2.3 符号常量,1. define是预编译命令,在编译之前中用对应的字符串替换程序中的标识符,然后再编译程序。 2. 该定义必须放在程序的开头,每一个定义

7、必须独占一行,因其不是语句,故尾部不跟分号。 3. 为了与变量区分,一般符号常量用大写表示。,说明:,2.2.3 符号常量,例: #define PRICE 30 #include void main ( ) int num, total; num=10; total=num*PRICE; printf(“total=%d“,total); ,当开始编译前,系统先将程序中所有的PRICE这个单词换成30,再进行编译(翻译成二进制)。,2.2.3 符号常量,显示结果: total300,例:#include #define PI 3.14 #define R 10.0-7.0*PI void m

8、ain() float s; s=PI*R; printf(“s=%fn”,s); ,2.2.3 符号常量,显示结果: s9.420000,它可分为字符常量和字符串常量两种。 (1) 字符常量 * 字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,A、等。,2.2.4 字符型常量,* 转义字符 语言还允许使用一种特殊形式的字符常量,就是以反斜杠“ ”开头,引导的一个字符或一个数字序列的转义字符,注意: (1) ddd 表示某ASCII码的一个字符,三位八进制数,例 101 表示字母A,(2) xhh 表示某ASCII的一个 字符,2.2.4 字符型常量,二位十六进制数,例 x

9、 41 表示字母A,2.2.4 字符型常量,使用转义字符注意:,1) 转义字符多用于printf()函数中,而在scanf()函数中通常不使用 2) 转义字符常量,如n,x86等只能代表一个字符,例: #include main() int a,b,c; a=5;b=2;c=4; printf(“t%d%dn%dn%d%dtbb%dn”, a,b,c,a,b,c); ,思考下列程序的输出结果?,2.2.4 字符型常量,(2)字符串常量,* 字符串常量的定义 字符串常量是用一对双引号括起来的若干字符序列。 * 例如: “china” , ”I am a student” , “123.0”,2.

10、2.4 字符型常量,(2)字符串常量,* 字符串长度 字符串中字符的个数称为字符串长度。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为“ ” (一对紧连的双引号)。,2.2.4 字符型常量,* 例如 “How do you do.” “Good morning.” 其长度分别为14和13(空格也是一个字符)。,* 字符串的存储 C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个0作为字符串的结束标志,但不显示。 注意:在源程序中书写字符串常量时,不必加结束字符0,否则画蛇添足。,2.2.4 字符型常量,(2)字符串常量,如果有一个字符串为“CHINA”,则它在内存中

11、的实际存储如下所示: 最后一个字符0是系统自动加上的,该字符 串占用字节而非字节内存空间。,2.2.4 字符型常量,(2)字符串常量,* 字符常量A 和字符串常量”A”是不同的 总结,不同之处: (1)定界符不同:字符常量使用单引号,而字符串常量使用双引号; (2)长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;,2.2.4 字符型常量,(3)存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志0。,2.2.4 字符型常量,2.3 变量,程序运行过程中,数据的两种状态: 变量 常量 变量的要素: (1)

12、变量名。 每个变量都必须有一个名字变量名,变量命名遵循标识符命名规则。,(2)变量类型(int , float, double等) (3)变量值。 在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。,注意:变量名和变量值两个不同的概念,2.3 变量,2.3.1 变量名,变量名用标识符来表示 合法的标识符 day, sum, _total, name12 不合法的标识符 if, printf, 23name, ab#,2.3.2 变量类型,在语言中,要求对所有用到的变量,必须先定义、后使用 定义格式 变量类型 变量名; 例子 int a,b,c; float f; cha

13、r d;,2.3.2.1 整型变量,1、根据数值的范围将整型数据分成三类: 基本整型,以int 表示 短整型,以short int 表示,或以short表示 长整型,以long int 表示,或以long 表示 对以上三类还可以加上signed( signed可以省略)或 unsigned, 分别表示有符号数或无符号数,2、定义方法 例如: int a , b, c ;,int a ; int b ; int c ;,等价于:,2.3.2.1 整型变量,2.3.2.2 实型变量,1、实型数据的分类: 单精度,以float表示 双精度,以double表示 2、定义方法 float a ,b, c

14、 ; double a ,b, c ;,2.3.2.3 字符型变量,1、字符型数据类型标识符为char 2、定义方法 char a ; 3、字符型变量当中存放的值是一个字符,而C语言中的字符表示是用单引号括起来的一个字符。如A、y、*、! 、+等。 注意,e 和 E 是不同的字符量。,2.3.3 变量值,变量必须先有确定的值后才能参加各种相应的操作。 变量通过赋值语句获得一个值 例如: int i ; /* 定义为整型变量 i */ i=10 ; /* 给i赋以整数10 */,(思考?若i=10换成语句 i=10.2 ,输出 i, 结果是什么),结果:10,又如: float j ; /* 定

15、义实型变量 j */ j=10.5 ; (思考?若j=10.5换成语句j=10, 输出j的值,显示应为),是一个实数10.0 在%f的输出格式前提下,输出结果:10.000000,2.3.3 变量值,又如: char i ; i=a; 注意: i=“a”; i=“abc”;,2.3.3 变量值,字符变量只占一个字节单元。,单个字符的字符串或者是多个字符的字符串都不能赋给字符变量,2.3.3 变量值,变量也可以通过输入语句获得一个值 int a; scanf(“%d”,变量可用初始化的方法获得一个值 在定义变量的同时进行赋初值的操作为变量初始化。 例: int a=3;,int a; a=3;,相当于:,2.3.3 变量值,再如: float f=3.56; char c=a;,可以对被定义的变量的一部分赋初值。 如: int a,b,c=5; 相当于 int a,b,c; c=5;,2.3.3 变量值,对几个变量赋予相同的初值时 如: int a=3,b=3,c=3; 相当于 int a,b,c; a=b=c=3;,思考:int a=b=c=3; 是否正确?,2.3.3 变量值,1,C语言规定:在一个源程序中,main()函数的位置: A、必须在最开始; B、必须在系统调用的库函数的后面; C、可以任意; D、必须在最

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号