华南农业大学plc课件第2章

上传人:wuxin****2020 文档编号:245111478 上传时间:2024-10-07 格式:PPT 页数:49 大小:215KB
返回 下载 相关 举报
华南农业大学plc课件第2章_第1页
第1页 / 共49页
华南农业大学plc课件第2章_第2页
第2页 / 共49页
华南农业大学plc课件第2章_第3页
第3页 / 共49页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第2章 数据类型、运算符与表达式,2.1 C语言的基本符号,2.2 C 语言的数据类型,2.3 运算符和表达式,2.4 数据类型转换,2.5 自增,自减运算,2.6 位运算,2.1 C语言的基本符号,C语言的基本词汇表有下列几部分:,数字:10个(09)。,英文字母:大、小写各26个(AZ,az)。,下划线字符“_”(用来构成标识符)。,运算符:是指为表达程序基本操作使用的一些符号;,关键字:是指为表达程序功能使用的一些英文单词或单词缩写。,2.1.1 标识符,定义:,程序中用来为符号常量、变量、函数、数组、类型、文件命名的有效字符序列称为标识符。,命名规则:,1只能由字母、数字和下划线组成。,2第一个字符必须为字母或下划线。,3不能使用关键字。,4区分大小写字符。,5ANSI C 没有规定标识符的长度,各个编译系统允许的标识符的长度(字符个数长度)不同。,2.1.2 常量,定义:,常量又称为常数,是在程序运行过程中其值不能被改变的量,常量的类型是由本身隐含决定的。,举例:,25、0、-13为整型常量;,-55.23、0.57、3.8e3为实型常量;,B,9为字符型常量。,符号常量:,在C语言中,经常使用一个标识符来代表一个常量。也就是给常量命名,称为符号常量,,例2-1阅读程序。,#define PI 3.1415926 /*宏定义*/,main(),float r=18.5,area,length;,area=PI*r*r;,length=2*PI*r;,printf(area=%6.2f,length=%6.2f,area,length);,符号常量几点说明:,程序中用宏定义的方法,定义标识符PI代表常量。,通常在程序中,符号常量名一般用大写字符。,符号常量不同于变量,其值在有效范围内不能改变,也不能再被赋值。,在程序中使用符号常量,可以作到“含义清楚”;“一改全改”,从而提高程序的可读性,方便程序的修改。,2.1.3 变量,1变量的基本概念,定义:,在程序运行过程中其值可以改变的量称为变量,变量具有数据类型,变量名和变量值三个属性,变量在其存在期间,在内存中按照指定的类型占据不同长度的存储单元,可以用来多次存放不同的数值。,变量名:选择一个标识符,给变量取一个名字称为变量名,变量名的命名规则与标识符完全相同。,变量值:是对应变量名的存储单元所存放的具体的数值。,变量的数据类型:是指变量可以存储的数据的类型,也就是变量值的数据类型;,2变量的定义,变量的定义:,在程序中指定变量的名字和数据类型。在编译时根据变量的数据类型不同,系统分配相应大小的存储单元。,变量的定义一般是在一个函数开头的声明部分。也可在函数中的某一复合语句内,但变量起作用的范围只限它所在的复合语句。,变量定义的一般形式:,类型说明符 变量名1,变量名2,变量名3,.,变量名n;,举例:,int k,m,n;/*定义三个整型变量 */,char str;/*定义一个字符型变量 */,3变量的初始化,在C语言中,定义变量的同时,还可以为变量指定初值,称为变量的初始化。例如程序段:,float y=0.5;,char str=a;,int j=0,sum=100;/*该定义变量方式与下面的语句等价:*/,int j,sum;,j=0;sum=100;,也可以对被定义变量的一部分赋初值。,int i=0,j=0,k,sum;,不可以用下面的写法对几个变量同时赋同一个初值。,int i=j=k=0;,几点说明:,程序运行时从变量中取值,实际上是通过变量名找到相应的内存地址,从其相应的存储单元中读取数据。,在程序中变量名在其有效范围内不能更改,但变量值却可以动态更换。,变量定义后并没有确定的值,或者说值是随机的。但可以采用某些方法给变量赋值,当再次给变量赋值时,新值将替代旧值。,程序在使用变量前,先要对变量做定义,必须“先定义,后使用。”,58,a1,2001,a1:变量名,58:变量值,2001 :存储单元地址,Int a1=50;,a1=58;,a1=a1+2;,2002,2.1.4 关键字,定义:,C语言为了清晰的表达程序的功能,使用了一些英文单词或单词缩写,这些单词称为关键字。,举例:if int while。详细的内容参见附录二。,下面几个字虽然不属于关键字,但建议读者把它们看作关键字,不要在程序中随便使用。,define undef include ifdef ifndef endif,2.2 C 语言的数据类型,C语言中根据数据的不同性质和用处,将其分为不同的数据类型,各种数据类型具有不同的存储长度、取值范围及允许的操作。,C语言将能处理的数据分成两大类型,基本类型和构造类型,构造类型的数据是由若干个基本类型或构造类型按一定的结构组合而成的。,语言规定:在程序中用到的数据,都必须指定其数据类型。,2.2.1 整型数据,1整型变量,(1)有符号整型变量的分类,有符号整型变量按数值的范围分为三种:,1 基本整型:以int作为类型说明符。,2 短整型:以short int或short 作为类型说明符。,3 长整型:以long int或long 作为类型说明符。,整型变量一般在内存中占的字节数与所选择的系统有关,规定long型整数不短于int型,short型整数不长于int型。,(2)无符号整型变量的分类,定义:,用来处理一些不带符号的整型变量,将存储单元中的全部二进制位都用来存放数,取消符号位,称为无符号整型。,无符号整型变量按数值的取值范围不同也分为三种:,1 无符号基本整型:以unsigned int作为类型说明符。,2 无符号短整型:以unsigned short int或unsigned short 作为类型说明符。,3 无符号长整型:以unsigned long int或unsigned long 作为类型说明符。,整型数据在内存中的存储形式,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,符,号,位,数,据,位,=32767,=65535,有符号整型,无符号整型,例2-2 阅读程序。,main(),int a=12345,b=-23456;,/*定义a,b为整型变量,,并初,始化*/,long c=32100,sum1;,/*定义c,sum1为长整型变量,,并初始化变量c*/,unsigned int sum2;,/*定义sum2为无符号整型变量*/,sum1=b-a;,sum2=c-b;,printf(sum1=%ld,sum2=%u,sum1,sum2);,/*%ld表示长整型十进制数,u表示无符号十进制数*/,运行结果:,sum1=-35801,sum2=55556,2整型常量,整型常量的表达形式,整型常量就是整常数。有以下三种表达形式:,1,十进制整数 例如:,567,、,0,、,-89,。,2,八进制数 特征是以数字符,0,开头,并由数字符,07,组成的字符序列,例如,0125,,,011,;,3,十六进制数 特征是以,0 x,或,0X,开头,并由数字符,09,,和字符,af,或者字符,AF,组成的数字符序列。,0 x2ab,0X2AB,。,(2),整型常量的类型,整型常量的类型是由其本身隐含决定的。,例如,32767,的类型是,int,,,32769,类型是,long,(,因为,3276932767),。,几点说明:,1 常量无unsigned 型,但一个非负的整数在unsigned 型的取值范围内,可以赋值给一个unsigned 型变量,例如:unsigned int a=50000;是可以的,而unsigned int a=70000;是不可以的。(因为70000 65535)。,2 一个整常量后面加一个字母L(或小写l),则明确指定该常量是long int型的,例如0L,123L,234l等。,2.2.2 实型数据,1 实型变量,(1)实型变量的分类,实型变量按数值的范围分为三种:,1 单精度实型:以float 作为类型说明符;,2 双精度实型:以double 作为类型说明符;,3 长双精度实型:以long double 作为类型说明符;,类型 说明符 字节数 比特数 有效数字 数值范围,单精度实型 float 4 32 6-7 10,-38,10,38,双精度实型 double 8 64 1516 10,-308,10,308,长双精度实型 long double 16 128 1819 10,-4932,10,4932,(2)实型变量的定义,对每一个实型变量,都应在使用前进行定义,例如:,float x,y;/*定义x,y为单精度实数*/,double z;/*定义z为双精度实数*/,2实型常量,(,1)实型常量的表达形式,十进制小数形式 0.125、.125、-0.125、-125.0、1.25;,指数形式 一般格式是 实数(整数)+e(或E)+整数。,例如:123.456的指数形式是1.23456e2、1.23456E2、12.3456e1、0.0123456e4、.123456e3、12345.6e-2等。,而e2、1.23e3.5、e、12345E 等都是不合法形式。,2.2.3 字符型数据,1字符常量,定义:字符常量是用单撇号括起来的一个字符。,举例:a,A,$,5等都是字符常量。,转义字符:还有一些特殊的字符,C语言约定用“”开头的字符序列作为标记,这类字符统称为“转义字符。,举例:转义字符n中的“n”不代表字母n,该转义字符表示在输出过程中将当前位置移到下一行的开头,简称换行;,转义字符,中的“”代表字符“”,,转义字符101中的 101是十进制的ASCII 码65,代表字符A。,(转义字符表见书P14-15),例2-4阅读程序。,main(),printf(ctlanguagsberCn);,printf(istusef165x6c);,运行结果:,C language,is useful,注:t表示一个TAB位置,即8位空格;b退格,即把s覆盖,再显示e,就变成了language;r回车,将当前位置移到本行的开头,再在小写c位置显示大写的C;n换行,将当前位置移到下一行的开头;165是八进制,转为十进制的ASCII码为117,表示字母“u”;x6c是十六进制,转为十进制ASCII码为108,表示字母“l”。,2字符变量,定义:,用来存放一个字符常量的变量称为字符变量。,同样,字符变量在使用之前必须首先定义,以char 作为类型说明符。,例如程序段:,char c1,c2;/*定义变量c1,c2为字符变量*/,c1=a;c2=b;/*将字符常量存放到字符变量中*/,几点说明:,字符常量或字符变量在内存中都只占有一个字节。,字符在程序中是以ASCII码的形式表示的,在内存中是以二进制的形式存储的,它与以整数的存储形式相类似。,在C程序中,,字符型数可以当作整型数进行处理,并且可以和整型数混合操作和处理。,例2-5阅读程序。,main(),char ch1;,int ch2;,ch1=A;ch2=B;,printf(n%d,%dn,ch1,ch2);,ch1=97;ch2=98;,ch1=ch1+6;,ch2=98+6;,printf(%c,%cn,ch1,ch2);,printf(%d,%d,ch1,ch2);,运行结果:,65,66,g,h,103,104,3字符串常量,定义:字符串常量是括在一对双撇号之间的字符序列(其中也可以包括转义字符),,举例:“C language”,“s”,“$35.56”,“tChinsban”。,(t制表符,b退格),字符串常量中的字符依次存储在内存中一块连续的区域内,并把空字符0(ASCII 值为0)自动地附加到字符串的尾部作为字符串的结束标志。,因此,对于字符个数为n的字符串,所占内存空间应
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!