欢迎来到天天文库
浏览记录
ID:44415626
大小:520.96 KB
页数:33页
时间:2019-10-21
《[工学]第8章C51程序设计语言及程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第8章C51程序设计语言及程序设计8.1C51数据类型与运算8.1.1C51数据类型1.数据类型数据是程序处理的对象,是程序设计中必不可少的组成部分。数据类型一方面规定了数据在内存的存储长度和数据的表示方式,另一方面还规定了数据的表示范围及允许的操作。一个程序中,每个变量都要有确定的一种数据类型,而且不能改变,即不能先后被规定为两种或两种以上不同的数据类型。由于单片机C51继承了C语言的特点,因此C51支持C语言的所有数据类型,包括:基本数据类型、构造数据类型、指针类型及空类型。基木数据类型可分为数值型和字符型,而数值型又分
2、为整型和实型(浮点型),其中的整型分为普通整型、短整型和长整型,实型可分为单精度实型和双精度实型。同时,数值型、字符型又有有符号和无符号之分。构造数据类型包含数组、结构体、共用体、枚举型等。此外,C51还扩充了一种C语言没有的新的数据类型——位型(bit),位型数据用于表示一个二进制位的数据,其取值只有0和1。C51的数据类型如8-1图所示:图8-1数据类型C51不同的数据类型的长度和范围会因处理器的类型和C语言编译程序的不同而有所不同,表给出了KEILC51产生的目标文件的常用数据长度和表示范围。表&1常用数据类型的长度和
3、表示范围类型符号关键字长度(单位bit)数的表示范围位型bitflIsbit10和1字符型有char80-255无unsignedchar8-128〜+127即・2?~(27-1)整型(signed)int16■32768〜+32767即・2止~(2,5-1)(signed)short16-32768~+32767即・2山~(2,5-1)(signed)long32■2147483648〜2147483647即・2"~(23
4、-1)无unsignedint160-65535即0~(216-1)unsignedshortint
5、160〜65535即0〜(216-1)unsignedlongint320~4294967295即0~(2込1)实型有float(单精度)32■3.4x10-3*3.4x10^有douhlc(双精度)64-UxlO^UxlO3081.常量与变量数据按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们又是与具体的数据类型结合在一起的,如:整型常量、浮点变量、字符常量等。在程序中,常量是可以不经说明而直接引用的,而变呈则必须先定义后使用。常量分为直接常量(字面常量)和符
6、号常量。直接常量(字面常量)又与具体的数据类型结合,有:整型常量、实型常量和字符常量。在C语言中,祭型常量有十进制、八进制和十六进制三种。十进制整型常数没有前缀,其数码为0〜9。八进制整型常数必须以0开头,即以0作为八进制数的前•缀,数码取值为0〜7,八进制数通常是无符号数。十六进制整型常数的前缀为0X或Ox,其数码取值为0~9,A〜F或a~f。而实数只采用十进制,它有二种形式:十进制小数形式和指数形式。而指数形式山十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:aEn(a为十进制数,
7、n为十进制整数)其值为a*10no字符常量是用单引号插起来的一个字符。字符常量只能是单个字符,字符可以是字符集中任意字符。女n:'a'、'K'。另外,C语言还支持字符串常量,即曲一对双引号括起的字符序列。例如:“helloC!”,"123456"等都是合法的字符串常量。字符串常量和字符常量是不同的呈。它们之间主要有以下区别:1)字符常量由单引号括起来,字符串常量由双引号括起来。2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符。3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言
8、中没有相应的字符串变量,但可以用一个字符型数组来存放一个字符串常量。4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节用来存放字符串结束符n H(ASCII码为0)。符号常量是用标示符來代表的一个常量。定义符号常量的一般形式为:#define标识符常量如:#definePRICE6.5【例1]符号常量的使用。#definePI3.14main(){intr,s;r=10;s=PI*r*r;printf(44s=%d,,,s);while(l);}变量是存储在内存中的一定的存储单
9、元,其存储的数据在程序运行过程中可以改变,每个变量有一个名字,称为标识符(用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列),C规定,标识符只能是字母(A〜乙d〜朮、数字(0〜9)、下划线(_)等组成的字符串,并且其第一个字符必须是字母或下划线。如:ab,x_l,k
此文档下载收益归作者所有