C语言03type.ppt_第1页
C语言03type.ppt_第2页
C语言03type.ppt_第3页
C语言03type.ppt_第4页
C语言03type.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、第3章,基本数据类型,运算符,输入和输出函数,1数据类型,为什么数据应该分类,以便计算机可以相应地存储和处理数据。C语言的基本数据类型有:字符型(字符型)、整型(整型)、浮点型(实型或浮点型)、双精度型(双精度实型)、2个常量、概念:程序运行过程中数值不可改变的定量常量的分类:整数常量、实型常量、字符常量、字符串常量、符号常量、整数常量、整数常量,即整数常量。1.整数值范围:一般为一个机器字,字长为2字节,取值范围为-32768-32767。表达式形式:以非0开头的十进制整数,以0开头的八进制整数,以0 x或0X开头的十六进制整数。例如:-123,456,0123,-0 x123,2。长整数的

2、取值范围:4字节2147483648 2147483647表达式形式:在整数后加字母L或L示例:456l,-0456l,0 x456l 3。关于无符号数如果整数是无符号数,整数常数可以代表的数值范围将相应地加倍。实常数,1。实常数也称为浮点常数。有两种表示法:定点形式由符号、整数部分、小数点和小数部分组成。示例:0.0、12.34、0.123、 123、-123.0和-123。指数形式由符号、整数部分、小数点、小数部分、后跟或无符号整数的E(e)组成。法律上:1e-5 123.45E0是非法的:E8、3E-5.6、 e2、4e和e2。实数常量被视为双精度双精度字符常量,1。字符常量是由一对单引

3、号(作为分隔符)包围的字符,字符不能是单引号、双引号或反斜杠。例如:A,A,5?$ .2.字符常量有数值,即它们的ASCII码值。例如:碳=一;C=65等价。3.特殊字符常量转义字符(见表3-1)由一对单引号括起来,单引号以反斜杠开头,后跟一个字符,如n。或者反斜杠,后跟一至三位数的八进制数,或者以X开头的一至二位数的十六进制数.常用转义字符,字符串常量,1。字符串常量用双引号括起来的一系列字符。例子:你好!程序,a,123.45 2。存储形式字符串中的每个字符占用一个字节,字符0自动附加到它的尾部。h . e . l . o!0 104 101 108 108 111 33 0,符号常数,符

4、号常数代表具有特定符号的常数定义:#定义符号常数(字符串)示例:#定义R 5.179符号常数必须“先定义,然后使用”。一般来说,大写字母的例子有:#定义价格35 #定义数量10 #定义总价*数量主()printf(总计=% dn,总和);结果:总计=350,3个变量,概念:在程序运行期间其值可以改变的量。使用的变量应该“先定义后使用”(由标识符定义),以便在编译期间为它们分配相应的存储单元。常用变量定义表单数据类型变量名表;例如:int a,b;(定义两个整数)对整数变量、实变量和字符变量初始化进行分类,C标识符,用于标识变量名、符号常量名、函数名、数组名和文件名的有效字符序列。标识符必须以字

5、母或下划线开头,后跟字母或下划线或数字,并且字母区分大小写。标识符的长度(字符数)是不一致的,因系统而异。通常,只能识别前8个字符。选择标识符时,建议使用有意义的英文单词,注意关键字“知道名称,知道含义”是由语言指定的具有特定含义的字符串,通常也称为保留字,不允许用作标识符(见附录),整型变量,数据类型说明符3360 int,短,长,main () int a,b,s;Scanf (%d% d ,输入:11 22输出:33,实变量,主()浮点x,y;x=111111.111y=222222.222printf(%fn,x y);运行结果是33333.328125,数据类型说明符是:浮点、双精度

6、和字符变量。字符变量占用内存中的一个字节,并为字符变量分配一个字符常量。事实上,字符的ASCII码被放入与字符变量相对应的存储单元中,字符数据的存储形式类似于整数数据。您可以相互赋值或执行混合操作。字符数据可以以字符或整数的形式输出。数据类型说明符:char,示例1: main () char a,b;a=ab=bprintf(%c %cn,a,b);printf(%d %dn,a,b);示例2:main()int a;char b;a=ab=98printf(%c %cn,a,b);printf(%d %dn,a,b);运行结果:a b 97 98,变量被初始化。定义变量时,只为变量分配内存

7、,这部分内存不会被清空。内存中作为变量分配的原始值被保留,其值无法确定。因此,在参与操作之前,应该初始化变量并给出初始值,以避免逻辑错误。c语言规定变量可以同时定义和给定初始值。例如:int a=2,c=3;浮点pi=3.14char c1=a,C2=9;如果你想给n个相同类型的变量分配相同的初始值,你也应该分别赋值。例如:int a=10,b=10,c=10int a=b=c=10,错误!4运算符和表达式-1,运算符是符号算术运算符和算术表达式,它们告诉编译器执行特定的算术或逻辑运算,赋值运算符和赋值表达式关系运算符和关系表达式逻辑运算符和逻辑表达式条件运算符和条件表达式逗号运算符和逗号表达

8、式,4运算符和表达式-2,指针运算符*大小运算符位运算符*不同类型数据之间的转换运算符优先级以及关联表达式和表达式语句(如何根据条件编写表达式),4.1算术运算符,1。加法、减法、乘法、除法和余数运算符:-、*、/、%除法符号/-当两个整数被除时,结果是一个整数(商的整数部分)-当被除时,余数%只能对整数进行运算。例如,取整数的一位数:53是3,整数1253/10的十进制数是5。2.自增自减运算符:-用法-操作前:或-在使用变量之前,首先将变量的值增加或减少1,然后在表达式中使用变量的新值-操作后:或-在使用变量之后,首先添加变量的i=5 - j。此运算符只能用于变量,不能用于常量和表达式。法

9、律:I .-j;I=(j)* 5;非法:6-;I=(j * 5);例1: main () int a=5,c;c=a;/* a首先增加1,然后计算*/c=c a;/* a先计算,然后添加1 */printf (a=%d tc=%dn,a,c);结果:a=7 c=12 *示例2:执行以下语句后的输出是什么?main() int a=10,b=20,c;c=a B-;printf(a=%d,b=%d,c=%d,a,b,c);结果:a=11,b=19,c=31。算术表达式是连接操作数(常数、变量和函数等)的公式。)带有算术运算符和括号,并符合C语法规则,例如:x a b a % b b n/100,

