版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章的基本数据类型和公式,第二章总体介绍了c程序的基本结构,使读者对c程序有了大致的理解。 本章详细介绍了c语言程序中使用的基本语法单位、数据类型、运算符和表达式。 3.1基本语法单位,每种语言都根据自己的特征规定自己的一组特定的基本符号。 例如,英语的基本符号是26个字母的英文字母和标点符号。 c语言作为编程语言也有基本符号,程序由这些基本符号构成。 3.1.1基本符号,程序中给各种变量和各种函数命名。 这些变量名称、函数名称都是由语言的基本符号构成的。 c的基本符号是(1)数字10个(09 ); (2)英文大写字母和小写字母各26个(AZ,AZ) (3)特殊符号。 主要用于表示运算符,通
2、常由12个特殊符号构成。 包括: */%=!=此处的type必须是有效的c数据类型。 variable_list (变量表)可以由逗号分隔的多个标识符名组成。 例如: int i,j,l;/定义三个整数变量I,j,l,3.3.2变量,1 .整数变量main() int a,b,c,d。 将a、b、c、d设为整数变量*/unsigned u; 的双曲馀弦值。 /*u指定为无符号整数变量*/a=22。 b=-11; u=5; c=a u; d=b u; 打印机(b u=%dn,b u=%dn,c,d )。 实行的结果表明,a u=27,b u=6可以算术运算不同种类的整数数据。 此示例将int和u
3、nsingned int数据相加或相减。 2 .实变量实变量分为单精度(float型)和双精度(double型)。 例如浮点x、y; 指定/*x,其中y是单精度实数* /双精度z; /*z指定为双精度实数* /一般系统中,1个浮点型数据在内存中占4字节(32位),1个双精度型数据占8字节(64位)。 单精度实数提供7位的有效数字,双精度提供15 16位的有效数字,数值的范围因机械系统而异。 请注意,实际常数为double型,对float型变量分配实际常数时,对应的有效位数将被剪切。 3 .字符变量字符变量用于存储字符变量。 不要认为字符串可以放置在一个字符变量中。 字符变量的定义形式为char
4、 c1、c2; 这表示c 1和c 2是字符变量,每个变量都有一个字符。 因此,可以在以下语句中为c 1和c 2指定值: c1=a; c2=b; 3.3.3变量的初始化、变量的初始化是指,在定义变量的同时,对变量赋予初始值,使一部分变量在程序开始执行时具有确定的值。 其形式为:=; 例如: char c=A、ky=K; /*字符类型变量c和ky的初始值分别是a、K */int j和i=1。 /*整数变量I的初始值为1,j没有初始值*/float sum=3.56。 /*单精度变量sum的初始值为3.56 */若对多个变量赋予相同的初始值,则应该写成不能写成int a=b=c=3的int a=3、
5、b=3、c=3。 3.4式和运算符。 表达式由操作数和运算符组成,运算结果生成确定的值。 操作数可以是常数、变量、函数或表达式。 每个操作数都有一个数据类型,运算结果也有一个数据类型,结果的数据类型可能与操作数的数据类型相同或不同。 运算符指示如何修改表达式中的操作数。 c语言有44种运算符,根据各运算符在式中的作用,式大致分为算术式、关系式、逻辑式、条件式、代入式、逗号式等。3.4.1算术运算符、表3.4算术运算符下面有算术运算符的优先级:最高、- - - (单目标运算符取负号) *、/、%最低、-、/”用于整数或字符时,结果取整数。 模拟运算采用整数除法的馀数,“%”不能用于浮点型和双精度
6、型。自增运算符或自减运算符在操作数之前(x,-x )执行加或减操作,c语言在引用操作数之前执行加或减操作。如果运算符在操作数之后(x,x- )执行加或减操作,c语言在引用操作数的值之后执行加或减操作。 编译器按从左到右的顺序修正兄弟运算符。 和的结合方向是“从右向左”。 如I,相当于-(i )。 注:3.4.2赋值运算符、赋值运算符有简单的赋值运算符和复合的赋值运算两种。 简单代入运算的一般形式如下。 “=”是赋值运算符。 它的作用是将表达式的值赋给变量,并将该值作为赋值表达式的结果。 例如: a=b=c=d=0; 相当于: a=(b=(c=(d=0) ) ) :浮点f; f=23; 将/*2
7、3转换为23.00000,然后转换为*/inti; i=3.56; /*变量I的值为3 */,=,通过在单纯代入运算符“=”之前添加其他运算符,构成复合代入运算符。 (1)复合算子相当于两个算子的结合。 例如: a=b相当于a=a b,但不等价。 (2)在复合代入运算中,如果代入号的右边缘是复杂的公式,那么x *=y 10 z与x=x * (y 10 z )而不是x=x * (y 10 z )对应,即,右边缘的公式作为整体和x执行相关运算。 用代入运算符连接变量和公式的公式称为代入公式。 典型的格式还可以在赋值表达式中包括复合赋值运算符。 例如,设a的初始值为8,式: a =a -=a * a
8、也是代入式,根据优先级和结合性,该代入式的求解过程是: )先进行 a -=a * a 的运算,这相当于a=,进一步进行 a =- 56 的运算相当于a=a (- 56 )=- 56 56=-112 3.4.3关系运算符、关系运算是逻辑运算中比较简单的一种。 所谓“关系运算”,实际上是“比较运算”。 比较两个值,以确定比较结果是否满足预定条件。 例如,a3是关系表达式,大于编号“”的是关系运算符,如果a的值为5,则表达式的值为true (即满足条件),因为满足指定的条件“a3”。如果a的值为2,不满足条件“a3”,则函数c语言提供6种关系运算符,参照表3.5。3.4.3关系运算符、表3.5关系运
9、算符的说明:参加比较的数据可以是字符类型、整数类型、浮点类型的数据。 前四个关系运算符(、=)具有相同的优先级,后两个优先级相同。 前四种比后两种高。 例如,优先于=。 “”和“”的优先级相同。 关系运算符的优先级低于算术运算符。 关系运算符优先于赋值运算符。3.4.4逻辑运算符、表3.6逻辑运算符、表3.7逻辑运算真值表、注:参加逻辑运算的数据类型可以是字符类型、整数类型、浮点类型。 优先级:如果一个逻辑表达式包含多个逻辑运算符,请遵循以下优先级: (非)、(和)、|(或),即“! 是三者中最高的。 逻辑运算符“”和“|”是关系运算符的“! 中所述情节,对概念设计中的量体执行面积分析。 /式
10、子从左向右扫描求解。 首先处理“53”(因为关系运算符优先)。 关系运算符两侧的5和3作为数值参加关系运算,“53”的值为1,进行“12”的运算,此时1和2都是逻辑运算的对象,都被处理为“真”,因此结果为1。 更加“1|84-! 0”的运算。 按照优先顺序,先“! 由于“0”运算的结果是1,所以运算式成为“1|84-1”,即“1|83”,关系运算符“”两侧的8和3作为数值参与比较,“83”的值最后得到“1|0”的结果1。 532|84-! 0,3.4.5位运算符。 位运算是指通过二进制进行的运算。系统软件通常需要解决二进制位问题。 c语言提供了六个位操作运算符。 这些运算符只能用于整数操作数。
11、 也就是说,仅适用于带符号或无符号的char、short、int、long类型。 表3.8c语言提供的位运算符列表:表3.8位运算符表、3.4.6逗号运算符和c语言提供特殊的运算符逗号运算符。 用逗号连接多个表达式。 例如: 35、68,被称为逗号式。 逗号公式的一般形式是,逗号公式的求解过程是从求解公式1到求解公式2,到求解公式n为止,最后的逗号公式的值是逗号公式整体的值。 逗号算子也称为“逐次求解算子”。 逗号运算符是所有运算符中最低级别的。 因此,x=(a=3,6 *3) x=a=3,6 * 3表达式是代入表达式,逗号表达式的值为x,x的值为18。 式相当于“x=(a=3),6 * 3”
12、,是包含代入式和算术式的逗号式,x的值是3。3.4.7条件运算符,c语言提供替代特定条件语句的条件运算符。 条件运算符需要三个操作数。 称为三目标运算符,是c语言中唯一的三目标运算符。 条件式的一般形式是,(1)条件运算符的执行顺序:先求出式1,如果是0以外的(真)则求出式2,此时将式2的值作为条件式整体的值。 如果表达式1的值为0(false ),则计算表达式3,表达式3的值是整个表达式的值。 (2)条件运算符比代入运算符(3)优先的条件运算符的结合方向是“从右向左”。 (4)通常将简单的条件句替换为条件式。 条件式1? 式2 :式3、operatorprecedenceandassociativity、3.5各种数值型数据间的混合运算;在c语言中,允许整数型、单精度型、倍精度型、字符型数据间的混合运算等不同种类的数据间的混合运算。 例如:设I为int型,f为float型变量。 运算式: 10 a i *
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黔南消防安全培训基地
- 2025年城市文化创意产业政策研究
- 移动公司监控外包合同
- 垃圾清理转运外包合同
- 公路普查技术外包合同
- 光伏维修劳务外包合同
- 江夏区员工薪酬外包合同
- 公路打扫卫生外包合同
- 食品电话销售外包合同
- 养老院维修外包合同
- 工业设计方法学
- 医用氧气使用检查记录表
- 陈光中证据法学课件
- 知识创新与学术规范中国大学mooc课后章节答案期末考试题库2023年
- 城市轨道交通车辆检修高职全套PPT完整教学课件
- 断路器ct26弹簧机构及二次回路
- 系统集成项目管理
- 2021年重庆市新高考物理试卷(附答案详解)
- 协方差分析(三版)
- 《同分母分数加减法》教学设计 省赛一等奖
- 气候变化对环境和人类生活的影响课件
评论
0/150
提交评论