C语言-基本数据类型、运算符和表达式剖析课件.ppt

上传人:飞****2 文档编号:73431670 上传时间:2023-02-18 格式:PPT 页数:71 大小:298KB
返回 下载 相关 举报
C语言-基本数据类型、运算符和表达式剖析课件.ppt_第1页
第1页 / 共71页
C语言-基本数据类型、运算符和表达式剖析课件.ppt_第2页
第2页 / 共71页
点击查看更多>>
资源描述

《C语言-基本数据类型、运算符和表达式剖析课件.ppt》由会员分享,可在线阅读,更多相关《C语言-基本数据类型、运算符和表达式剖析课件.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C C语言程序设计语言程序设计语言程序设计语言程序设计C C语言程序设计语言程序设计 第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2/17/20231第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计【本章概要本章概要】本章主要介绍本章主要介绍C C语言的基本数据类型、常量与变量、运语言的基本数据类型、常量与变量、运算符及表达式,以及算符及表达式,以及C C语言提供的常用库函数。语言提供的常用库函数。2/17/20232第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C

2、C语言程序设计语言程序设计语言程序设计语言程序设计2.1 2.1 数据类型历史和特点数据类型历史和特点2.2 变量和常量2.3 运算符和表达式第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2.4 数据类型转换2.5 数据的输入输出2.6 内部函数2/17/20233第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计计算机中处理的数据包括数字、文字、声音、图形、图像等各种形式。数据类型是按数据的性质、表示形式、占据存储空间的多少、构造特点来划分的。2.1 2.1 数据类型数据类型数据类型数据类型为

