资源描述:
《数据类型及运算符》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章数据类型及表达式广州大学华软学院软件工程系张明辉zmh@sise.com.cn1本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。22.1C/C++语言的数据类型数据类型基本类型整型实型字符型带符号整型(简称整型)带符号短整型(简称短整型)带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针型枚举型数组型结构型共用型32.1C语言的数据类型使用高级语言编写程序,主要工作有两项:一、是描述数据,二、是描述数据加工的方法。42.2常量常量是程序运行过程中其值
2、不变的数据。【例2.1】求一个圆柱体体积,用符号常量代替π。#include#definePI3.14159//定义PI为符号常量voidmain(){floatr,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h;//PI相当于3.14159,参与运算printf("Volume=%f",v);}运行时输入:3,2↙Volume=56.54861852.2.5字符串常量"tabrcd’ef\g""Iamastudent"、"x"、""注意:’ ’和’0’不同,’ ’是编码为0的字符,而’0’则是数字0,其编码为48。再有’x’和“x
3、”也是不同的,前者是字符常量,它是单独一个字符x,其长度为1。xX 62.3变量变量是指在程序运行过程中其值可以发生变化的量。2.3.1变量的数据类型及其定义1.变量的数据类型p49表2.2整型数据所占内存长度和数据表2.3实型数据所占内存长度、数据范围及有效数字7说明:1)任何类型的数据在计算机内部都是以二进制的形式来存放的。C语言存储基本整型和短整型数据占用2个字节,范围是-32768~32767。C++语言中存储基本整型占用4个字节,范围和C语言中长整型一样:-2147483648~2147483647。2)长整型:0L,-11L,0x15L。其中,0L为八进制、-11L为十
4、进制、0X15L为十六进制整数。3)无符号整型数没有符号位,只能表示正数。范围是0~65535。4)单精度实型数据用4个字节存储,范围是10-38~1038。5)双精度实型数据用8个字节存储,10-308~10308。6)字符型数据用一个字节存储。基本ASCII:0~12782.变量的数据类型定义数据类型符变量列表;inta,b,c;charch,str;doublef1,f2;unsignedintu1,u2;(int可以省略)longintg1,g2;(int可以省略)9变量定义可以出现在程序的3个地方,同时,变量定义的位置决定变量作用范围,又称为“作用域”。①在函数的内部定义的变量称
5、为局部变量。它从定义处开始直到此函数结束起作用。②在函数的参数中定义的变量称为局部变量。它的作用域是从定义处开始直到此函数结束。③在所有函数的外部定义的变量称为全局变量。它的作用域是从开始处直到程序结束。见p53例2.5102.3.2变量的存储类型及其定义变量的存储类型CPU寄存器:CPU寄存器中存储数据的是动态存储类型,不能长期占用,存取速度最快。内存:内存中又分为两个区域,即为静态存储区(静态变量)和动态存储区(动态变量)。程序运行一直占用内存,直到程序结束。P51表2.4112.变量存储类型的定义格式:存储类型数据类型变量列表;自动变量【例2.2】定义自动整型和字符型变量。#inc
6、ludevoidmain(){autocharc1,c2;//可省略auto类型修饰符,默认为自动型autointi1,i2;scanf("%d,%d",&i1,&i2);c1=i1;//将整型数据赋给字符型变量,相当于直接赋给ASCII码值c2=i2;printf("%c,%c",c1,c2);printf("%d,%d",c1,c2);}12(2)寄存器变量【例2.3】函数内部定义寄存器变量。#includevoidmain(){registerb;//定义变量b为寄存器型变量b=3;printf("b=%d",b);}13(3)静态变量静态变
7、量在定义时为其分配固定的内存单元并根据所定义的数据类型存入默认值,在程序运行中一直占用内存单元不释放,直到程序运行结束后。静态局部变量用static定义的变量为静态变量,称为静态局部变量,该变量在其函数中或复合语句中有效。14【例2.4】函数f()中有静态局部变量和自动变量,要理解在多次调用函数f过程中,两种变量值的变化。intf(){staticinta=1;//变量a是局部变量,其数据一直保持不变。au