C语言程序设计教程第2章.ppt

上传人:max****ui 文档编号:6333686 上传时间:2020-02-23 格式:PPT 页数:42 大小:650.31KB
返回 下载 相关 举报
C语言程序设计教程第2章.ppt_第1页
第1页 / 共42页
C语言程序设计教程第2章.ppt_第2页
第2页 / 共42页
C语言程序设计教程第2章.ppt_第3页
第3页 / 共42页
点击查看更多>>
资源描述
第2章C语言的基本数据类型与表达式2 1C语言的基本数据类型2 2常量和变量2 3运算符与表达式2 4数据类型转换 C语言程序设计教程 2 2 1C语言的基本数据类型 一 数据类型概述 第2章C语言的基本数据类型与表达式 3 1 常量 1 十进制形式 与数学上的整数表示相同 例如 12 100 0 2 八进制形式 在数码前加数字0 例如 012 1 81 2 80 10 十进制 3 十六进制形式 在数码前加0X 数字0和字母X 例如 0 x12 1 161 2 160 18 十进制 八进制的数码范围为0 7 018 十六进制的数码除了数字0 9外 还使用英文字母a f 或A F 表示10 15 如 0 x1e 注意 二 整型 第2章C语言的基本数据类型与表达式 4 2 分类 根据数据所占的二进制位数分为 int short long 同样存储长度的数据又分unsigned signed 故可组合出六种类型 3 值域 由机器中数据的存储长度决定 如TurboC中 有short 2字节 int 2字节 long 4字节 关键字所占位数取值范围short16 32768 32767unsignedshort160 65535int16 32768 32767unsigned160 65535long32 2147483648 2147483647unsignedlong320 4294967295 第2章C语言的基本数据类型与表达式 5 1 常量 1 十进制小数形式 由数字和小数点组成 例如 3 4 4 3 2 指数形式 十进制小数 e 或E 十进制数整数 例如 12 5e 6表示12 5 10 6 小数点不能单独出现 0 0 e或E的两边必须有数 且其后面必须为整数 如 6E0 2 e5 2 分类 关键字字节数取值范围精度 位 float43 4 10 38 3 4 10387double81 7 10 308 1 7 1030815 注意 第2章C语言的基本数据类型与表达式 三 实型 6 1 常量 1 用单引号括起来的一个字符 如 A 1 等 2 用单引号括起来的由反斜杠 引导的转义字符 字符形式功能 n换行 t横向跳格 b退格 r回车 反斜杠字符 单引号字符 ddd8进制数表示的ASCII码对应的字符 xhh16进制数表示的ASCII码对应的字符 第2章C语言的基本数据类型与表达式 四 字符类型 7 例如 字符A的ASCII码为 65D 十进制 41H 十六进制 101Q 八进制 字符A可以表示为 A x41 101 2 分类 char和unsignedchar 3 值域 每个字符型数据在内存中占一个字节 包括ASCII字符表中的所有字符 可显示字符和非显示字符 4 字符串 是用一对双引号括起来的字符序列 如 SHANGHAI AbcdeFGHijk Howareyou 注意 第2章C语言的基本数据类型与表达式 a 与 a 的区别 8 一 常量与符号常量 常量是指在程序运行中 其数值不能被改变的量 常量又可分为直接常量和符号常量 第2章C语言的基本数据类型与表达式 2 2常量与变量 9 120 100 0 0120 072 0 xFFFF 0 x1e 0X28AF 0XED4 120L 200L 长整型常量3 14 3 1 5 12E 6 a n 101 099 12f 0 xg 48EA 019 5 1e 08 实型常量只能用十进制形式表示2 1E10 2 E 6 6 4E 4 8 E9 changsha ab p ab 第2章C语言的基本数据类型与表达式 1 直接常量 是在程序中直接引用的数据 请判断这些常量正确与否 10 2 符号常量是用标识符来表示一个数据 在程序不能给它赋值 定义形式 define标识符常量数据例如 definePI3 14159在程序预处理时 凡是出现标识符PI的地方都将用数据3 14159来替换 如 2 2 3 PI就等价于2 2 3 3 14159 第2章C语言的基本数据类型与表达式 二 变量 变量是指以标识符为名字 其值可以改变的量 变量代表计算机内存中的某一存储空间 该存储空间中存放的数据就是变量的值 在同一程序块中 变量不能被重复定义 使用变量时必须 先定义 后使用 11 第2章C语言的基本数据类型与表达式 2 变量初始化在说明变量的同时给变量一个初始值 例如 inta 5 b 3 inta b c 3 inta b c a b c 3 12 main intx y z w 定义x y z w为整型变量 unsignedintk 定义k为无符号整型变量 x 10 y 20 k 30 z x k w y k printf x k d y k d n z w 第2章C语言的基本数据类型与表达式 例2 1 程序运行结果为 x k 40 y k 10 13 3 局部变量 C语言程序是由函数组成的 且有且只能有一个main函数 变量定义可以出现在函数内 亦可出现在函数外或者是函数的参数中 按照变量定义语句出现的位置 可以分为 局部变量 在函数内定义 只在该函数中才能使用 全局变量 在函数外定义 从它被定义的位置起 在之后的所有函数中有效 形式参数 定义为函数的参数 只在该函数中才能使用 第2章C语言的基本数据类型与表达式 14 第2章C语言的基本数据类型与表达式 在函数内部说明的变量或者在复合语句中定义的变量称为局部变量 其作用范围是其所在的函数或复合语句 15 第2章C语言的基本数据类型与表达式 又称全程变量或外部变量 在函数外部说明 其作用范围从它被定义的位置起 在之后的程序段中都是起作用的 4 全局变量 16 第2章C语言的基本数据类型与表达式 如果在全局变量定义之前的函数想引用该外部变量 则应该在该函数中用关键字extern作 外部变量说明 17 inta b voidswap intt t a a b b t printf swap a d b d n a b main printf Entera b scanf d d Entera b 5 3 swap a 3 b 5main a 3 b 5 第2章C语言的基本数据类型与表达式 运行结果 18 inta b voidswap intt t a a b b t printf swap a d b d n a b main printf Entera b scanf d d 第2章C语言的基本数据类型与表达式 运行结果 inta b 程序在编译时 屏幕将提示有错误 Undefinesymbol a Undefinesymbol b 19 inta b voidswap intt t a a b b t printf swap a d b d n a b main printf Entera b scanf d d 第2章C语言的基本数据类型与表达式 运行结果 inta b inta 5 b 3 Entera b 5 3 swap a 3 b 5main a 5 b 3 20 按操作功能运算符大致可分为算术运算符 关系运算符 逻辑运算符 按位运算符以及其它运算符如赋值运算符 条件运算符 逗号运算符等 表达式是由操作数和运算符组成的序列 第2章C语言的基本数据类型与表达式 2 3运算符与表达式 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 逗号运算符 指针运算符 和 求字节数运算符sizeof强制类型转换运算符分量运算符 下标运算符 21 一 算术运算符和算术表达式1 运算符 加 3 4 3 减 3 5 5 乘 3 5 除 5 2的值为2 5 0 2的值为2 5 取余 5 3的值为2 5 3的值为 2 5 3 的值为2 5 3 的值为 2 12 3 3 若a能被b整除 则有 a b 0 第2章C语言的基本数据类型与表达式 22 2 算术表达式 用算术运算符和括符将操作数连接起来的式子 优先级 结合性 从左至右 表达式的值 数值型 int long unsigned double 例如 已知 floata 2 0 intb 6 c 3 求解 a b c 1 5 a fabs 5 第2章C语言的基本数据类型与表达式 23 floata 2 0 intb 6 c 3 a b c 1 5 a fabs 5 12 0 3 5 4 0 1 5 2 5 97 int 99 5 5 104 5 double 第2章C语言的基本数据类型与表达式 24 3 自增与自减运算符 i i 使用之前使i的值增1 或减1 i i 使用之后使i的值增1 或减1 等价于i i 1 j i i 所以i的值为4 j的值为3 i j i 所以i的值为4 j的值为4 例如 1 i i 2 i 3 j i 3 i 3 j i 第2章C语言的基本数据类型与表达式 25 结合性 自右至左 如 i 2 j i 等价于 j i 即 j i i 与 是同优先级所以i的值为3 j的值为 2 第2章C语言的基本数据类型与表达式 注意 或 自增与自减运算符的使用 不建议使用如下表达式 如 设i 3 k i i i k 如 设i 3 j 4 k i j k 26 1 6种关系运算符 2 关系表达式 用关系运算符将表达式连接起来的式子 优先级 结合性 自左至右 表达式的值 若为真 则结果为1 若为假 则结果为0 3 5的值为0 32的值为0 3 4 3 4的值为3 3 4 3 4的值为1 算术运算符优先级高于关系运算符 例如 第2章C语言的基本数据类型与表达式 二 关系运算符和关系表达式 27 1 3种逻辑运算符 逻辑量 可以是整型 实型 字符型和指针类型 0 假非0 真 如 0 0 0 0 NULL都代表假 2 逻辑表达式 用逻辑运算符将表达式连接起来的式子 优先级 结合性 自左至右 表达式的值 若为真 则结果为1 若为假 则结果为0 第2章C语言的基本数据类型与表达式 三 逻辑运算符和逻辑表达式 28 inta 5 floatb 3 5 a 0 a0 0 a0 1 例如 第2章C语言的基本数据类型与表达式 29 高算术运算符关系运算符 和 赋值运算符低 4 0 1 2 8 4 1 0 1 5 3 2 8 4 5 第2章C语言的基本数据类型与表达式 30 注意 在逻辑表达式的求解中 并不是所有的逻辑运算符都被执行 只是在必须执行下一个逻辑运算符才能求出表达式的解时 才执行该运算符 例如 1 a 0 b 1 c a 结果 a为0 b为0 c为0 d为1 第2章C语言的基本数据类型与表达式 31 逻辑表达式一般用于控制语句中的条件 例如 1 n是小于m的偶数 n m n 2 0 2 year是闰年 能被4整除但不能被100整除或能被400整除 year 4 0 year 100 0 year 400 0 第2章C语言的基本数据类型与表达式 32 1 赋值运算符 2 赋值表达式 用赋值运算符将变量和表达式连接起来的式子 形式 求值规则 将 右边表达式的值赋给左边的变量 优先级 算术 关系 和 赋值 结合性 自右至左 表达式的值 被赋值变量的值 例如 1 x y 12 4y值为12 x值为3 表达式的值为3 2 x y 12 4y值为3 x值为3 表达式的值为3 3 x y 12 4 y值为3 x值为3 表达式的值为3 4 x y 12 4 第2章C语言的基本数据类型与表达式 四 赋值运算符和赋值表达式 33 3 复合赋值运算符 注意 复合运算符是一个运算符 但功能上 是两个运算符功能的组合 例如 1 a b相当于a a ba b相当于a a ba b c相当于a a b c 而不是a a b c 2 设a 12 计算表达式a a a 12和a a a 12的值 第2章C语言的基本数据类型与表达式 34 1 条件运算符 和 它们与三个操作数组组成三元运算 形式为 求值规则和表达式的值 真 非0 求解表达式2求解表达式1条件表达式的值假 0 求解表达式3例如 intmax a 5 b 3 max a b a bmax及赋值表达式的值均为5 a b a b 1条件表达式的值为4 第2章C语言的基本数据类型与表达式 四 其它运算符 35 又如 a b a b a a 1 4 3 b b 1 a b a为4b为404 b b 1 表达式值为4b为5 a值为4 b值为5 条件表达式的值为4 优先级 逻辑 条件 赋值 第2章C语言的基本数据类型与表达式 36 结合性 自右至左 y x 10 x 10 x 0 x x 等价于 y x 10 x 10 x 0 x x 当x的值为15时 表达式的结果为 1当x的值为5时 表达式的结果为 52 逗号运算符 形式 逗号表达式1 逗号表达式2 逗号表达式n 求值规则 从左至右依次计算各表达式的值 优先级 最低 结合性 自左至右 表达式的值 最后一个表达式的值 第2章C语言的基本数据类型与表达式 37 例如 aby表达式y a 4 b 5 a b 4549y a 4 b 5 a b 4599y a 4 b 5 a b 4559y a 4 b 5 a b 55510注意 C语言常用逗号作为分隔符 例如 inta 3 b 4 c 5 printf d d d a b c printf d d d a a b c c 结果为3 5 5 第2章C语言的基本数据类型与表达式 38 形式有两种 sizeof变量名sizeof 类型名 结果为整型数 inta floatx printf d d sizeofa sizeofx printf d d sizeof int sizeof float 以上两个printf语句结果均为2 4 例如 第2章C语言的基本数据类型与表达式 3 求字节运算符 sizeof 作用 求得变量或某种数据类型所需的字节数 39 C语言允许整型 实型 字符型数据进行混合运算 有3种转换方式 自动转换 赋值转换和强制转换 一 类型自动转换 doublefloatlongunsignedintchar short 第2章C语言的基本数据类型与表达式 2 4数据类型转换 40 intx 2 floaty 1 6 charc A 则 c x y c x y65 int 2 int 1 6 double 68 2 double 二 赋值转换 在赋值时将赋值符右边值的类型转换成与其左边变量类型一致的类型 有下列几种情况 1 实型整型 字符型 去掉小数部分 例如 charc 68 5 printf c c 第2章C语言的基本数据类型与表达式 41 2 整型 字符型 实型 补足有效位 3 对char int short long unsigned型数据 赋值符右边数据 a位 赋值符左边的变量 b位 若a b原样照赋 a b截断高a b位 送低b位 有符号数据有符号变量 符号扩展 其他情况 高a b位全补0 符号扩展 符号位为0 剩余的高位补0 符号位为1 剩余的高位补1 a b floatf 23 23 00000f 7位 doublef A 23 0000000000000f 15位 第2章C语言的基本数据类型与表达式 42 三 强制类型转换 形式 类型名 表达式 强制类型转换时 得到所需类型的中间变量 原来变量的类型不会改变 例如 inta 2 b 5 floatx 4 4 则有 表达式结果b a2 float b a2 5 float b a 2 0 int x a x4 4 int x a x 第2章C语言的基本数据类型与表达式
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!