3、了更好地对数据进行存储和处理,语言中的数据类型可分为:基本数据类型,基本数据类型,构造数据类型,指针类型,空类型四大类构造数据类型,指针类型,空类型四大类2/17/20234第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计整型(整型(int)数据类型数据类型基本类型基本类型整型整型单精度型(单精度型(float)字符型(字符型(char)长整型(长整型(long)短整型(短整型(short)实型实型双精度型双精度型(double)枚举类型(枚举类型(enum)共用体类型(共用体类型(union)构造类型构造类型结构体类

4、型(结构体类型(struct)数组类型数组类型空类型(空类型(void)指针类型(指针类型(*)2.1 2.1 数据类型数据类型数据类型数据类型2/17/20235第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计基本整型基本整型 intint短整型短整型 shortshort或或short intshort int长整型长整型 longlong或或long intlong int无符号基本整型无符号基本整型 unsigned intunsigned int无符号短整型无符号短整型 unsigned shortunsig

5、ned short或或unsigned short intunsigned short int无符号长整型无符号长整型 unsigned longunsigned long或或unsigned long intunsigned long int 2.1.1 2.1.1 整型整型整型整型注意:c语言没有规定各种整数类型的表示范围,只是规定了long类型的表示范围不小于int,但也允许它们表示范围相同。2/17/20236第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.1.2 2.1.2 实型实型实型实型实型数据又称浮

6、点型数据。floatfloat,单精度浮点数类型,简称浮点类型;,单精度浮点数类型,简称浮点类型;double,double,双精度浮点数类型,简称双精度类型;双精度浮点数类型,简称双精度类型;long doublelong double,长双精度类型,长双精度类型。所有整数类型和实数类型统称为算术类型算术类型。2/17/20237第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计字符类型的数据即通常的字符。字符类型的数据在内存中存储的是它的ASCIIASCII码码值,一个字符通常占用一个字节的内存空间。2.1.32.1

7、.3字符型字符型字符型字符型2/17/20238第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计ASCII码字符的取值范围是0127,既可以用char类型表示,也可以用unsigned char类型表示;在128255范围内的扩展ASCII码字符只能用unsigned char类型表示。C语言规定字符类型与整型基本一致,分为有符号和无符号两种类型。2.1.32.1.3字符型字符型字符型字符型2/17/20239第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设

8、计语言程序设计注意:C语言类型的长度完全由编译器决定,char 通常被定义成 8 位宽;int 通常被定义成16 位或32 位宽(或更高),它取决于平台 C语言规定:long=int=short=char.(这里的=指类型的宽度大于等于)。2.1.32.1.3字符型字符型字符型字符型2/17/202310第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.1 数据类型历史和特点2.3 运算符和表达式第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2.4 数据类型转换2.5 数据的输入输出2.6

9、内部函数2.2 2.2 变量和常量变量和常量2/17/202311第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。与数据类型结合起来分类,分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。2.2 2.2 变量和常量变量和常量变量和常量变量和常量2/17/202312第第2章章 基本数据类型、运

10、算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计变量名代表该变量的存储单元及其存放的值,系统为不同类型的变量在内存中开辟不同的存储单元,以便存放相应类型的值;不同类型的变量存放数据的方法也不相同。系统还根据变量的类型检查该变量所进行的运算是否合法,例如只有整型变量和整数才能参与求余(%)运算。2.2.1 2.2.1 变量变量变量变量2/17/202313第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.1 2.2.1 变量变量变量变量1.1.变量的定义和赋值变量的定

11、义和赋值C语言要求程序中使用的每个变量都必须先定义,然后才能使用。定义变量需要用变量定义语句进行,其形式为:类型 变量名=初值,变量名=初值,;2/17/202314第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.1 2.2.1 变量变量变量变量2.变量中数据的存储C语言中无符号整数无符号整数的存储相对简单,存储单元的每个二进制位存放的0或1均表示数。有符号整数则用补码表示 实型数据实型数据是按指数形式存储的。用一个字节(8位二进制信息)存储字符类型数据字符类型数据。注意:可以把字符型数据看成是整型数据。语言允

12、许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。2/17/202315第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.2 2.2.2 常量常量常量常量常量可分为直接常量和符号常量,其中直接常量包括:整型常量、实型常量、字符型常量、字符串常量。2/17/202316第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.2 2.2.2 常量常量常量常量1.1.整型常量整

13、型常量整型常量有三种表示方法:(1)十进制整数:如154、565、-6523。(2)八进制整数:以0开头的数是八进制数。(3)十六进制整数:以0 x开头的数是十六进制数。在上述方法表示的整数后面附一个字母l或L作后缀,即可表示该数据的类型是长整型的。注意:长整型数据和普通整型数据的区别。2/17/202317第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.2 2.2.2 常量常量常量常量2.2.实型常量实型常量在C语言中,把带小数的数称为实数或浮点数。实型常量只能用十进制形式表示,不能用八进制和十六进制形式表示

14、。实型常量有两种表示方法:(1)小数形式:由数字和小数点组成,如3.1415926、-0.12、.4、3.等都是实数。(2)指数形式:如1.23e5或12.3E4都代表1.23x105。注意:字母字母e e(或(或E E)之前必须有数字,且)之前必须有数字,且e e后面指数必须后面指数必须为整数为整数,如e3、2.1e3.2、e等都不是合法的指数形式。2/17/202318第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.2 2.2.2 常量常量常量常量3.3.字符常量字符常量字符型常量是由一对单引号括起来的单个

15、字符构成,在语言中,字符常量有以下特点:(1)字符常量只能用单引号括起来,不能用双引号或其它括号。(2)字符常量只能是单个字符,不能是字符串。(3)字符可以是字符集中任意字符。一个字符型常量的值是该字符集中对应的ASCII编码值。显然5和5 是不同的。2/17/202319第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.2.2 2.2.2 常量常量常量常量表2-3 转义字符表字符字符形式形式功功 能能n换行,将光标从当前位置移到下一行开头t横向跳格,光标跳到下一个水平制表位b退格r回车,将光标从当前位置移到本行开头

16、f换页,将光标从当前位置移到下一页开头反斜杠字符“”单引号字符“”双引号字符“”ddd1到3位8进制数所代表的字符xhh1到2位16进制数所代表的字符2/17/202320第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计4.4.字符串常量字符串常量C语言中没有专门的字符串类型的变量,但有字符串常量。字符串常量由一对双引号括起来的字符序列组成,如“abc”、“a”等都是字符串常量。双引号仅起定界符的作用。字符串常量与字符常量的区别区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量占一个字节的内存

17、空间。字符串常量在内存中存储时由系统自动在存储的所有字符尾部添加串结束标记0,所以,字符串常量占的内存字节数等于字符串中字符所占的字节数加1。2.2.2 2.2.2 常量常量常量常量2/17/202321第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计5.5.符号常量符号常量符号常量就是使用符号代表常量。C语言中允许用标识符定义一个常量,这种常量定义在C语言中被称之为“宏定义”,其一般形式为:#define#define 标识符标识符 常量常量其中#define是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为

18、其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上,符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。2.2.2 2.2.2 常量常量常量常量2/17/202322第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.1 数据类型历史和特点2.2 变量和常量第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2.4 数据类型转换2.5 数据的输入输出2.6 内部函数2.3 2.3 运算符和表达式运算符和表达式2/17/202323第第2章章 基本数据类型、运算

19、符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符1.1.基本的算术运算符基本的算术运算符C语言中基本的算术运算符共有5种:+(加),-(减),*(乘),/(除),%(取模,或称求余运算符)C语言规定:(1)%运算符仅用于整型变量或整型常量的运算运算符仅用于整型变量或整型常量的运算,a%b的结果为a除以b的余数,余数的符号与被除数相同,如:7%3的结果为1;7%-3的结果为1;-7%3的结果为-1。(2)+、-、*、/运算符的两个操作数既可以是整数,也可以是实数。当两个操作数均是整数时,结果仍是整数;若

20、参加运算的两个操作数中有一个是实数,则结果为结果为doubledouble型型,因为所有实数都按double型进行运算。(3)当对两个整型的数据相除时结果为整数当对两个整型的数据相除时结果为整数。2/17/202324第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符2.2.自增、自减运算符自增、自减运算符 自增运算符+和自减运算符-是C语言中两个较为独特的单目运算符,具有右结合性。它们既可以放在操作数前,也可以放在操作数后,并且操作对象只能是变量,不能是常量或表达式。如5

21、+,+(a+b)等都是错误的。自增自减运算符的作用是将操作对象的值增加1或减去1。如:i+,i-/*表示在使用i值之后将i的值加(减)1*/+i,-i /*表示在使用i值之前将i的值加(减)1*/2/17/202325第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符3.3.赋值运算符赋值运算符C语言中,赋值被认为是一种运算,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。其形式是:赋值运算符为“=”,它的作用是将赋值运算符右边表达式或常量的值赋给其左边的变

22、量。赋值表达式的值就是被赋值赋值表达式的值就是被赋值的变量的值的变量的值。例如:a=6这个赋值表达式的值是6(变量a的值也是6)。赋值表达式的值也可以再赋给其它变量,如:a=(b=3+5),括号内的b=3+5是一个赋值表达式,其值为8,所以a的值为8,整个表达式的值也为8。2/17/202326第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符4.4.复合赋值运算符复合赋值运算符C语言允许在赋值运算符“=”之前加上其他运算符以构成复合的赋值运算符。例如:a+=5;等价于a=

23、a+5;a*=b+5;等价于 a=a*(b+5);凡是双目运算符,都可以和赋值运算符一起组合成复合的赋值运算符。在C语言中,可以使用的复合赋值运算符有:+=,-=,*=,/=,%=,=,&=,=,|=2/17/202327第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符5.5.关系运算符关系运算符关系运算实际上就是比较运算。比较两个量的运算符就称为关系运算符。在C语言中为我们提供了6种关系运算符:小于 大于=大于或等于=等于!=不等于 关系运算符都是双目运算符,要求两个操

24、作数是同一种数据类型,其结果为逻辑值结果为逻辑值。即关系成立时,其值为真,按C语言的习惯,用非0值(一般用1)表示;关系不成立时,其值为假,用0表示。2/17/202328第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计6.6.逻辑运算符逻辑运算符语言中为我们提供了三种逻辑运算符,分别是:&与运算|或运算!非运算其中,与运算符&和或运算符|均为双目运算符,非运算符!为单目运算符单目运算符。例如:a&b 当a,b都为真时,结果为真a|b 当a,b都为假时,结果为假!a 当a为真时,结果为假;当a为假时,结果为真2.3.1

25、 2.3.1 运算符运算符运算符运算符2/17/202329第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符7.7.位运算位运算位运算符是以单独的二进制位为操作对象的运算。也就是说,其操作数是二进制数其操作数是二进制数。C语言中提供的位运算符有:按位与(&)、按位或(|)、按位异或()、按位取反()、左移(),2/17/202330第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3

26、.1 运算符运算符运算符运算符8.8.求字节数运算符求字节数运算符 sizeof是C语言的一种单目操作符,并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。sizeof可以用于数据类型和变量。关于sizeof的结果:操作数具有类型char、unsignedchar或signedchar,其结果等于1。因为ANSIC正式规定字符类型为1字节。int、unsignedint、shortint、unsignedshort、longint、unsignedlong、float、double、longdouble类型的sizeof在ANSIC中

27、没有具体规定,大小依赖于实现,一般可能分别为2、2、2、2、4、4、4、8、10。2/17/202331第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符9.9.逗号运算符逗号运算符用逗号运算符可以将两个表达式连接起来,所形成的就是逗号表达式,其一般形式为:表达式1,表达式2逗号表达式的求值过程是:先求表达式1的值,再求表达式2的值,表达式2的值就是整个逗号表达式的值。逗号表达式的一般形式可以扩展为:表达式表达式1 1,表达式,表达式2 2,表达式,表达式3 3,表达式,表

28、达式n n表达式表达式n n的值为整个表达式的值。的值为整个表达式的值。2/17/202332第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.1 2.3.1 运算符运算符运算符运算符10.10.条件运算符条件运算符条件运算符是三目运算符,要求有3个操作对象,并且三个操作对象都是表达式。条件表达式的其一般形式为:表达式表达式1?1?表达式表达式2 2:表达式:表达式3 3 条件运算的求值规则为:计算表达式1的值,若表达式1的值为真,则以表达式2的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。

29、注意:(1)条件表达式中,表达式1通常为关系或逻辑表达式,表达式2、3的类型可以是数值表达式、赋值表达式、函数表达式或条件表达式。(2)条件表达式的结果类型:表达式2和表达式3中的较高者。2/17/202333第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.2 2.3.2 表达式表达式表达式表达式表达式由运算符和操作数构成。操作数可以是常量和变量。表达式的类型表达式的类型就是表达式计算结果的类型。混合于同一表达式中的不同类型常量及变量,应均变换为同一类型的量。C语言的编译程序将所有操作数变换为与最大类型操作数同

30、类型。2/17/202334第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.3.2 2.3.2 表达式表达式表达式表达式C语言规定了运算符的优先级和结合性优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。若一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。C规定了各种运算符的结合方向。算术运算符算术运算符的结合方向为“自左至右”,又成为左结合性,即先左后右,因此b先与减号结合,执行a-b的运算,再执行加c的运算。以后可以看到有些运算符的结合方向为“自

31、右至左”,即右结合性。关系运算符关系运算符的优先级低于算术运算符,关系运算符中 、=、b)?a:b可以去掉括号,写为max=ab?a:b,执行时意义是相同的。条件运算符的结合方向是自右至左。2.3.2 2.3.2 表达式表达式表达式表达式2/17/202336第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计赋值运算符和复合赋值运算符的优先级相同,且都具有右结合性。它们的优先级除了比逗号运算符的优先级高以外,比其它运算符的优先级都低。逗号运算符是所有运算符中级别最低的。例如:逗号表达式:x=2,4*5运算时,先算第一个赋

32、值表达式x=2,再算算术表达式4*5,最后算整个逗号表达式的值。逗号表达式的值为算术表达式的值20。2.3.2 2.3.2 表达式表达式表达式表达式2/17/202337第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.1 数据类型历史和特点2.2 变量和常量2.3 运算符和表达式第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2.5 数据的输入输出2.6 内部函数2.4 2.4 数据类型转换数据类型转换2/17/202338第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式

33、 C C语言程序设计语言程序设计语言程序设计语言程序设计C语言允许不同数据类型相互转换。类型转换有三种方式:自动类型转换、赋值类型转换和强制类型转换。2/17/202339第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.4.1 2.4.1 类型自动转换类型自动转换类型自动转换类型自动转换 高 double float long unsigned 低 int char,short 2/17/202340第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言

34、程序设计2.4.2 2.4.2 赋值类型转换赋值类型转换赋值类型转换赋值类型转换赋值运算时,如果赋值运算符两侧的类型(指基本类型)不一致,系统自动将表达式的值转换成变量的类型存到变量的存储单元,转换的结果可能出现以下情况:(1)当整型数据赋给浮点型变量时,数值上不发生任何变化,但有效位增加。如:float f;f=16;/*内存中变量f的值为16.000000*/(2)当单、双精度浮点型数据赋给整型变量时,浮点数的小数部分将被舍弃。如:int a;a=8.38;/*内存中变量a的值为8*/2/17/202341第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序

35、设计语言程序设计语言程序设计语言程序设计2.4.2 2.4.2 赋值类型转换赋值类型转换赋值类型转换赋值类型转换(3)将字符型数据赋给整型变量时,由于字符只占一个字节,而整型变量为2个字节,因此将字符数据(8位)放到整型变量低8位中。有两种情况:将unsigned charunsigned char型型数据赋给unsigned int或int型变量时,高8位补0。将charchar型型数据赋给unsigned int或int型变量时,若字符值最高位为0,则高8位补0;若字符值最高位为1,则高8位全补1。实际上,长度短的整型数据赋给长度长的变量时,都有类似的处理方法。如unsigned int型

36、数据赋给unsigned long或long型变量时,处理方法类似情况,即将高16位补0;int型数据赋给unsigned long或long型变量时,处理方法类似情况,对高16位分情况处理。2/17/202342第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.4.2 2.4.2 赋值类型转换赋值类型转换赋值类型转换赋值类型转换(4)当长度长的整型数据赋给长度短的变量时,将进行截断赋值。如将一个long型数据赋给一个int或unsigned int型变量时,只将long型数据的低16位原封不动送到变量中。(5)当整

37、型数据赋给长度相同的变量时,将进行原样赋值。2/17/202343第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.4.3 2.4.3 强制类型转换强制类型转换强制类型转换强制类型转换可以利用强制类型转换运算符将一个表达式强制转换成所需类型。强制类型转换的一般形式为:(类型名类型名)()(表达式表达式)【注意】(1)表达式应该用括号括起来。例如:(int)(a+b);/*表示将表达式a+b结果的类型强制 转换成int型*/(int)a+b;/*表示将变量a的类型强制转换成int型后,再进行运算*/(2)经强制类型转换

38、后,得到的是一个所需类型的中间变量,原来变量的类型并没有发生任何变化原来变量的类型并没有发生任何变化。2/17/202344第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.1 数据类型历史和特点2.2 变量和常量2.3 运算符和表达式第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式2.4 数据类型转换2.6 内部函数2.5 2.5 数据的输入输出数据的输入输出2/17/202345第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计

39、语言程序设计C语言的输入和输出功能由标准输入输出库函数标准输入输出库函数来实现。stdio.hstdio.h是标准的输入输出函数库头文件,包括putchar(输出字符),getchar(输入字符),printf(格式输出),scanf(格式输入),puts(输出字符串),gets(输入字符串)等函数。考虑到printf、scanf使用频繁,系统允许在使用这两个函数时可省略#include命令。而使用其他函数必须使用预编译命令“#include”,将有关的“头文件”包含到用户源文件中,#include命令一般放在程序的开头。2/17/202346第第2章章 基本数据类型、运算符和表达式基本数据类

40、型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintfprintf函数的功能是向系统指定的设备输出若干个任意类型的数据。1.printf1.printf函数调用形式函数调用形式printf函数是一个标准库函数,其调用的一般形式:printf(格式控制字符串,输出列表);(1)格式控制字符串是用双引号括起来的字符串,它包括两个信息:格式说明部分格式说明部分。由“%”开头和格式字符结尾,如%d,%c,%f等。它的作用是将要输出的数据转化成指定的格式输出,格式说明都是由“%”字

41、符开始的。一般字符(非格式字符)一般字符(非格式字符)。即按原样输出的字符,在显示时起提示作用。它由普通字符和转义字符构成。如:printf(na=%dn,a);/*双引号内换行符、字符c=都是原样输出字符*/2/17/202347第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf(2)输出列表是需要输出的一些数据,如变量、函数、表达式。输出列表的个数与格式说明符的个数一般应保持一致。如:2/17/202348第第2章

42、章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf2.2.格式说明格式说明格式说明符由“%”开头,以一个英文字母结束,它表明输出数据的类型;其间还可以有一些格式控制字符,用以说明数据输出的长度、位数、对齐方式等。%-+0#输出数据最小宽度m.精度n数据长度类型其中:表示可选项。格式控制字符-、+、0、#的具体含义如表2-5所示。2/17/202349第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语

43、言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf表2-5 printf函数常用附加格式符字符字符形式形式字字 符符 含含 义义 表示输出时输出数值的符号(或)且数值右对齐,左边补空格,缺省时表示若输出正值,则前面是空格,若是负数,则在数值前面输出负号()表示输出时,数值左对齐,右边补空格0表示输出时,在数值的前面多余的空格用0来代替#对格式字符O(八进制)数字前加0,对格式字符x或X(十六进制)数字前加0 x或0X2/17/202350第第2章章 基本数据类型、运算符和表达式基本数据类型、运算

44、符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf 输出数据最小宽度输出数据最小宽度mm:m是十进制整数,它表示用十进制输出的最少位数,当需要输出的数据长度超过该数时,该选项不起作用,数据按实际位数进行输出,当需要输出的数据长度小于该数时,则在该数的左边补空格或0。.精度精度nn:是“.”加上十进制整数n。其含义是:如果输出的是数值,则该数表示小数位数,若实际位数大于所定义的精度,则截去超过部分;如果输出的是字串,则表示输出字符的个数。数据长度数据长度:是字符,它有两种形式:

45、h、l。h表示按短整型量输出,l表示按长整型量输出。类型类型:是格式说明符中必须要有的,它表示输出列表里要输出的数据类型。表2-6给出了常用的类型格式符及含义。2/17/202351第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf表2-6 printf函数常用类型格式符表格式字符形式格式字符形式格式字符含义格式字符含义 d(d(或或i)i)表示以十进制形式输出一个带符号的整数(默认正数不输出符号)o o表示以八进制形

46、式输出一个无符号的整数(默认不输出前导符0)x(x(或或X)X)表示以十六进制形式输出一个无符号的整数,用x则输出十六进制的af时以小写形式输出,用X则凡以大写形式输出,(默认不输出前导符0 x或0X)u u表示以十进制形式输出一个无符号的整数 f f表示以小数形式输出带符号的实数(包括单、双精度),默认输出6位小数 e(e(或或E)E)表示以指数形式输出,默认小数点前1位非0整数,5位小数。g(g(或或G)G)表示选择%f或%e格式输出实数(选择占宽度较小的一种格式,不输出无意义的0)c c表示输出一个单字符 s s表示输出一个字符串%表示输入百分号本身2/17/202352第第2章章 基本

47、数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.1 2.5.1 格式化输出函数格式化输出函数格式化输出函数格式化输出函数printfprintf在使用printf函数时,要注意以下几个问题:(1)在格式控制字符串中可包“转义字符”,如n、t、r、b、377等。(2)控制输出类型的格式符除X(表示输出的十六进制数用大写字母输出)、E(表示输出的指数e用大写字母E输出)、G(表示若选用指数形式输出,则用大写字母E输出)外,其余必须是小写字母,如%d不能写成%D。(3)若想输出字符“%”%”,则在格式字符串中用连续两个%表示。如:p

48、rintf(%f%,1.0/4);则输出:0.250000%2/17/202353第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计(4)输出是从右向左计算输出项后,按格式说明的顺序对应输出。一般格式说明和输出项的个数和类型应相同,如不匹配系统并不报错,系统将按以下操作。a、格式说明的个数少于输出项的个数,多余的输出项将不输出;格式说明的个数多于输出项的个数,多余的格式说明将输出随机的值。b、整型数据按%f 输出,出现运行错误;实型数据按%d 输出,运行错结果为0;2.5.1 2.5.1 格式化输出函数格式化输出函数格式

49、化输出函数格式化输出函数printfprintf2/17/202354第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.2 2.5.2 格式化输入函数格式化输入函数格式化输入函数格式化输入函数scanfscanfscanf函数的功能是从键盘上将数据按用户指定的格式输入并赋给指定的变量。1.scanf1.scanf函数调用形式函数调用形式scanf函数是一个标准库函数,其调用的一般形式:scanf(格式控制字符串,地址列表);其中格式控制字符串的定义与使用方法和printf函数大致相同,但不能显示非格式字符串,即不

50、能显示提示字符串。地址列表是要赋值的各变量地址。地址是由地址运算符“&”后跟变量名组成,如&x表示变量x的地址。&是取地址运算符是取地址运算符,其作用是求变量的地址。2/17/202355第第2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式 C C语言程序设计语言程序设计语言程序设计语言程序设计2.5.2 2.5.2 格式化输入函数格式化输入函数格式化输入函数格式化输入函数scanfscanf2.2.格式说明符格式说明符与printf函数中的格式说明符相似,以%开始,后面跟一个格式符,中间可以有若干个附加字符,格式字符串的一般形式为:%输入数据宽度m长度 类型其中:表示可选项:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