第3章 C语言数据类型、运算符和表达式_第1页
第3章 C语言数据类型、运算符和表达式_第2页
第3章 C语言数据类型、运算符和表达式_第3页
第3章 C语言数据类型、运算符和表达式_第4页
第3章 C语言数据类型、运算符和表达式_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章C语言中的数据类型、运算符和表达式。本章要点:数据描述规则、数据操作规则、教学要求:1 .掌握C语言中数据类型的分类。2.掌握整数数据、实数数据和字符数据的使用规则。3.掌握C语言常量和变量的使用。执行摘要:3.1基本字符、标识符和关键字3.2基本数据类型3.3常数和变量3.4整数数据3.5实数数据3.6字符数据,执行摘要:3.7变量赋值初始值3.8各种数字数据之间的混合运算3.9运算符和算术表达式,3.1基本字符、标识符和关键字,1。符号集(字符集)在C语言中有五种基本符号:(1)大写字母AZ (2)小写字母az (3)阿拉伯数字09 (4)下划线_ (5)标点符号和运算符;和(2)标

2、识符,它标识符号常量、变量、函数、类型名和文件的有效字符序列。标识符的构成规则:(1)标识符只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。例如:X y3 _ IMAX ECSE X _ A _ to _ B(合法)7x int #没有一个坏的reg-input(非法)(2)在c语言中,大写和小写字母是不相等的。a和a,I和I,sum和Sum是两个不同的标识符。(3)用户定义的标识符不能与保留字(关键字)同名。关键词(保留词),概念:它是一个具有特定含义的标识符,不能用作用户定义的标识符。C语言中的关键词很少,ANSI标准推荐的关键词有32个。(1)数据类型相关(14):char

3、int float double signed short long void struct union typedef enum size of(2)存储类型相关:auto extern register static,Third,关键字(continued),(3)与程序控制结构相关(12):Do while for if else switch case default get continue break return注意:所有关键字都有固定的含义,不能用作其他关键字。例如,else和ELSE的意思不同。对于3.2 C的数据类型,C语言提供了以下数据类型:数据类型、构造类型、指针类型、

4、空类型(无值类型)、空、3.3常量和变量、3.3.1常量和符号常量1。在程序运行过程中其值不能改变的常量称为常量和常量,分为不同的类型:整数1000。125,-100,0实数类型3.14,0.125,-3.789字符类型a,b,2字符串a,ab,1232,2,符号常量,使用标识符表示常量定义方法定义标识符常量,示例3.1使用符号常量#定义pi 3.14159 #包含无效主()浮点数;描述:由程序中的#define命令行定义的圆周率代表常数3.14,然后出现在这个文件中的圆周率代表3.14159,它可以像常数一样操作。符号常量:表示带有标识符的常量。符号常量的值不能在其范围内更改,也不能再赋值。

5、运行结果:2区域=12.566360,说明:使用赋值语句赋值PRICE PI=3.14是错误的;/*错误,不能给符号常量赋值,3.3常量和变量,3.3.2变量概念:它的值可以在程序运行时改变。由标识符(变量名)表示。变量表示内存中具有特定属性的存储单元,用于存储数据,这是变量的值。从变量中取值实际上是通过变量名找到相应的内存地址,并从内存位置读取数据。变量定义方法:类型标识符,3.3常量和变量(续),变量命名规则:语言规定标识符只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。示例:sum,_total,month,Student_name,lotus_1_2_,basic,Li _

6、 ling m.d. John, 123,3d64,ab,3.3常量和变量(续),注意:编译系统将大写字母和小写字母视为两个不同的字符。建议变量名的长度不要超过8个字符。看到名字,知道意思。先定义,然后使用。传统上,符号常量用名称大写,变量名用小写来表示不同。,3.4整数数据,1。整数常量的表示方法整数常量是整数常量。在语言中,整数常数可以用以下三种形式表示:(1)十进制整数。例如:123,-456,4。(2)八进制整数。最高有效位必须使用0作为前导。例如,0123表示八进制数123,等于十进制数83,而-011表示八进制数-11,即十进制数-9。3.4整数数据(续),(3)十六进制整数。以0

7、 x(0X)开头的数字是十六进制数字。例如,0 x123代表十六进制数123,等于十进制数291。-0 x12等于十进制数10。2.整数变量(1)内存中整数数据的存储形式数据以二进制形式存储在内存中。例如: int i。/*被定义为整数变量*/I=10;/*将整数10 */分配给I,3.4整数数据(续),注意:十进制数10的二进制形式是1010,Turbo C 2.0和Turbo C 3.0为整数变量分配2字节的内存(不同的编译系统为整数数据分配不同的字节,而VC 6.0分配4字节)。数值表示为补码。3.4整数数据(续),(2)整数变量的分类,有六种,有符号的基本整数有符号的短整数有符号的长整

8、数无符号的基本整数无符号的短整数无符号的长整数,(有符号的)int(有符号的)short(有符号的)int(有符号的)long(有符号的)int(无符号的)int short(无符号的)int(无符号的)long (int),注意:括号表示内容是可选的。3.4整数数据(续),整数类型的相关数据:类型描述符长度范围基本整数2字节-3276832767短2字节-215215-1长4字节-231231-1无符号2字节065535无符号短2字节065535无符号长整数无符号长4字节0 (232-1),3.4整数数据(续),例如,内存中整数13的实际存储:3.4整数数据(续),(续)定义的一般形式:类型

