- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(郑玲)总复习
总 复 习
C的基本数据类型
基本数据类型
要求掌握:变量的数据类型、变量的存储类别、变量的名字、变量的定义形式、变量的地址、变量的值
数据类型的作用:决定给变量分配内存的大小、并且规定一组允许的操作。如:int x; x的空间大小为4个字节,x可以做加、减、乘、除运算,不能做求余数的运算。
整型
有符号的整型:int(4) short(2) long(4)
无符号的整型:unsigned int unsigned short unsigned long
整型常量的表示形式:十进制(如:82)、八进制(如:017)、十六进制(如:0xab7)、长整型常量(如:12l、12L)
整型变量的定义形式:如int a; unsigned long b;
整型变量存放整数的范围:如:short int x; x的范围是-32768-32767,unsigned short int x; x的范围是0-65535
整数存放的是精确值。
实型
实型分为:单精度实型(4)、双精度实型(8)
实型常量的表示形式:小数形式(如:1.23或1.23f)、指数形式(由三部分组成。如:1.23e-8、0.123E10),实型常量缺省为双精度常量。
实型变量的定义形式:如:float x; double y;
实型常量存放在实型变量中不是精确值,是一个近似值。
单精度实数的有效位数为7位,双精度实数的有效位数为15位。
字符型
字符常量:如:’a’,’?’,’*’ 占1个字节
字符串常量:如:”a”,”中国” ,在内存中占字符个数+1个字节。最后一个字节存放的是字符串结束标记’\0’。
字符变量的定义形式:char x;
字符变量只能存放一个字符。实际存储的是字符的ASCII码的二进制。
字符串常量不能存放在字符变量中,只能存放在字符数组中。
如:char c=’a’; (对) char c=”a”;(错)
字符数据与整型数据在0-127的范围内是通用的。即
char c=’a’;与char c=97;是等价的。
34+’a’与34+97是等价的。
变量的存储类别
变量存储类别的作用:决定变量的存储空间是在动态区,还是静态区。动态区变量的生命周期与函数有关;静态区变量的生命周期与整个程序有关。
如:int x=3;//x是全局变量,直到程序结束。
sub(int y)
{int w;…}
w和y是局部变量,调用sub函数时,w和y存在;调用结束,w和y不存在。
自动存储类别(auto)
在一个函数的函数体中用auto说明的或省略的均作为自动存储类别处理。
自动存储类别的变量在动态区分配内存。
静态存储类别(static)
在一个函数的函数体中用static说明的。
静态存储类别的局部变量在静态区分配内存。
外部变量(全局变量)在静态区分配内存
内部变量和外部变量
内部变量:在一个函数内部定义的变量,包括形参和在函数体中说明的变量。
外部变量:在函数之外定义的变量。
内部变量在动态区分配内存,外部变量在静态区分配内存。这句话是否有错?
变量的生命周期
全局变量的生命周期是从定义起,至程序结束。
形参的生命周期是从调用函数起,至函数调用结束。
函数体内变量的生命周期从包含它的最内层的左花括号起,至右花括号止。
如;int x=3;
func(float t)
{int y;
…
{int z=5;…}
…
}
void main()
{…}
变量的地址
每个变量在内存中占有一定大小的存储空间,其中存储空间的第1个字节的编码称为变量的地址,用“变量名”表示。
如:int x; x是x的地址。
如:float y; 假设y的存储空间为:
401 402 403 404 其中的401称为变量y的地址,表示为y。
变量的值
变量中存放的值是可以改变的。每个时刻只能存放一个值。静态存储的变量,如果没有赋值,系统自动赋0值;动态存储的变量,如果没有赋值,变量中存放的是随机值(不确定)。
变量的初始化:在定义变量的同时给变量赋值。静态变量的初始化在编译阶段进行,动态变量的初始化在运行阶段进行。
如:fun(int x)
{int a=3; static int b=5;….}
a在动态区分配内存,每次调用函数fun(),a=3总要执行;b在静态区分配内存,b=5只有第1次调用fun()执行1次,以后直接使用上一次调用得到的b。
运算符和表达式
C的任何一种表达式的值都是数值,其中关系表达式和逻辑表达式的值只有两个,1或者0。
如果表达式的值用于条件判断,表达式的值为非0,表示“真”,否则表示“假”。
在计算逻辑表达式时,一旦能确定逻辑表达式的值,其余部分不再计算。
如: void main()
{int x,
文档评论(0)