第3章基本数据类型与数据运算.ppt
《第3章基本数据类型与数据运算.ppt》由会员分享,可在线阅读,更多相关《第3章基本数据类型与数据运算.ppt(61页珍藏版)》请在三一办公上搜索。
1、程序设计基础,基于C语言,管科系:周长红,第3章 基本数据类型与数据运算,第3章 基本数据类型与数据运算,3.1 基本标识符,#define PI 3.14159#include/编译预处理文件包含#include void main()float r,s;r=1.0;s=PI*pow(r,2);/计算圆面积s printf(半径R=%f时,面积S=%fn,r,s);,常量名。,预处理命令名。,数据类型名。,变量名。,函数名。,标识符,在一个C程序中,每个标识符必须是唯一的,即不能出现同一标识符代表两个实体的情况。,3.1 基本标识符,3.1 基本标识符,3.1 基本标识符,由程序员在程序中定
2、义的合法标识符。,3.1 基本标识符,判断下面的标识符是否是合法的自定义标识符。,Intinta-ba_bx1 x2my.age9City-abc 变量1god(x)StuAge,自定义标识符要尽量做到“见名知意”。应采用英文单词。而且避免使用易混淆字符。如0与O。通常符号常量名全部采用大写字母,如PI;而其它变量名、函数名等通常采用小写。,构造类型,基本类型,3.2 数据类型,为什么要有数据类型?,123,12365537,3.1415925,1.414,78,a,n,“Good Morning”,9,23.410-3,1,2,3,4,5,整数,Monday,Tuesday,Thursday
3、,“Tom”,21,”Software 2008-2”,”Shandong Qingdao”,实数,字符,1.符合我们认识事物的习惯。,3.2 数据类型,为什么要有数据类型?,2.规定每个数据占用内存大小。,每个内存单元只有1B。存储一个字符,使用ASCII码,需要_个字节。存储整数123,需要_个字节。存储整数32768,如果是无符号数,需要_个字节,如果是有符号数,需要_个字节。存储IEEE 32位格式的实数,需要_个字节,而64位格式的实数,需要_个字节。,1,1,2,3,4,8,问题:变量如何确定占用多少个字节?,3.2 数据类型,为什么要有数据类型?,3.规定数据可以参与的运算。,一
4、个整数和实数可以进行算术运算、比较运算;一个字符可以进行比较运算;一个字符串可以进行比较运算,但是不能进行算术运算;一个不知道什么类型的变量是无法得知可以参与什么运算的。,3.2 数据类型,C语言的数据类型,短整型、基本整型、长整型,单精度数、双精度数,3.2 数据类型,表3.1 ANSI C标准中的数据类型,类型,符号,关键字,数的表示范围,所占位数,整型,字符型,实型,有,无,有,有,说明:数据类型所占字节数随机器硬件不同而不同。,/*可以用sizeof()来求一个变量或者数据类型占用的字节数*/#include void main()printf(size of short is%d.n
5、,sizeof(short);printf(size of int is%d.n,sizeof(int);printf(size of long is%d.n,sizeof(long);printf(size of char is%d.n,sizeof(char);printf(size of float is%d.n,sizeof(float);printf(size of double is%d.n,sizeof(double);,运行结果:size of short is 2.size of int is 4.size of long is 4.size of char is 1.siz
6、e of float is 4.size of double is 8.,3.3 常量与变量,/*给定半径,求圆的面积*/#define PI 3.14159#include/编译预处理文件包含#include void main()float r,s;r=1.0;s=PI*pow(r,2);/计算圆面积s printf(半径R=%f时,面积S=%fn,r,s);,常量,常量是指那些在程序执行过程中其值保持不变的量。,常量,常量通常用于定义具有如下特点的数据:1.在程序中保持不变的量:如圆周率、自然对数之底等;2.在程序内部频繁使用的量。3.需要用比较简单的方式替代的某些值。,3.3 常量与变
7、量,常量,3.3 常量与变量,常量,分类符号常量:用标识符代表常量,定义格式:#define 符号常量 常量举例:#define TRUE 1#define FALSE 0#define STAR*#define MY_NAME“Zhou”注意:符号常量的标识符也必须是合法的,而且一般采用全部大写字母表示。,/*给定半径,求圆的面积*/#define PI 3.14159#include#include void main()float r,s;r=1.0;s=PI*pow(r,2);/计算圆面积s printf(半径R=%f时,面积S=%fn,r,s);,3.3 常量与变量,常量,分类符号常
8、量:用标识符代表常量直接常量:直接使用数值表示的常量。,整型常量实型常量字符常量字符串常量,3.3 常量与变量,常量,整型常量(整常数)三种形式:十进制整数:由数字09和正负号表示。如 123,-456,0八进制整数:由数字0开头,后跟数字07表示。如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示。如0 x123,0Xff,整型常量的类型根据其值所在范围确定其数据类型。默认是有符号数。在整常量后加字母l或L,认为它是long int 型常量在整常数后加字母u或U,则理解为无符号数。,问题:0123=()100 x123=()100Xff=()10,例 30000 为int
9、型 32768 为long int型 65536 为long int 型,83,291,255,例 12 与 12L,-1 与-1U,#define PRICE 30#include void main()int num,total;int i,j;num=10;total=num*PRICE;printf(total=%d,%x,%on,total,total,total);i=-1;j=-1L;printf(%d,%un,i,j);printf(%d,%d,i,j);,运行结果:total=300,12c,454-1,4294967295-1,-1,3.3 常量与变量,常量,实型常量(实数
10、或浮点数)表示形式:十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5,实型常量的类型默认double型在实型常量后加字母f或F,认为它是float 型,3.3 常量与变量,常量,转义字符:反斜线后跟一个字符或ASCII码值表示。字符常量定义:用单引号括起来的单个普通字符或转义字符。字符常量的值:ASCII码值。可见:一个字符相当于一个有符号整数,因此在程序中,字符常量可以参与算术运算,其值为所表示字符的ASCII码值。,如 a A?n 101,A
11、101 x41 65,#include void main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo Cn);printf(“%c,%cn”,A,A+32);,运行结果:A B CI say:”How are you?”C ProgramTurbo CA,a,3.3 常量与变量,常量,字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个 0 作为字符串结束标志。字符常量与字符串常量不同。,例:char ch;ch=“A”;,#include void m
12、ain()char c1=a,c2;C2=98;printf(“%d,%dn”,c1,c2);,结果:97,98,#include void main()char c1=“a”,c2;c2=98;printf(“%d,%dn”,c1,c2);,结果:56,98若让c1分别等于“U”、“ABC”、“A”结果不变,3.3 常量与变量,常量,分类符号常量:用标识符代表常量直接常量:直接使用数值表示的常量。,整型常量实型常量字符常量字符串常量枚举常量(见10.4),3.3 常量与变量,/*给定半径,求圆的面积*/#define PI 3.14159#include/编译预处理文件包含#include
13、void main()float r,s;scanf(“%f”,变量,变量是指那些在程序执行过程中其值可以改变的量。,变量,3.3 常量与变量,变量,变量名与变量值,#define PI 3.14159#include#include void main()float r,s;scanf(“%f”,r,s,1.0半径R=1.000000时,面积S=3.141590,1.0,3.14159,变量名:实质上代表的是变量在内存中的地址,即相当于给这个地址起了个名字。变量值:存放在内存中的值。,3.3 常量与变量,变量,变量定义变量定义的一般格式:数据类型 变量1,变量2,变量n;,已有的合法类型,合
14、法标识符,例:int a,b,c;float data;,变量初始化:定义时赋初值。,变量定义的位置:一般放在函数开头。,变量的使用:先定义,后使用。,例1 int student;stadent=19;/Undefined symbol statent in function main,例2 float a,b,c;c=a%b;/Illegal use of floating point in function main,例:int a=2,b,c=4;float data=3.67;char ch=A;int x=1,y=1,z=1;int x=y=z=1;错误,在编译后/运行时,对变量操
15、作前,它(们)的初始数值是随机的;因此程序员一定要在访问前对变量进行初始化。,说明:在C语言中,变量必须强制定义,其目的:1、凡未被事先定义的,不作为变量名。2、每一个变量被指定为一确定的类型,在编译时就能为其分配相应的存储单元。3、指定每一个变量为一确定的类型,在编译时据此检查该变量所进行的运算是否合法。例如:如果变量 a,b 是整型类型,则可以进行求余运算:a%b 而两个实数类型的变量求余是不允许的。,3.3 常量与变量,变量,整型变量占字节数随机器不同而不同,一般占一个机器字shortintlong可用sizeof(类型标识符)测量,实型变量float:占4字节,提供7位有效数字doub
16、le:占8字节,提供1516位有效数字,字符型变量字符变量存放字符ASCII码,在内存中占一个字节char与int数据间可进行算术运算,例 float a;a=111111.111;/*a=111111.1*/double b;b=111111.111;/*b=111111.111*/,例 a=D;/*a=68;*/x=A+5;/*x=65+5;*/s=!+G/*s=33+71;*/,特别注意:没有字符串变量,用字符数组存放,C,3.3 常量与变量,变量,整型数据在内存中的存放形式int i;/*定义i为整型变量*/i=10;/*给i赋以整数10*/i:i:数值10的补码表示:-10的原码:取
17、反:加得10的补码:,10,整型变量,ANSI C标准中基本整型变量在内存中占2个字节,补码,3.3 常量与变量,变量,整型变量的分类,1、基本型,以int表示。2、短整型,以 short int 表示,或以 short表示。3、长整型,以 long int 表示,或以 long 表示。4、无符号型;其中无符号型又分为无符号整型,无符号短整型和无符号长整型,分别以unsigned int,unsigned short 和 unsigned long表示 如果不指定unsigned或指定signed,则存储单元中最高位代表符号(0为正,1为负)。如果指定unsigned,存储单元全部二进制位用作
18、存放数本身,而不包括符号。无符号变量只能存放不带符号整数C语言标准没有具体规定以上各类数据所占内存字节数,各种机器处理上有所不同,一般以一个机器字存放一个int型数据,而long型数据的字节数应不小于int 型,short型不大于int 型,具体可以用sizeof来求知。,3.3 常量与变量,变量,C,说明:无符号型变量只能存放不带符号的整数,如123,4678等,而不能存放负数,如-123,-3。一个无符号整型变量中可以存放的正数的范围比一般整型变量中正数的范围扩大一倍。,3.3 常量与变量,变量,例:#include void main()int a,b;/若sizeof(int)=2 a
19、=32767;b=a+1;printf(%d,%d,a,b);,整型数据的溢出,运行结果:32767,32768,?循环记数,3.3 常量与变量,变量,实型变量,3.3 常量与变量,变量,实型变量的定义 float x,y;double z;long double temp;实型数据的舍入误差 有效位以外的数字将被舍去,3.3 常量与变量,变量,说明:C编译系统将实型常量作为双精度(占64位)来处理,若在数的后面加字母f或F,这样编译系统就会按单精度(32位)处理。一个实型常量可以赋给一个float型、double型或long double型变量。根据变量的类型截取实型常量中相应的有效位数字。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 数据 运算

链接地址:https://www.31ppt.com/p-5635072.html