第14章c语言.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第14章c语言

NIHAO 第14章 变量的存储 主要内容 C语言程序中,操作的数据存放在内存中 不同类型数据在内存中存在的形式不一样 程序中的变量有作用的范围大小和存在的时间长短 定义一个变量,需说明其数据类型,存储类型,变量的作用范围 数据在内存中的存储形式,变量的作用域和变量的存储类型 14.1 变量的存储单元 变量是程序操作的对象 使用变量须事先声明。通过声明,告知编译器分配一定的空间存储变量的值 基本类型数据有:整型、字符型和实型数据 C语言标准没规定整型数据和实型数据所占内存的字节数。数据所占用的字节数由编译系统规定 特定的编译系统中,不同类型数据需要的存储单元大小一般不一样,存储单元中各位的含义也会有所差别 1. 整型变量在内存中的存储 整型变量的基本类型符号是int 根据所表示的数值范围大小,可以将整型变量分为基本整型变量、短整型变量、长整型变量和无符号整型变量四种 基本整型变量,用int表示,简称为int型 短整型变量,用short int表示,简写为short 长整型变量,用long int表示,简写为long 无符号整型变量,只存储无符号整数,关键词是unsigned 如unsigned int、unsigned short和unsigned long分别表示无符号基本整型(此时int可省略),无符号短整型和无符号长整型 在C语言标准中没有规定各类整型数据所占的内存字节数,只要求long型数据长度不短于int型数据,short型数据不长于int型数据 Turbo C 一个int型变量被分配两个字节,即16 bit 最高位存储的是符号,最高位是0时,表示正数;最高位为1时,表示负数 int变量表示的数值范围是-215~215-1,即-32768~32767 unsigned变量,最高位无须存储符号,表示的数值范围是0~216-1,即0~65535 数据在内存中存储时,按照数据的二进制的补码形式存储 1111111111110111 如果该数据是int型,则表示(-9)10 如果存储的数据是无符号基本整型,则表示(65527)10 long型的十进制-9,即-9L,则占4个字节,其二进制的补码形式为 11111111111111111111111111110111 整型数据的表示 数据表示范围:设有符号整型变量占用的内存字节数为n,则其所能表达的数值范围为-28*n-1~28*n-1-1 若无符号整型变量占用的内存字节数为n,则其所能表达的数值范围为0~28*n-1 整型数据的溢出:任何整型变量表示的数据范围都是有限的。当一个变量存储一个超出其存储范围的数据时,编译系统不会报错,但运行结果可能与程序设计人员的意图不一样 【例14.1】 整型数据的溢出 /* 设编译系统为16位指令系统 */ # include stdio.h int main ( ) { int num; num = 32767; printf ( num = %d\n, num ); printf ( num + 1 = %d\n, ++ num ); return 0; } 溢出的原因 32767在内存中的存储形式为 0111111111111111 加1后,内存中存储的数据为 1000000000000000 是-32768的补码形式 2. 字符型变量在内存中的存储 将一个字符数据存放到一个字符变量中,是将该字符对应的ASCII代码存放到存储单元中 ASCII代码是以二进制形式的补码表示 字符型数据的存储形式与整型数据的存储形式类似 字符型数据和一部分整型数据可以相互转换 【例14.2】 整型变量和字符型变量的相互转换 # include stdio.h int main ( ) { char ch1, ch2; int num1, num2; ch1 = g; ch2 = 111; num1 = o; num2 = 100; printf ( %5c%5c%5c%5c\n, ch1, ch2, num1, num2 ); printf ( %5d%5d%5d%5d\n, ch1, ch2, num1, num2 ); return 0; } 字符型数据使用说明 字符型数据只占一个字节,即只能存放0~255范围内的整数 有些系统将字符变量中的最高位作为符号位,将字符处理成带符号的整数,即signed char型 其取值范围为-128~127 ASCII码为0~127间的字符,用“%d”格式输出时输出一个正整数 ASCII码为128~255间的字符,由于在字节最高位为1,用“%d”格式输出时将输出一个负整数 3. 实型数据在内存中的存储 Turbo C编译系统下,一个实型数据在内存中

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档