第三章(一).ppt_第1页
第三章(一).ppt_第2页
第三章(一).ppt_第3页
第三章(一).ppt_第4页
第三章(一).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3 1C的数据类型 C语言提供了以下一些数据类型 3 2常量与变量 变量命名的规定 语言规定标识符只能由字母 数字和下划线三种字符组成 且第一个字符必须为字母或下划线 例 sum total month Student name lotus 1 2 BASIC li lingM D John 123 3D64 a b 3 2常量与变量 注意 编译系统将大写字母和小写字母认为是两个不同的字符 建议变量名的长度最好不要超过8个字符 在选择变量名和其它标识符时 应注意做到 见名知意 即选有含意的英文单词 或其缩写 作标识符 要求对所有用到的变量作强制定义 也就是 先定义 后使用 基本类 整形 实型 字符型 说明 数据类型所占字节数随机器硬件不同而不同 上表以IBMPC机为例 数据类型决定 1 数据占内存字节数2 数据取值范围3 其上可进行的操作 3 3整型数据 整型常量的表示方法 三种形式 十进制整数 由数字0 9和正负号表示 如123 456 0八进制整数 由数字0开头 后跟数字0 7表示 如0123 011十六进制整数 由0 x开头 后跟0 9 a f A F表示 如0 x123 问题 0123 100 x123 10 问题 0123 1 82 2 81 3 80 83 100 x123 1 162 2 161 3 160 291 10 3 3整型数据 内存以字节为单元组成每个字节有一个地址一个字节一般由8个二进制位组成每个二进位的值是0或1 整型变量整型变量在内存中的存储 数值以补码在计算机中表示反码 正数 反码与原码相同负数 符号位为1 其余位对原码取反补码 正数 原码 反码 补码相同负数 最高位为1 其余位为原码取反 再对整个数加1 inti i 10 0 1 0 1 0 0 0 0 inti i 10 取 10的绝对值1010的绝对值的二进制形式为1010 0000000000001010对1010取反得 1111111111110101再加1得 1111111111110110 3 3整型数据 整型变量的分类 共六种 有符号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号长整型 signed int signed short int signed long int unsignedintunsignedshort int unsignedlong int 3 3整型数据 3 3整型数据 例如 整数13在内存中实际存放的情况 3 3整型数据 整型变量的定义 规定在程序中所有用到的变量都必须在程序中定义 即 强制类型定义 例如 inta b 指定变量 为整型 unsignedshortc d 指定变量 为无符号短整型 longe f 指定变量 为长整型 例3 2整型变量的定义与使用 includevoidmain inta b c d 指定 为整型变量 unsigned 指定 为无符号整型变量 12 24 10 printf 说明 可以看到不同种类的整型数据可以进行算术运算 运行结果 例3 3整型数据的溢出 includevoidmain inta b a 32767 b a 1 printf d d n a b 说明 数值是以补码表示的 一个整型变量只能容纳 32768 32767范围内的数 无法表示大于32767或小于 32768的数 遇此情况就发生 溢出 运行结果 32767 32768 3 3整型数据 整型常量的类型根据其值所在范围确定其数据类型例 一个整数 如果其值在 32768 32767范围内 认为它是int型 它可以赋值给int型和longint型变量 整常量后加u或U 认为是unsignedint型在整常量后加字母l或L 认为它是longint型常量 例12与12L 例30000为int型65536为longint型 3 4浮点型数据 浮点型常量 实数或浮点数 表示形式 十进制数形式 必须有小数点 如0 123 123 123 0 0 0 123 指数形式 e或E之前必须有数字 指数必须为整数 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 规范化的指数形式 在字母e 或E 之前的小数部分中 小数点左边应有一位 且只能有一位 非零的数字 例如 123 456可以表示为 123 456e0 1 23456e2 0 123456e3 0 0123456e4 其中的1 23456e3称为 规范化的指数形式 3 4浮点型数据 浮点型变量浮点型数据在内存中的存放形式一个浮点型数据一般在内存中占4个字节 32位 与整型数据的存储方式不同 浮点型数据是按照指数形式存储的 系统把一个浮点型数据分成小数部分和指数部分 分别存放 指数部分采用规范化的指数形式 类型位数数的范围有效数字float3210 37 10386 7位double型6410 307 1030815 16位longdouble12810 4931 10493218 19位 3 4浮点型数据 浮点型变量的分类浮点型变量分为单精度 float型 双精度 double型 和长双精度型 longdouble 三类形式 例3 4浮点型数据的舍入误差 includevoidmain floata b a 123456 789e5 b a 20 printf f n b 说明 一个浮点型变量只能保证的有效数字是7位有效数字 后面的数字是无意义的 并不准确地表示该数 应当避免将一个很大的数和一个很小的数直接相加或相减 否则就会 丢失 小的数 运行结果 12345678868 000000 3 4浮点型数据 浮点型常量的类型默认double型在实型常量后加字母f或F 认为它是float型 C编译系统将浮点型常量作为双精度来处理 例如 f 2 45678 4523 65系统先把2 45678和4523 65作为双精度数 然后进行相乘的运算 得到的乘也是一个双精度数 最后取其前7位赋给浮点型变量f 如是在数的后面加字母f或F 如1 65f 654 87F 这样编译系统就会把它们按单精度 32位 处理 一个浮点型常量可以赋给一个float double型或longdouble型变量 根据变量的类型截取实型常量中相应的有效位数字 例floata a 111111 111 a 111111 1 doubleb b 111111 111 b 111111 111 3 5字符型数据 字符常量用单引号括起来的单个普通字符或转义字符 字符常量的值 该字符的ASCII码值 转义字符 反斜线后面跟一个字符或一个代码值表示 如 A 65 a 97 0 48 n 10 例转义字符举例 ch2 001 c ch2 004 c main printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Turbo C 运行结果 屏幕显示 ABCIsay Howareyou CProgram Turbo C 例main printf Y b n 运行结果 屏幕显示 打印机输出 如 101 A 012 n 376 x61 a 60 0 483 字符型数据在内存中的存储形式及其使用方法一个字符常量存放到一个字符变量中 实际上并不是把该字符的字型放到内存中去 而是将该字符的相应的ASCII代码放到存储单元中 这样使字符型数据和整型数据之间可以通用 注意 一个字符数据既可以以字符形式输出 也可以以整数形式输出 3 5字符型数据 例3 6向字符变量赋以整数 includevoidmain charc1 c2 c1 97 c2 98 printf c c n c1 c2 printf d d n c1 c2 说明 在第 和第4行中 将整数97和98分别赋给c1和c2 它的作用相当于以下两个赋值语句 c1 c2 因为 a 和 b 的ASCII码为97和98 运行结果 9798 例3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论