




免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言编程 授课教师 王占骜 第2章 表达式和简单程序设计 2 1表达式 1 操作符 Operators 由基本字符集中的一个或几个字符组成的 用来表示一种具体操作的符号 如 2 操作数 Operands 执行某种操作的对象 如 x 5 3 表达式 Expressions 由一个或多个操作组成的有实际意义的式子 如 s 3 1415926 r r可以把表达式分为7种不同的类型 4 优先级 Precedence 优先级用来确定不同操作运算的顺序 按照优先级别由高到低的次序执行 例如先乘除后加减 5 结合性 Associativity 各种运算符的结合方向叫做结合性 结合性用来决定多个相同优先级的操作处理的方向 左结合 自左至右 先左后右右结合 自右至左 先右后左先考虑优先级 再考虑结合性 2 1 1初级表达式 初级表达式是只含一个操作数不含运算符的表达式 C语言中初级表达式可以是标识符 常量或括号表达式 2 1 2二元表达式 格式为操作数 运算符 操作数的表达式 二元运算符 说明 1 两个整数相除 相乘 结果为整数 小数部分忽略 如果有一个数为小数 则结果为小数 如 5 2结果为25 2结果为2 55 2 0结果为2 5 说明 2 取余运算要求 两侧只能是整数 结果为两个数相除得的余数 如 5 3结果为27 3结果为15 0 3ERROR 说明 3 运算往往用来构建条件或周期性事物处理 如 intx x 2 0用来判断奇偶 说明 4 和 运算结合可以分离整数如 intx 1234 b1 b2 b3 b4 b1 x 10 b2 x 10 10 b3 x 100 10 b4 x 1000 2 1 3赋值表达式 把等号右边的操作数的制存储到等号左边的变量中 1 一般格式 如 intx y 10 x y 10 赋值符号 就是赋值运算符 它的作用是将一个数据赋给一个变量 表达式的值是等号右边式子的值 2 复合赋值 复合赋值表达式等价的简单表达式x yx x yx yx x yx yx x yx yx x yx yx x y 3 左边一定是变量 如 x 1 7 ERROR 4 赋值运算均为右结合 如 intx 10 y 20 z 30 x y z z 等价为 x x y y z z 例 若变量已正确定义并赋值 以下合法的C语言赋值语句是 2007 9 A x y 5 B x n 2 5 C x n I D x 5 4 1 答案 A 2 1 4后缀表达式 一个操作数后面跟一个运算符组成的表达式 1 函数调用 FunctionCall 函数名是操作数 函数名后面的括号是运算符 如 printf 2 后置自增 自减 只能用于单个变量 i True i 5 False 作用为使变量的值增加或减1 如 a a 表达式的值为变量原来的值如 intx a 1 x a 等价于 x 1 a a 1 2 1 5一元表达式 由一个运算符跟一个操作数组成 只能用于单个变量 使变量的值增加或减1 如 a a 1 前置自增 自减 表达式的值为变量的新值如 intx a 1 x a 等价于 a a 1 x 2 2 sizeof运算符 用来测定对象占用内存的字节数 格式 sizeof 对象 或sizeof对象对象可以是类型标识符 也可以是表达式 如 sizeof int sizeof1 5 3 一元取正 取负 取正 负运算 可以简单的认为是数学中的正负号 但实际在C语言中是运算符 如 a a 例 设有定义 intk 0 以下选项的四个表达式中与其他三个表达式的值不同的是 2007 4 A k B k 1 C k D k 1 答案 D 例 数字0的ASCII值为48 若有以下程序main chara 1 b 2 printf c b printf d n b a 程序运行后的输出结果是 2005 4 A 3 2B 50 2C 2 2D 2 50答案 C 例 有以下程序main intm 12 n 34 printf d d m n printf d d n n m 程序运行后的输出结果是 2005 4 A 12353514B 12353513C 12343514D 12343513答案 A 2 1 6逗号表达式 由逗号连接表达式而构成的式子 格式 表达式1 表达式2 表达式n如 x 5 y x 5 z y x 6 运算规则 从左至右依次运算各表达式 整个逗号表达式的值为最右边的表达式的值 如 x 5 x 10 x 10 3则逗号表达式的值为53 说明 常用于给多个变量同时赋值 如 intx y z x 1 y 2 z 3 优先级为1 如 intx y z z x 1 y x 10 x y 15 例 有以下程序main chara1 M a2 m printf c n a1 a2 以下叙述中正确的是 2005 4 A 程序输出大写字母MB 程序输出小写字母mC 格式说明符不足 编译出错D 程序运行时产生错误信息答案 B 例 执行以下程序后的输出结果是 2007 4 includemain inta 10 a 3 5 a 4 printf a d n a 答案 a 14 例 以下叙述中错误的是 2006 4 A C程序中的 include和 define行均不是C语句B 除逗号运算符外 赋值运算符的优先级最低C C程序中 j 是赋值语句D C程序中 号是算术运算符 可用于整型和实型数的运算 答案 D 2 2副作用 Sideeffect 由于表达式运算而引起变量发生变化的一种情况 如 x 10 y 8 结果是 x 80y 8 2 3表达式求值 1 用变量的值替换表达式中的变量 得到新表达式 2 按优先级顺序计算各表达式并用求得的值替换原来的部分 3 重复步骤 2 直到得到一个单独的值 2 3 1无副作用表达式求值 2 3 2有副作用表达式求值 2 4混合类型表达式 不同类型数据联合而成的式子 整型 单精度型 双精度型数据和字符型可以混合运算 如 10 A 1 5 8765 1234 b 不同类型数据计算时 应当首先将其转换成相同数据类型 2 隐式类型转换 ImplicitTypeConversion 系统自动按规则由低向高层转换 如 inti floatf 10 a i f 赋值表达式中 如果赋值号左右两端的类型不同 将右边的值转换为左边的类型 结果为赋值号左边的类型 2 4 2 强制类型转换 ExplicitTypeConversion 使用强制类型转换符进行转换 格式 数据类型标识符 表达式优先级为14 如 float x int x y float 5 3 应用 int 5 55 3 C float 5 9 F 32 如 main floatx inti x 3 6 i int x printf x f i d x i 运行结果 x 3 600000 i 3 在强制类型转换时 得到一个所需要的中间变量 原来的变量的类型未发生改变 例 表达式3 6 5 2 1 2 5 2的值是 2006 4 A 4 3B 4 8C 3 3D 3 8答案 D 例 以下程序运行后的输出结果是 2007 9 includemain charc intn 100 floatf 10 doublex x f n c 50 printf d f n n x 答案 220 000000 2 5语句 2 5语句 2 6标准库函数 StandardLibraryFunctions 开发商编写的函数 函数原型包含在不同的头文件中 1 数学函数 MathematicalFunctions 大多数包含在头文件math h中 1 求绝对值函数abs labs fabs三个函数对应类型不同abs int abs 3 labs long fabs double fabs 3 4 2 ceil floor函数 函数原型 doubleceil floor doublenumber 作用 ceil返回不小于number的最小整数 结果为double型 如 ceil 1 9 1 0ceil 1 9 2 0floor返回不大于number的最大整数 结果为double型 如 floor 1 9 2 0floor 1 9 1 0 3 求幂pow函数 函数原型 doublepow doublex doubley 作用 返回x的y次幂如 pow 3 0 4 0 81 000000 4 求平方根sqrt函数 函数原型 doublesqrt doublex 作用 返回非负数的平方根 如 sqrt 2 1 414000 2 通用库函数 GeneralLibraryFunctions 头文件为stdlib h 1 种子随机函数srand函数函数原型 voidsrand unsignedintseed 作用 返回0 seed之间的随机数 1 种子随机函数srand函数 常常使用系统时间作为参数来产生首个种子数 此时需包含头文件time h例 srand time NULL 也可以用常量例 srand 997 2 rand函数 函数原型 intrand void 作用 返回0 32767之间的随机整数产生不同的随机数只需使用一次srand函数 若不调用srand函数 rand函数的种子初始值为1 每次产生的随机数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省云和县2025年上半年事业单位公开遴选试题含答案分析
- 农业种子市场探索
- 南召县六年级英语课本上册单词表卡通版
- 河北省辛集市2025年上半年事业单位公开遴选试题含答案分析
- 河北省威县2025年上半年事业单位公开遴选试题含答案分析
- 河北省孟村回族自治县2025年上半年公开招聘村务工作者试题含答案分析
- 河北省乐亭县2025年上半年事业单位公开遴选试题含答案分析
- 2025年半合成金属切削液生产线租赁与维护合同
- 2025年度党支部党建联建文化旅游合作协议书
- 2025年建筑材料研发与知识产权保护承包协议
- 手拉葫芦室内钢梁吊装方案
- 业务招待费审批单
- 2021版特种设备目录
- 电子课件-《英语(第二册)(第三版)》-A01-4402 英语 第二册 第三版 课件-Unit 2 lesson 2
- GB∕T 17794-2021 柔性泡沫橡塑绝热制品
- CRT植入推荐步骤和工具课件
- 建筑施工岗位安全风险明白卡
- Q∕GDW 10827-2020 三相智能电能表技术规范
- 空气轴承技术培训教程
- (完整版)法理学试题库附答案
- 典范剧本Coming Clean
评论
0/150
提交评论