标识符与数据类型.ppt

上传人:小飞机 文档编号:6301666 上传时间:2023-10-15 格式:PPT 页数:41 大小:262.50KB
返回 下载 相关 举报
标识符与数据类型.ppt_第1页
第1页 / 共41页
标识符与数据类型.ppt_第2页
第2页 / 共41页
标识符与数据类型.ppt_第3页
第3页 / 共41页
标识符与数据类型.ppt_第4页
第4页 / 共41页
标识符与数据类型.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《标识符与数据类型.ppt》由会员分享,可在线阅读,更多相关《标识符与数据类型.ppt(41页珍藏版)》请在三一办公上搜索。

1、嵌入式Linux系统开发技术第4讲 标识符与数据类型,基本C语言的语法,标识符与关键字变量与常量C语言数据类型,C语言的字符集,C语言的基本符号可以分为4类英文字母:大小写26个,共52个;阿拉伯数字:0-9共10个数字;下划线与分号:特殊符号:运算符、分隔符,标识符,标识符定义用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列;标识符的规则标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线;C 语言中的标识符大小写敏感;用户自定义的标识符不能与关键字同名;,标识符,示例:下面那些标识符是正确的?Arena、1sttest、arena s_count、m

2、arks40、oh!god、class_one、start.end、int,关键字,关键字的概念就是对编译器具有特定含义的标识符,是标识符的一个特殊的集合。C中的关键字C语言中ANSI标准制定的关键字共有32个;所有的关键字小写系统内置的标识符不要用于用户定义的标识符,C语言关键字,C语言数据存储,数据的存储使用变量或常量表示,数据15,内存,通过变量,可以为内存中的位置提供一个有意义的名称,变量,变量程序要为每一项数据分配内存,通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。使用变量时必须“先定义,后使用”,变量的声明与初始化,变量的声明先定

3、义后使用变量初始化的时机定义时初始化变量Datatype variablename=value;例如:int num1,num2=12;定义后初始化变量variablename=value;例如:int num;num=12;,数据类型 变量名称;,int varName;,给变量赋值,除了给一个直接的值以外,还可以通过计算获得。,变量的命名,编译系统将大写字母和小写字母认为是两个不同的字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符。,变量地址,变量的地址:变量在内存中总占用几个连续的字节,开始字节的地址,就是变量的地址。,2007,常量与变

4、量,常量的概念:在程序运行中,其数值不能被改变的量;常量的分类直接常量:在程序中直接引用的数据;符号常量:用标识符来表示一个数据;定义形式:#define 标识符 常量数据,符号常量与const关键字,符号常量#define COUNT 100提高代码的可读性,还可以做到一改全改使用const关键字const int COUNT=100;,示例,要求用户输入圆的半径(radius),经过计算求出圆面积(area)并显示在控制台;要求:使用#define和const两种方式定义常量PI=3.1415926写程序实现游客租用游船的费用,功能如下:要求用户输入押金及使用游船的总时间,游船每小时30元

5、,计算出应找回游客多少余额;,C语言数据类型,数据类型方便让我们对于不同的数据分类处理,数据类型的关键字,K&R关键字Int、Long、Short、Char、Float、double、unsigned、C90关键字Signed、voidC99关键字_Bool、_Complex、_Imaginary,Int类型,Int类型Int age=21;Int age=21,score=90;Int age,score=90;#define MAX_AGE 200Printf(“%d”,score);整数类型的表示形式十进制:没有前缀,09的数字组成;12322、0、-232八进制:以打头,由07的数字组

6、成;023、0101十六进制:以0X或0 x打头,由09、AF或af组成0 x12=18(十进制),数值的显示,使用八进制显示:%o、%#o使用十六进制显示:%x、%#x、%#X,#include int main(void)int age=20;printf(dec=%d;octal=%o;hex=%xn,age,age,age);printf(dec=%d;octal=%#o;hex=%#xn,age,age,age);return 0;,其他整数类型,Short类型:用于仅需小数值的场合以节省空间;Long类型:用于使用大数值的场合Unsigned类型:用于只使用非负值场合;Unsign

7、ed int Unsigned short类型Unsigned long类型Signed:使数据的类型更加明确;Signed int;,整数类型的选择,使用最常用的int类型优先考虑unsigned类型当使用int类型不能表示一个数而使用long类型可以做到时,使用long类型;在int为32位的系统中,如果需要16位的值,那么使用short类型可以节省存储空间;,整型数据32位机,代码示例,#include int main(void)int i_number=10;short s_number=10;long l_number=10L;unsigned ui_number=10u;unsi

