C语言程序设计讲解.ppt_第1页
C语言程序设计讲解.ppt_第2页
C语言程序设计讲解.ppt_第3页
C语言程序设计讲解.ppt_第4页
C语言程序设计讲解.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

注意 编译系统将大写字母和小写字母认为是两个不同的字符 例如 Class和class是两个不同的变量名 建议变量名的长度最好不要超过8个字符 在选择变量名和其它标识符时 应注意做到 见名知意 即选有含义的英文单词 或其缩写 作标识符 1 整型数据在内存中的存放形式数据在内存中是以二进制补码形式存放的 如 inti 定义为整型变量 i 10 给i赋以整数10 图3 2 2整型变量 十进制数10的二进制形式为1010 TurboC2 0和TurboC 3 0为整型变量分配2个字节的内存存储单元 不同的编译系统为整型数据分配的字节数是不相同的 TurboC2 0和TurboC 3 0为整型变量分配2个字节内存存储单元 VC 6 0则分配4个字节 数值是以补码 complement 表示的 一个正整数的补码和该数的原码 即该数的二进制形式 相同 而一个负数的补码是 将该数的绝对值的原码 按位取反再加1 例如i 10时 说明 如果在程序中定义a和b两个变量 inta unsignedintb 则变量a的数值范围为 32768 215 32767 215 1 而变量b的数值范围为0 65535 216 1 整数类型的有关数据 类型类型说明符长度数的范围基本型int2字节 32768 32767 215 1 短整型short2字节 215 215 1长整型long4字节 231 231 1无符号整型unsigned2字节0 65535 216 1 无符号短整型unsignedshort2字节0 65535无符号长整型unsignedlong4字节0 232 1 3 整型变量的定义 语言规定在程序中所有用到的变量都必须在程序中定义 即 强制类型定义 变量的定义一般放在一个函数的开头的声明部分 例如 inta b 指定变量 为整型 unsignedshortc d 指定变量 为无符号短整型 longe f 指定变量 为长整型 例3 2整型变量的定义与使用 includevoidmain inta b c d 指定 为整型变量 unsignedu 指定 为无符号整型变量 a 12 b 24 u 10 c a u d b u printf a u d b u d n c d 说明 可以看到不同种类的整型数据可以进行算术运算 本例中是int型数据与unsignedint型数据进行加减运算 运行结果 a u 22 b u 14 4 整型变量的溢出 在TurboC和TurboC 中 一个int型变量的最大允许值为32767 如果再加1 会出现什么情况呢 例3整型数据的溢出 includevoidmain inta b a 32767 b a 1 printf d d n a b 说明 数值是以补码表示的 一个整型变量只能容纳 32768 32767范围内的数 无法表示大于32767或小于 32768的数 遇此情况就发生 溢出 运行结果 32767 32768 1 浮点型数据在内存中的存放形式浮点型数据在内存中按照指数形式存储 系统把一个浮点型数据分成小数和指数部分分别存放 一个浮点型数据一般在内存中占4个字节 32位 4个字节 32位 中 多少位来表示小数部分 多少位表示指数部分 由编译系统自定 不少C语言编译系统以24位表示小数部分 以8位表示指数部分 2浮点型变量 小数部分占的位数越多 数的有效数字越多 精度也就越高 指数部分占的位数越多 则能表示的数值范围越大 实数3 14159在内存中的存放形式用图表示为 图3 7 类型位数数的范围有效数字float32 3 4 10 38 3 4 10386 7位double型64 1 7 10 308 1 7 1030815 16位longdouble128 1 2 10 4932 1 2 10493218 19位 2 浮点型变量的分类浮点型变量分为单精度 float型 双精度 double型 和长双精度型 longdouble 三类形式 例4浮点型数据的舍入误差 includevoidmain floata b a 123456 789e5 b a 20 printf f f n a b 说明 一个单精度浮点型变量的有效数字是7位 后面的数字是无意义的 因此应当避免将一个很大的数和一个很小的数直接相加或相减 否则就会 丢失 小的数 与此类似 用程序计算1 0 3 0 3的结果并不等于1 运行结果 12345678848 000000 12345678848 000000 3 浮点型数据的舍入误差 C编译系统将浮点型常量作为双精度来处理 例如 floatf f 2 45678 4523 65 系统把2 45678和4523 65作为双精度数 64位 进行相乘的运算 得到的乘也是一个双精度数 最后取其前7位赋给单精度浮点型变量f 如果在数的后面加字母f或F 如1 65f 654 87F 编译系统就会把它们按单精度 32位 处理 浮点型常量的类型 一个浮点型常量可以赋给一个float型 double型或longdouble型变量 根据变量的类型截取常量中相应的有效位数字 假如指定a为单精度浮点型变量 floata a 111111 111 由于float型变量只能接收7位有效数字 因此最后两位小数不起作用 如果a改为double型 则能全部接收上述9位数字并存储在变量a中 ddd1到3位八进制数所代表的字符注意 八进制数代表的是字符的ASCII码 例如 101 代表大写字母 A 八进制101相当于十进制的65 从附录A可以查到ASCII码为65的字符是大写字母 A 0 或 000 代表ASCII码为0的控制字符 即 空操作字符 它常用在字符串中 xhhhh表示1到2位十六进制数所代表的字符 例5转义字符的使用 includevoidmain printf abc tde rf tg n printf h ti b bjk n 程序运行时输出以下结果 fabcgdehjik显示屏上的运行结果 fgdehjk 说明 实际上 屏幕上完全按程序要求输出了全部的字符 只是因为在输出前面的字符后很快又输出后面的字符 在人们还未看清楚之前 新的已取代了旧的 所以误以为未输出应输出的字符 而在打印机输出时 不像显示屏那样会 抹掉 原字符 能真正反映输出的结果 字符型变量用来存放字符常量 注意只能放单个字符 字符变量的定义形式如下 charc1 c2 c1 c2为字符型变量 各可以放一个字符 定义后就可以用下面语句对c1 c2赋值 c1 a c2 b 在所有编译系统中都规定以一个字节来存放一个字符 或者说一个字符变量在内存中占一个字节 2字符变量 将一个字符常量放到一个字符变量中 实际上并不是存放字符本身 而是将该字符的相应的ASCII代码放到存储单元中 附录A 例如 charc1 c2 c1 a c2 b 因此一个字符数据既可以以整数形式输出 直接输出其ASCII码 也可以以字符形式输出 将ASCII码转换成相应字符然后输出 字符数据在内存中的存储形式及其使用方法 例6向字符变量赋以整数 includevoidmain charc1 c2 c1 97 c2 98 printf c c n c1 c2 printf d d n c1 c2 说明 在第5和第6行中 将整数97和98分别赋给c1和c2 它的作用相当于两个赋值语句 c1 a c2 b 因为 a 和 b 的ASCII码为97和98 程序的第5和第6行是把97和98两个整数直接存放到c1和c2的内存单元中 而c1 a 和c2 b 则是先将字符化成ASCII码 再放到内存单元中 二者的结果是相同的 运行结果 9798 一个字符型数据既可以以字符形式输出 c 也可以以整数形式输出 d 例7大小写字母的转换 includevoidmain charc1 c2 c1 a c2 b c1 c1 32 c2 c2 32 printf c c c1 c2 说明 程序的作用是将两个小写字母a和b转换成大写字母A和B 从ASCII代码表中可以看到每一个小写字母比它相应的大写

温馨提示

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

评论

0/150

提交评论