c语言第3章数据类型、运算符和表达式.ppt

上传人:max****ui 文档编号:6334434 上传时间:2020-02-23 格式:PPT 页数:43 大小:1.06MB
返回 下载 相关 举报
c语言第3章数据类型、运算符和表达式.ppt_第1页
第1页 / 共43页
c语言第3章数据类型、运算符和表达式.ppt_第2页
第2页 / 共43页
c语言第3章数据类型、运算符和表达式.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
1 第三章数据类型 运算符和表达式 教学目标1 掌握C的数据类型 整型 实型 字符型2 掌握常量与变量3 运用变量赋初值 各类数值型数据间的混合运算4 熟识算术运算符和算术表达式 赋值运算和赋值表达式5 掌握逗号运算符和逗号表达式 2 进位计数制 数制由r个不同的记数符号组成 称为r进制 r也称为该进制的基数 各数制在不同的数位所代表的值称为各数位的权 十进制 用D表示 有十个不同的记数符号 0 1 2 9 逢十进一二进制数制 用B表示 只有两个记数符号 0和1 逢二进一 3 八进制 用Q表示 有8个不同的记数符号 0 1 2 3 4 5 6 7 逢8进1十六进制 用H表示 有16个不同的记数符号 0 1 2 3 4 5 6 7 8 9 A B C D E F 逢16进1 不同记数制之间的转换能用计算器完成 4 数制间的相互转换 1 十进制 二 八 十六进制整数部分 除2 8 16取余小数部分 乘2 8 16取整2 二进制 八进制3位1位3 二进制 十六进制4位1位 5 6 数值型数据的编码 机器数在计算机中 约定第一位为符号位 0表示正 1表示负 这种在计算机中连同符号一起数码化的数称为机器数 7 原码 反码和补码转换规则 原码反码补码 101011001010110010101100101011 101011101010111101010011010101 8 非数值型数据的编码 ASCII码 AmericanStandardCodeforInformationInterchange 键盘上的字符采用ASCII码进行编码 ASCII码采用七位二进制位编码 共可表示128个字符 A 01000001 65 a 01100001 97 9 10 常量常量 程序运行过程中其值不变的量类型整型常量 10进制常量 8进制常量 数前加0 16进制常量 数前加0X 若是长整型 则在后面加l或L 后面加u或U则表示无符号类型 实型常量 日常记数法如 1999 35 2001 98科学记数法如 1 99935e3错误如 e2 5 e8 e8 e 11 例1main inta b c a 10 b 010 c 0 x10 printf d d d n a b c 运行结果 10 8 16 d表示以十进制整型输出 12 运行结果 1999 35 1 99935e3 例2main floatf f 1999 35 printf f e n f f 实型也称为浮点型 实型常量也称为实数或浮点数 实数只用十进制形式表示 f表示以小数形式输出 e表示以指数形式输出 13 字符常量 用单引号括起来的一个字符或转义字符 例 A o 1 a n 0 等 n换行 t横向跳格 到下一个输出区 反斜杠 输出单引号 ddd1 3位八进制所代表的字符 xhh1 2位十六进制所代表的字符 转义字符含义 14 例 main printf c c c n A 101 x41 运行结果 A A A 字符数据与整型数据类似 但字符数据只占一个字节 只能存放0 255之间的整数 c表示以单个字符输出 15 字符串常量 用双引号括起来的一串字符序列 例 CHINA BBI Iamateacher 等 而 A 与 A 在C语言中是不同的 前者是字符串常量 后者是字符常量 在内存中 A A 01000001 0 0 是字符串结束标记 称null 即空字符 输入时系统自动加上 输出时不输出 01000001 16 符号常量 definePI3 1415926main floatr s scanf f 符号常量一般用大写 在该作用域内不可赋其他值 若程序里多处出现 该值发生变化 仅需在预处理命令 define中作一次修改 17 变量变量 程序执行过程中其值可以发生变化的量起名规则在C中变量名 函数名 文件名 数组名等均称标识符 identifier 标识符由字母 数字和下划线组成 且第一个必为字母或下划线 系统常用 前8或31个字符有效 视不同版本而定 不能使用关键字作变量名 18 注意 大小写字母有区别如 a1与A1不同不可用关键字如 int for if等不可出现空格如 stu1 a1等见名识意如 sum sort等类型及定义在C中用变量前一定要先定义 编译系统对不同类型变量分配不同数量的内存单元 存放其值 在定义变量的同时可以初始化变量 即为变量赋初值 在初始化时不允许连续赋值 19 变量类型定义字节数范围整型inta b 2 32768 32767短整型shortx y 2 32768 32767无符号整型unsignedinta 20 65535无符号短整型unsignedshortb 20 65535长整型longl 4 2147483648 2147483647无符号长整型unsignedlongd 40 4294967295单精度实型floatf 43 4e 38 3 4e38 7位 双精度实型doubled 81 7e 308 1 7e308 15位 长双精度实型longdoubleld 103 4e 4932 3 4e4932 19位 字符型charc1 c2 10 255带符号字符型signedcharc3 1 128 127 20 不同类型数据混合运算C允许混合运算 系统自动按以下规律转换 即字节数少的类型转换成字节数多的类型 doublefloatlongunsignedintchar short 必转 21 运算符及其表达式算术运算符及其表达式算术运算符 两个操作数均为整型 其结果为整型 有一个操作数为实型 其结果为双精度实型 求余 两个操作数必须为整型 其结果为余数 22 main inta b floatc scanf d d f 要输出 号 则使用 23 算术表达式 用算术运算符将可操作对象连接起来的算式 例 a 100 a 100 a 3 2 0 均是算术表达式 优先级高低结合性均为从左到右强制类型转换运算型格式 类型名 表达式 用于将一个表达式转换成所需类型 24 c b a c b a 1d b a d b a0 a d a d38a b c a b c14a c 20 a a c 20 a 10 d c b a 5 5 d c b a 5 5157 a 3 b 7 a 3 b 出错 分母为0 算术表达式等价表达式表达式的值 a b c d均是整型变量 a 2 b 3 c 7 d 19 试分别写出下列各表达式的值 25 例 main inta 1 charc1 A floatf 100 doubled 200 0 longl 40000 printf f n a c1 f d printf ld n a l printf f n a c1 printf f n c1 d 26 运行结果 A B CB C D65 66 67 字符型与整型可以作算术运算 main charc1 c2 c3 c1 A c2 B c3 C printf c c c n c1 c2 c3 printf c c c n c1 1 c2 1 c3 1 printf d d d n c1 c2 c3 27 运行结果 a b cb c d 整型值可按c格式输出一个字符 main inta1 a2 a3 a1 97 a2 98 a3 99 printf c c c n a1 a2 a3 printf c c c n a1 1 a2 1 a3 1 a1 a2 a3分别为 a b c 的ASCII码 28 a 100 x 2 ii 运算符表达式举例 等 赋值 复合赋值 自增 自减运算符及其表达式 自增自减 赋值和复合赋值 其结合性均是从右到左 29 intifloat舍去小数部分doublefloatf补足到有效位数7位doubled补足到有效位数15位intichar将表达式值的高8位全补0signedchar若表达式值的最高位为0 则高8位全补0 否则全补1longl若表达式值是正数 高16位全补0 否则全补1intilongint截取表达式值的低16位longintlunsignedint将表达式值的高16位全补0unsignedintisignedint将表达式值直接赋给i 变量类型表达式值类型说明 当表达式值的类型与变量类型不同时 系统将按以下规律处理 int int 30 main inta b c d e a b c d 30 e 32 printf a 3 d n a 3 printf b 3 d n b 3 printf c 3 d n c 3 printf d 3 d n d 3 printf e 3 d n e 3 运行结果 a 3 33b 3 27c 3 90d 3 10e 3 2 31 main intx 2 x x x x printf x d n x 运行结果 x 4 赋值和复合赋值的结合性是自右至左 32 main intx 100 printf d d d d n x x x x printf d n x 运行结果 99 99 99 100100 33 main inta b c a b c 0 a b c a b c a b c a b c printf d d d n a b c b c均先增1 后相加b c先相加 后均增1b先增1和c相加 后c再增1c先减1和b相加 后b减1 运行结果 5 2 2 34 逗号运算符及其表达式逗号运算符优先级最低 结合性是自左至右逗号表达式格式 计算逗号表达式值是按自左至右的顺序 先计算的值 再计算的值 而逗号表达式值是最后一个的值 35 main inta b c a 1 b 2 c 3 printf d d d n a b c printf d d d n a b c b c a c 0 c 5 b c 3 c 8 printf d d d n a b c 该处a b c不是逗号表达式 是printf函数的参数 而 a b c 是逗号表达式 运行结果 1 2 33 2 35 11 3 36 main inta b c d a c 100 d 200 c d b c d 0 c 50 printf d d d d n a b c d 运行结果 300 50 0 0 37 函数函数 完成某个固定功能的程序段函数的分类标准函数 库函数 标准函数是由系统提供的 在C中提供300多个库函数 按函数功能不同进行分类 分别被包含在不同的头文件里 如 数学函数的头文件是math h 字符串操作函数的头文件是string h 输入输出函数的头文件是stdio h等用户定义函数 38 函数格式及调用以求平方根函数为例 掌握函数格式及如何调用 调用某种函数 则该函数一定要用以下编译预处理命令 放在程序前面 include或 include math h 格式 doublesqrt x doublex 自变量 形参 可以是表达式 函数名 该函数返回值的类型 形参的类型 39 函数名函数类型和形参类型功能 cosexpfabsfloortan doublecos x doublex doubleexp x doublex doublefabs x doublex doublefloor x doublex doubletan x doublex 计算cos x 的值求ex的值求x的绝对值求不大于x的最大整数计算tan x 的值 数学函数 40 函数名函数类型和形参类型功能 fmodloglog10powsinsqrt doublefmod x y doublex y doublelog x doublex doublelog10 x doublex doublepow x y doublex y doublesin x doublex doublesqrt x doublex 求整除x y的余数求lnx求logx计算xy的值计算sinx的值计算x的平方根的值 41 includemain doublea b c d e f x y x1 x 3 y 1 5 x1 3 a exp x b log10 x c fabs x1 d sqrt x e pow x y printf f f f f f n a b c d e printf exp x f tlog10 x f n a b printf fabs x f tsqrt x f tpow x y f n c d e 42 求 cos150 2cos50cos150 2cos50 include definePI3 14159main doublea1 a2 d1 d2 x d1 15 d2 5 a1 cos d1 180 PI a2 cos d2 180 PI x a1 2 a2 a1 2 a2 printf x f n x 43 思考 i 5 a i 与i 5 a i 有什么不同 a i各等于什么
展开阅读全文
相关资源
相关搜索

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


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

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


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