8、gned short us_number=10U;unsigned long ul_number=10UL;printf(int sizeof:%dn,(sizeof i_number);printf(short sizeof:%dn,(sizeof s_number);printf(long sizeof:%dn,(sizeof l_number);printf(unsigned int sizeof:%dn,(sizeof ui_number);printf(unsigned short sizeof:%dn,(sizeof us_number);printf(unsigned long

9、sizeof:%dn,(sizeof ul_number);return 0;,整数溢出问题,#include#include int main(void)int max=INT_MAX;int min=INT_MIN;unsigned int umax=UINT_MAX;printf(the max+1 is%dn,max+1);printf(the min-1 is%dn,min-1);printf(the umax+1 is%un,umax+1);return 0;,注意:整数溢出程序不会报错,所以写程序时一定要小心,当达到最大值时会从新从起点开始。,signed和unsigned类型,

10、signed最重要的是修改char数据类型unsigned 类型指定变量只能接受正值unsigned int varNum;varNum=23123;加上unsigned前缀,正数的取值范围是原来的两倍Signed与unsigned修饰符可以与 int 和 float 数据类型一起使用unsigned int 支持的范围是从 0 到 4,294,967,295,常量与后缀,整数类型的显示,%u:显示无符号整数;%ld:显示long类型整数;%h:显示short类型数据符号可以结合使用:%lx、%lo、%hd、%ho、%lu、%lld、%llu写代码示例体验整数类型的显示,体验整数类型的显示,#

11、include#include int main(void)unsigned int guessNumber=UINT_MAX;short age=SHRT_MAX;long id=LONG_MAX;printf(guessNumber is%u and not%dn,guessNumber,guessNumber);printf(age is%hd and is%dn,age,age);printf(id is%ld and not%hd n,id,id);return 0;,注意:每个要显示的值都必须对应自己的格式说明符,并且显示值的类型要同说明符相匹配;,浮点数类型,浮点数类型分类单精度

12、(float型)双精度(double型)长双精度型(long double)浮点数的表示形式小数形式:0.123;指数形式:3e-3规范化的指数形式:在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字.如:123.456可以表示为1.23456e2,注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数,类型类型与范围32,与整型数据的存储方式不同,浮点型数据是按照指数形式存储的。系统把一个浮点型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。浮点数类型的表示1.23fF或f:表示float类型L或l:表示long double类型;,浮点

13、数的输出格式,输出浮点数的格式%f:输出十进制计数法的float和double数字;%e:输出指数计数法的float和double数字;%Lf、%Le:输出long double类型的数字;,代码示例,#include int main(void)float f_number=4321.0f;double d_number=1.234e3;long double ld_number=1.234e-3L;printf(%f can be written%e,and float sizeof:%dn,f_number,f_number,(sizeof f_number);printf(%f can

14、 be written%e,and double sizeof:%dn,d_number,d_number,(sizeof d_number);printf(%Lf can be written%Le,and long double sizeof:%dn,ld_number,ld_number,(sizeof ld_number);return 0;,整型与浮点型比较,整数没有小数部分;浮点数可以有小数部分;浮点数的表示范围比整数大得多;对于一些算术运算,使用浮点数会损失更多精度;浮点数只是实际值的近似值;浮点数通常比整数运算慢;,浮点数的上溢与下溢,#include#include int

15、main(void)float f_max=FLT_MAX*FLT_MAX;float f_min=FLT_MIN/FLT_MAX;printf(f_max is%fn,f_max);printf(f_min is%fn,f_min);return 0;,char 类型,Char类型用单引号括起来的一个字符;注意只能是英文的单引号用于存储字母和标点符号之类的字符;实质是占一个字节的整型数(小整数)A65示例:a、m、$、%、1、5 Char类型的赋值方式Char gender=M;Char gender=77;%c,char 类型(ASCII码),转义字符,转义字符是一种特殊的字符常量。转义字

16、符以反斜线“”开头常用的转义字符a:蜂鸣,响铃 b:回退:向后退一格 f:换页 n:换行,光标到下行行首 r:回车,光标到本行行首 t:水平制表 v:垂直制表:反斜杠:单引号:双引号”?:问号 ddd:1到3位八进制数所代表的字符xhh:1到2位十六进制数所代表的字符 0:空字符(NULL),什么都不做,代码示例,#include int main(void)printf(How are you?n);printf(I am fine.nn);printf(How are you?t);printf(I am fine.nn);printf(How are you?n);.printf(bI

17、am fine.nn);printf(I am fine.);printf(rHow are you?nn);printf(note:n a stibbkrpn);return 0;,思考,如何选择数据类型一般使用int或float类型表示数字,使用char表示字符;选择数据类型时首先考虑变量用来存放什么类型值然后再根据存放值的最大值和最小值,进一步选择适当的类型和类型的修饰符,调试,调试简单代码最便捷方式:printf。利用_FILE_,_LINE_,_FUNCTION_实现代码跟踪调试#include int main(int argc,char*argv)printf(%s,%s,%dn,_FILE_,_FUNCTION_,_LINE_);return 0;,Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号