版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言数据类型运算符表达式1 第二讲第二讲 数据类型,运算符和表达式数据类型,运算符和表达式 本讲要点本讲要点 熟悉关键字、标识符、常量、变量等术熟悉关键字、标识符、常量、变量等术 语;语; 掌握掌握C语言的三种基本数据类型;语言的三种基本数据类型; 掌握几种常见的运算符(算术运算符、掌握几种常见的运算符(算术运算符、 赋值运算符,逗号运算符)赋值运算符,逗号运算符) 掌握几种常见的表达式(算术表达式、掌握几种常见的表达式(算术表达式、 赋值表达式,逗号表达式)赋值表达式,逗号表达式) C语言数据类型运算符表达式2 1.常量与变量常量与变量 常量:常量:在程序运行过程中,值不能被改变的量。 如
2、:123,1.5,a,“hello”等; 变量变量:在程序运行期间,值可以改变的量。 对于程序中每一个变量,在对程序编译连接时由编译 系统给每一个变量分配对应的内存空间,用于存放变 量的值,在变量名和内存地址之间由系统自动建立对 应关系。从变量中取值,实际上是通过变量名找到相 应的内存地址,从该存储单元中读取数据 C语言数据类型运算符表达式3 变量命名规则变量命名规则 变量命名的规定:语言规定标识符只能由字母、 数字和下划线三种字符组成,且第一个字符必须 为字母或下划线。 例:例:1sum,_total, month, Student_name, lotus_1_2_,BASIC, li_li
3、ng 2 M.D.John, ¥123,3D64,ab C语言数据类型运算符表达式4 变量命名注意 编译系统将大写字母和小写字母认为是两个不同 的字符。 建议变量名的长度最好不要超过8个字符。 在选择变量名时,应注意做到“见名知意”,即 选有含意的英文单词 (或其缩写)。 要求对所有用到的变量作强制定义,也就是“先 定义,后使用” 。 C语言数据类型运算符表达式5 标识符、关键字 C语言数据类型运算符表达式6 2.数据类型数据类型 数据类型数据类型 基本类型基本类型 构造类型构造类型 指针类型指针类型 空类型空类型 整型整型 实型(浮点型)实型(浮点型) 字符型字符型 char 枚举类型枚举类
4、型 数组类型数组类型 结构体类型结构体类型 共用体类型共用体类型 单精度实型单精度实型 float 双精度实型双精度实型 double 基本整型基本整型 int 长整型长整型 long int 短整型短整型 short int 无符号整型无符号整型 unsigned C语言数据类型运算符表达式7 整型变量的分类: 3. 三种基本数据类型三种基本数据类型 3.1整型数据整型数据 u整型数据的长度因系统的不同而整型数据的长度因系统的不同而 变化;变化; u不同类型的整数其所能表示的数不同类型的整数其所能表示的数 据范围不一样,在实际应用时根据据范围不一样,在实际应用时根据 具体情况来选择。具体情况
5、来选择。 C语言数据类型运算符表达式8 整型变量整型变量 整型变量的定义整型变量的定义: : 规定在程序中所有用到的变量都必须在程序 中定义,即“强制类型定义”。 格式:变量类型(后跟至少一个空格)变量名 例如例如: : int a,b int a,b(指定变量、为整型) unsigned short c,d;unsigned short c,d;(指定变量、为无 符号短整型) long e,f;long e,f;(指定变量、为长整型) C语言数据类型运算符表达式9 例例3.2 整型变量的定义与使用整型变量的定义与使用 #include void main() int a,b,c,d; /*指
6、定、为整型变量* unsigned ; *指定为无符号整型变量* 12;-24;10; ; printf(,); 所有变量必须在第一条可执行语句前定义; 一条声明语句可声明多个同类型的变量; 可以看到不同种类的整型数据可以进行算术运算 C语言数据类型运算符表达式10 3.2浮点型数据浮点型数据 浮点型数据的分类浮点型数据的分类 浮点型变量分为单精度(float型)、双精度(double型) 和长双精度型(long double)三类形式。 u和整型数据一样,不同类型的浮点数其和整型数据一样,不同类型的浮点数其 所能表示的数据范围不一样,在实际应用所能表示的数据范围不一样,在实际应用 时根据具体
7、情况来选择。时根据具体情况来选择。 C语言数据类型运算符表达式11 浮点型变量浮点型变量 浮点型数据的定义 格式:变量类型(后跟至少一个空格)变量名 例如: float a;(定义a变量为float型) double b,c;(定义b变量为double型) long double c;(定义c变量为long double) C语言数据类型运算符表达式12 3.3字符型变量字符型变量 字符型变量用来存放字符常量,注意只能放一个 字符。 格式:变量类型(后跟至少一个空格)变量名 如字符变量的定义形式如下:char c1,c2; 一个字符变量在内存中占一个字节。 C语言数据类型运算符表达式13 字符
8、型数据 字符数据在内存中的存储形式及其使用方法字符数据在内存中的存储形式及其使用方法 一个字符常量存放到一个字符变量中,实际上并不是把该 字符的字型放到内存中去,而是将该字符的相应的ASCII 代码放到存储单元中。这样使字符型数据和整型数据之间 可以通用。 例 char c1=a,c2=b; 注意: 一个字符数据既可 以以字符形式输 出,也可以以整 数形式输出。 C语言数据类型运算符表达式14 例3.7 大小写字母的转换 #include void main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“c c,c1,c2); 运行
9、结果:运行结果: 程序的作用是将两个小写 字母a和b转换成大写字母 A和B。从代码 表中可以看到每一个小写 字母比它相应的大写字母 的ASCII码大32。 语言允许字符数据与整 数直接进行算术运算。 C语言数据类型运算符表达式15 字符串 字符串常量字符串常量 字符串常量是一对双撇号括起来的字符序 列. 合法的字符串常量: “How do you do.”, “CHINA”, “a” , “$123.45” 可以输出一个字符串,如 printf(“How do you do.”); C语言数据类型运算符表达式16 字符和字符串 是字符常量,“”是字符串常量,二者不同。 如:如:假设c被指定为字
10、符变量 :char c c=a; ”a”;c”CHINA”; 结论:结论:不能把一个字符串常量赋给一个字符变量。 C语言数据类型运算符表达式17 字符和字符串 规定:在每一个字符串常量的结尾加一个 “字符串结束 标志”,以便系统据此判断字符串是否结束。 规定以字符作为字符串结束标志。 如:如:如果有一个字符串常量” ,实际上在内存 中是: CHINA0 它占内存单元不是个字符,而是个字符,最后一个字 符为。但在输出时不输出。 C语言数据类型运算符表达式18 4.各类数值型数据间的混合运算各类数值型数据间的混合运算 混合运算:整型(包括int,short,long)、浮点型(包括float,do
11、uble)可 以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后 进行运算. 说明: 横向表示必定的转换; 纵向表示运算对象为不同类型 时的转换方向; 这种类型转换是由系统自动进 行的。 有两种类型转换,一种是在运算时不必用户指定,系统自动进行的类 型转换,如3+6.5。第二种是强制类型转换。当自动类型转换不能实现目的 时,可以用强制类型转换。 C语言数据类型运算符表达式19 强制类型转换运算符强制类型转换运算符 可以利用强制类型转换运算符将一个表达式转换成 所需类型。 一般形式:(类型名)(表达式) 例如:例如: (double) 将转换成double类型 (int)(x+y)
12、 将x+y的值转换成整型 (float)(5%3) 将5%3的值转换成float型 C语言数据类型运算符表达式20 5.小结小结 1.变量必须先定义,后使用; 2.变量有不同的类型;根据需要来选择类型; 3.不同的数据类型在内存中占用的字节数不一不同的数据类型在内存中占用的字节数不一 样,所能表示的数据范围也不一样,;样,所能表示的数据范围也不一样,; 4.变量定义的格式: 类型名 变量名 中间至少一个空格 C语言数据类型运算符表达式21 5.一条语句可以定义多个同一类型的变量; 6.变量命名需要遵从一定的规则(以字母 和下划线开头;见名知义;不能与C系统定 义的标识符和关键字相同等); 7.
13、区分大小写 C语言数据类型运算符表达式22 6.变量赋初值变量赋初值 赋值运算符 “=” 赋值表达式 由赋值元算符将一个变量和一 个表达式连接起来的式子。 格式:变量=表达式或常量 如如: : int a=3; / 指定为整型变量,初值为 float f=3.56; / 指定为浮点型变量,初值为.56 char c= a; / 指定为字符变量,初值为a C语言数据类型运算符表达式23 复合的赋值运算符复合的赋值运算符 复合的赋值运算符复合的赋值运算符 在赋值符“”之前加上其他运算符,可以构成复 合的运算符。 例如例如: 等价于 * 等价于 *() / 等价于 / 以“”为例来说明, 它相当于使
14、进行一次自加 的操作。即先使加, 再赋给。 C语言数据类型运算符表达式24 7.17.1基本的算术运算符基本的算术运算符 (加法运算符,或正值运算符。如: 、) (减法运算符,或负值运算符。如: 、) * * (乘法运算符。如:*) (除法运算符。如:) (模运算符,或称求余运算符,两侧 均应为整型数据,如:的值为)。 7.算术运算符和表达式算术运算符和表达式 C语言数据类型运算符表达式25 7.2算术表达式算术表达式 用算术运算符和括号将运算对象(也称操作 数)连接起来的、符合语法规则的式子, 称为算术表达式。运算对象包括常量、 变量、函数等。 例如例如: : *.5a 是一个合法的表达式
15、C语言数据类型运算符表达式26 算术表达式的求解 语言规定了运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别高低次序执 行,例如先乘除后加减。e.g. a-b*c+d; 对于同一优先级,规定了各种运算符的结合方向(结 合性) 算术运算符的结合方向为“自左至右”,即先左后右 。 运算对象与运算符的结合方向。如“左 结合性”,表示运算对象先与左边的运 算符结合,e.g. a-b+c; C语言数据类型运算符表达式27 自增、自减运算符自增、自减运算符 +,- -作用是使变量的值增或减 如如: ,(在使用之前,先使的值加 (减) ,(在使用之后,使的值加( 减) 例:i=3;j=i+;k
16、=+i;请问j和k的值是否一样?各为 多少? j=3, k=4,i=4 C语言数据类型运算符表达式28 注意:注意: (1)自增运算符(),自减运算符(), 只能用于变量,而不能用于常量或表达式, (2)和的结合方向是“自右至左”。 说明: 自增(减)运算符常用于循环语句中使循环变量自动加 。也用于指针变量,使指针指向下一个地址 语言中有的运算符为一个字符,有的运算符由两个字 符组成 ,为避免误解,最好采取大家都能理解的写法。 例如:不要写成i+j的形式,而应写成 (i+)+j或者i+ (+j)的形式 使用+,-时容易出现意想不到的问题,初学者慎用 C语言数据类型运算符表达式29 8.逗号运算
17、符和逗号表达式逗号运算符和逗号表达式 逗号运算符逗号运算符: : “,” “,” 逗号表达式逗号表达式:将两个表达式连接起来,又称为“顺序求 值运算符” 一般形式一般形式: : 表达式,表达式表达式,表达式 如:如:5, 求解过程:求解过程: 先求解表达式,再求解表达式。整个逗号表达式的 值是表达式的值。 逗号表达式 的 值为14 C语言数据类型运算符表达式30 9.总结总结 本讲主要涉及到C中的一些基本语法知识, 对于语法知识没有太多“为什么?”,需 要记忆的必须在理解的基础上记忆; 对于语法知识,先掌握常用的一些,一开 始不必细扣太多,后面有了一定的基础后 再补充; 开始学习写程序,多读别
18、人的程序,在读 懂的基础上加以模仿、借鉴、应用。 C语言数据类型运算符表达式31 课堂练习1:求圆的周长和面积 编写C程序计算圆的周长和面积,并输出。 问题的分析 用户:请给我计算一下圆的周长和面积。 计算机:请问半径是多少? 用户:5.3。 计算机:圆的周长=2*5.3=33.3; 圆的面积=*5.3*5.3=88.25 C语言数据类型运算符表达式32 算法 开始 结束 分析:分析: 1.需要用到几个变量?需要用到几个变量? 2.变量是什么类型?变量是什么类型? 3.变量之间的关系是什么?变量之间的关系是什么? C语言数据类型运算符表达式33 参考程序 #include main() float r,C,S; /*定义了三个float型变量*/ r=3; /*给半径赋初值*/ C=2*3.14*r; /*给出计算周长的表达式*/ S=3.14*r*r; /*给出计算面积的表达式*/ printf(“C=%f,S=%f”,C,S);/*输出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病模型讨论与分析
- 物业客服部员工培训
- 露天矿山安全培训课件经典
- 互联网平台会计劳动合同
- 城市综合体外保温施工合同
- 生物科技办公楼施工承包合同
- 山东影剧院建设合同
- 墙纸施工合同幼儿园欢乐世界
- 地下商场建设钻探施工合同
- 教育信息化项目招投标攻略
- DB21T 3314-2020 生物炭直接还田技术规程
- 教案特殊角三角函数值
- 涂漆检验报告(面漆)
- (中职)化工总控工应会技能基础模块1 化工生产准备-1-化工生产过程认知教学课件
- HPV感染与宫颈癌关系课件
- 小学主管后勤副校长岗位职责共3篇 学校后勤副校长岗位职责
- 以“政府绩效与公众信任”为主题撰写一篇小论文6篇
- 捅马蜂窝-完整版获奖课件
- DB11T 1234-2022 生活垃圾焚烧处理能源消耗限额
- 电力专业标准化技术委员会管理细则
- 《用一元一次方程求解数轴上动点问题》 课件
评论
0/150
提交评论