9、描述符变量名1,变量名2;例如: int a,b;/*将变量指定为整数*/无符号短c,d;/*将变量指定为无符号短整数*/鳄龙,f;/*指定变量,变量是长整数*/。变量的定义和使用。注:(1)允许在一个类型描述符后定义多个相同类型的变量。变量名用逗号分隔;类型描述符应该与变量名至少分隔一个空格。(2)最后一个变量名必须后跟“;”在的末尾。(3)变量定义必须放在使用变量之前。3.4整数数据(续)例整数变量的定义和使用。#包括void main() inta,b,c。请输入两个数字:“”;Scanf (%d,%d ,示例:整数变量#的定义和使用包括void main() int a,b,c,d;/

10、*指定、为整数变量*无符号;*指定为无符号整数变量* 12;-24岁;10;printf(,);描述:可以看出不同种类的整数数据可以进行算术运算。运行结果:示例:整数数据溢出#包括void main() int a,b;a=32767b=a 1。printf(%d,%dn ,a,b);说明:数值表示为补码。整数变量只能包含-3276832767范围内的数字,不能表示大于32767或小于-32768的数字。在这种情况下,会发生“溢出”。运行结果:32767,-32768,3.4整数数据(续),3。整数常量的类型(1)一个整数,如果它的值在-32768到32767的范围内,它被认为是整型,并且它可

11、以被分配给整型和长整型变量。(2)如果一个整数的值超过上述范围,并且在-2147483637 2147483647的范围内,则该整数被认为是长整数。您可以将其分配给一个长整型变量。3.4整数数据(续),(3)如果分配给短整型的C版本(如Turbo C)和整型数据在内存中占用相同的长度,则其表号范围与整型相同。因此,一个int常量也是一个短int常量,它可以赋给int或short int变量。,3.4整数数据(续),(4)一个整数常数后面跟一个字母u或u,这被认为是无符号整型。例如12345u,以无符号int指定的方式存储在存储器中(存储器单元中的最高位不用作符号位,而是用于存储数据)。如果写成

12、-12345u,-12345被转换成它的补码53191,然后作为无符号数存储。(5)如果一个整数常数后跟一个字母L或L,它被认为是一个长整型常数。3.5浮点数据(实数),3.5.1实数常数的表示方法,两种表示法,十进制指数,0.123 3e-3,注意在:字母e(或e)之前必须有一个数字,e之后的指数必须是一个整数,1e3,1.8e-3,-123e-6,指数形式:它由三部分组成:“小数”、“E(或E)”和“十进制整数”。例如, 3.4 4。 3例如, 12.5e-6表示12.510-6、十进制小数、e(或e)、十进制整数、注:小数点不能单独出现;e或e两边都必须有数字,后面必须跟整数;例如:0。

13、 0应该是:如:6E0.2E56E、3.5.2实变量,分为三种类型:单精度(浮点型)、双精度(双精度型)和长双精度。c编译系统通常默认所有实常量为双精度类型。对于绝对值小于1的浮点数,小数点前的零可以省略。Turbo C以默认格式输出浮点数,最多只留下6个小数位。3.5.3内存中真实数据的存储形式,浮点数据以指数形式存储。系统将实际数据分为小数部分和指数部分,并分别存储。索引部分采用标准化的索引形式。示例3.4实际数据#的舍入误差包括void main() float a,b;a=123456.789e5b=a20;printf(%fn ,b);描述:一个实变量只能保证的有效数字是7个有效数字

14、,下面的数字是没有意义的,不能准确的表示这个数字。我们应该避免直接加减一个大数字和一个小数字,否则小数字就会“丢失”。运行结果:12345678848.00000,3.6字符数据,3.6.1字符常量。单引号中包含的一个字符是字符常量只能包含一个字符。例如,字符常量的缩写,字符常量包括可视字符常量和转义字符常量,1。可视字符,例如,请注意:(1)单引号不占用存储空间;(2)在C语言中,A和A是不同的;(3)用单引号括起来的大写字母和小写字母代表不同的字符常量。例如,A和A (4)也是用单引号括起来的字符常量,它们存储的是32,2的ASCII值。转义字符,ASCII中的控制字符是不可见的字符,不能

15、直接用单引号表示。n,换行,水平跳过,r,回车,并在一些特定字符前面加上“”,表示一些特殊的含义或控制动作。这种形式的字符称为转义字符。描述:(1)转义字符代表一个字符,在内存中只占用一个字节的存储空间。(2)转义字符0,表示字符串常量的结尾。(DDDDD表示1-3个八进制数字。(4)XHH表示1-2个十六进制数字,3.6个字符数据,3.6.2个字符变量。字符变量用于存储字符常量。请注意,只能放置一个字符。字符变量定义如下:字符c1,C2;在此函数中,您可以使用以下语句为C1和C2赋值:C2 b;一个字符变量占用内存中的一个字节。3.6字符数据,3.6.3字符数据在存储器中的存储形式字符常量存储在字符变量中,即把字符的相应的ASCII码存入存储单元。使字符数据和整数数据通用。请注意,一个字符的数据可以以字符或整数的形式输出。示例3.6将整数分配给字符变量。#包括void main() char c1,C2;c1=97c2=98printf(%c %cn ,c1,C2);printf(%d %dn ,c1,C2);描述:在第四行和第四行中,整数97和98分别赋给c1和c2,这相当于下面两个赋值语句:C1;C2;因为A和B的ASCII码是97

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论