10、4.2赋值运算符和表达式,1。基本赋值运算符:=按其一般形式是:变量=表达式。它的功能是计算右边表达式的值,并将其提供给左边的变量。例如,a=3 b=i-j c=sin (x) sin (y)赋值运算符具有右结合性。A=b=c=1可以理解为:a=(b=(c=1),2。复合赋值运算符:=,-=,*=,/=,%=(算术运算)a *=b/=c-=a;printf(%d,%d,%dn,a,b,c);a-=b *=c=3;printf(%d,%d,%dn,a,b,c);a=b=c=1;c=(a *=2)(b=3)2;printf(%dn,c);运行结果:2,1,2 -3,5,5 8,4.3关系运算符和关

11、系表达式,1。关系运算符(比较运算符)用于比较两个表达式的值,有六种:=,b的值为0,而关系表达式a b的值为1。这里,0和1是逻辑值,可以用作判断条件,也可以与其他关系表达式(与、或、非等)进行逻辑运算。),还可以用其他算术表达式进行算术运算。使用关系表达式时的注意事项。1关系表达式中的字符数据根据其ASCII码值参与比较操作。100,30,值为1。运算符两边的表达式可以是算术表达式、字符表达式、赋值表达式、关系表达式或逻辑表达式。示例:(a x)(b y) (x=4)bc) y的值为0。4.4逻辑运算符和逻辑表达式。逻辑运算符用于运算逻辑量。有三种类型:逻辑运算符两边的操作数被视为逻辑值。

12、非0为真,0为假。逻辑表达式的结果也是逻辑值。真为1,假为0。使用逻辑表达式的注意事项判断数值是否为真时,非0表示真,0表示假。逻辑运算符两边的操作数不仅可以是整数,还可以是其他数据类型。只要这种类型的数据值最终可以得到0或非0值的逻辑表达式,就没有必要对逻辑运算符两边的表达式求值(x=y=z=-1;W=(x | y)输出是什么?注:整数a、b、c;a=(- x=y)?-x :y;b=x;c=y;例2:请写出下列程序的运行结果:main() int x=5,y=6;printf(%dn,(x=y )|(x=8)?-x :-y);printf(%d,%d,x,y);结果:5 5,7,4.6逗号运

13、算符和逗号表达式,也称为顺序运算符,用于将多个表达式组合成一个表达式,称为逗号表达式或顺序表达式。例如:3 5,7 9逗号表达式的一般形式:表达式1,表达式2,表达式n表示从左到右计算每个表达式的值,逗号表达式的值是表达式n的值。例如,a=3*5,a*6是90,4.7指针运算符*,地址运算符表示变量x的值被分配给指针所指向的变量,指针运算符示例,main () int a=10,b=8,c,d *,P1 *,p2;P1=有关详细用法,请参见指针章节,4.8 sizeof运算符,函数:用于计算操作数占用的字节数。使用格式:sizeof(数据类型)或sizeof(表达式),例如:sizeof(双精

14、度)值为8,sizeof(字符)值为1浮点f;int i,a10I=sizeof(f);I的值将为4i=大小(a);我的值是20,4.9。不同数据类型之间的转换。当不同数据类型的常量和变量混合在一起时,它们必须在操作前转换为相同的类型。有两种转换方法:1 .自动转换表达式操作的转换规则:长双高双浮点无符号长整型长整型无符号整型字符、短整型低整型、示例:10 a I * f-d/e整型字符浮点双长整型、整型、浮点型、双精度型,当赋值号两边的数据类型不同时的转换规则:赋值号右边的类型转换为左边的类型。当右边的数据类型比左边的长时,右边的数据将被截断所需的长度。参见示例2。强制转换形式:(类型名)操

15、作数,其中操作数可以是常量、变量或表达式。示例:浮点x。(int) 4.5/3值为1 (int)x取变量x的整数部分-(int)x取变量x的小数部分,自动类型转换示例,main()char c;int I;i=11361/* 0 x2c61*/c=i。/* 0010110001100001 */printf(% c % d % x,c,c,c);运行结果:97 61、4.10运算符的优先级和组合,优先级:在操作数的两边有两个运算符,第一个参与操作的是高优先级的一边的运算符。(附录)组合:当操作数两边的运算符优先级相同时,C指定各种运算符的组合方向,即“从左到右”或“从右到左”。(附录)也就是说,运算符的组合指定了具有相同优先级的几个连续运算符的计算顺序。当组合从左到右时,计算将从左到右逐一进行;当绑定属性是从右向左时,计算是从右向左逐个进行的。例1: y=23-4 * 565-20-156-9例2:表达式a b c等于(a b

温馨提示

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

评论

0/150

提交评论