




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C C 程序设计程序设计1主主 讲讲: : 刘怀亮刘怀亮E-mail:E-mail:经济管理学院信息管理系经济管理学院信息管理系C C语言程序设计语言程序设计C Programming LanguageC Programming Language 2第三章第三章 数据类型、运算符数据类型、运算符与表达式与表达式(第(第3 3讲)讲)主讲主讲: :刘怀亮刘怀亮E-mail:E-mail:经济管理学院信息管理系经济管理学院信息管理系C C 程序设计程序设计3数据类型、运算符与表达式内容提要内容提要:C C语言的基本元素和数据类型语言的基本元素和数据类型常量与变量常量与变量各种数据类型的常量和变量各
2、种数据类型的常量和变量变量赋初值变量赋初值各种类型的数据间的混合运算各种类型的数据间的混合运算几种基本运算符及其表达式几种基本运算符及其表达式C C 程序设计程序设计43.1 C语言的基本元素和数据类型一、符号集(字符集)一、符号集(字符集)C语言经常使用的基本符号共有以下五种:语言经常使用的基本符号共有以下五种:(1)大写字母:)大写字母:AZ (2)小写字母:)小写字母:az (3)阿拉伯数字:)阿拉伯数字:09 (4)下划线:)下划线:_(5)标点符号和运算符)标点符号和运算符C C 程序设计程序设计53.1 C C语言的基本元素语言的基本元素和数据类型和数据类型二、标识符二、标识符 用
3、来标记常量、变量、函数及文件名的字符序列。用来标记常量、变量、函数及文件名的字符序列。 标识符的构成规则:标识符的构成规则: 以字母(大小写皆可)或下划线开头以字母(大小写皆可)或下划线开头 随后可跟若干个(包括随后可跟若干个(包括0个字母、数字、下划线)个字母、数字、下划线) 标识符的长度各个系统不同,最好不要超过标识符的长度各个系统不同,最好不要超过8个字符个字符 如:如:x y3 _imax ELSE X A_to_B(合法)(合法) 7x int #No bad one reinput(不合法)(不合法)注意注意1 1、区分大小写。如、区分大小写。如sumsum、SumSum是两个不同
4、的标识符!是两个不同的标识符!2 2、最好见名知意!、最好见名知意!如:如:student_name, student_number应变为:应变为: stu_name、stu_numC C 程序设计程序设计63.1 C C语言的基本元素语言的基本元素和数据类型和数据类型三、关键字三、关键字 也称保留字,在也称保留字,在C语言中有特定的含义,专门语言中有特定的含义,专门用作语言特定的成分的一类标识符。用作语言特定的成分的一类标识符。u保留保留 ANSI 32个个 (详见(详见P378 附录附录C)u12个编译预处理命令个编译预处理命令 define, elif, else, endif, err
5、or, if, ifdef, ifndef, include, line, progma, undefu ()、()、“ ”、(空格)、(空格)auto, break, case, char, const, continue, default, do, double,else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while注
6、意注意所有的关键字都有其固定的含义,不能用作其他。所有的关键字都有其固定的含义,不能用作其他。所有的关键字都必须小写。所有的关键字都必须小写。如:如:else和和ELSE代表不同的含义。代表不同的含义。elseelse是关键字;是关键字;ELSEELSE是用户自定义的标识符。是用户自定义的标识符。C C 程序设计程序设计73.1 C C语言的基本元素和语言的基本元素和数据类型数据类型 字符型字符型 charchar 基本类型基本类型 整型整型 int int 单精度单精度 floatfloat 实型实型( (浮点型浮点型) ) 双精度双精度 doubledouble 数组型数组型 arraya
7、rray 数据类型数据类型 结构体型结构体型 ( (含位段含位段)struct)struct 构造类型构造类型 共用体型共用体型 unionunion 枚举型枚举型 enumenum 自定义型自定义型 typedeftypedef 指针类型指针类型 (pointer)(pointer) 空类型空类型 voidvoid程序程序=算法算法+数据结构数据结构算法处理的对象是数据算法处理的对象是数据数据结构是数据的组织形式数据结构是数据的组织形式数据类型是指数据的内在表现形式数据类型是指数据的内在表现形式 (代码,存储,运算)。(代码,存储,运算)。C C 程序设计程序设计83.23.2常量和变量一、
8、常量和符号常量一、常量和符号常量1 1、常量:固定值、常量:固定值 不随程序改变不随程序改变 常量区分不同类型常量区分不同类型( (表达形式表达形式) ) 如:如:1212、3.23.2、a a2 2、符号常量、符号常量 用一个标识符代表的常量用一个标识符代表的常量 定义方法:定义方法: define define 标识符标识符 常量常量# define PRICE 30#include void main ( ) int num,total; num=10; total=num*PRICE; printf(“total=%dn”,total);total300预编译命令放预编译命令放在函数的
9、外面在函数的外面C C 程序设计程序设计93.23.2常量和变量二、变量二、变量1、变量:其值可改变的量、变量:其值可改变的量 用标识符(变量名)表示用标识符(变量名)表示 在内存中占一定存储单元在内存中占一定存储单元 定义方法:定义方法: 类型符类型符 标识符标识符变量变量变量名变量名存储单元存储单元表示表示值值如:如:int I,j,imax; char c1,c2,s; float x,root1,root2; double y1,y2;# define PRICE 30#include void main ( ) int num,total; num=10; total=num*PRI
10、CE; printf(“total=%dn”,total);注意注意1 1、合法标识符且见名知其意;、合法标识符且见名知其意;2 2、先定义后使用;不定义不使用;、先定义后使用;不定义不使用;3 3、习惯上,符号常量用大写,、习惯上,符号常量用大写,变量名用小写,方便区别。变量名用小写,方便区别。C C 程序设计程序设计103.3 3.3 整型数据一、整型常量一、整型常量1、十进制常数、十进制常数 如:如:123、789、02、八进制常数、八进制常数 由由07数字组成,首字符用数字组成,首字符用0标识。标识。 如:如:0123 即即 (123)83、十六进制常数、十六进制常数 由由09,af(
11、AF)组成,最高位用组成,最高位用0 x标识。标识。 如:如:0 x123 即即 (123)16注意:二、八、十、十六进制之间转化一定掌握。注意:二、八、十、十六进制之间转化一定掌握。 如:如:30( ? ) 8( ? ) 16C C 程序设计程序设计113.3 3.3 整型数据一、整型常量一、整型常量1、十进制常数、十进制常数 如:如:123、789、02、八进制常数、八进制常数 由由07数字组成,首字符用数字组成,首字符用0标识。标识。 如:如:0123 即即 (123)83、十六进制常数、十六进制常数 由由09,af(AF)组成,最高位用组成,最高位用0 x标识。标识。 如:如:0 x1
12、23 即即 (123)16注意:注意:二、八、十、十六进制之间转化一定掌握。二、八、十、十六进制之间转化一定掌握。 如:如:30(036) 8(0 x1E) 16C C 程序设计程序设计123.3 3.3 整型数据二、整型变量二、整型变量1、整型变量在内存中的存放形式、整型变量在内存中的存放形式 数据在内存中以二进制的补码表示:数据在内存中以二进制的补码表示: 10 102、整型变量的分类、整型变量的分类 根据数值的范围将变量定义为三类:根据数值的范围将变量定义为三类: 基本整型基本整型(int)2 短整型短整型(short int)2 长整型长整型(long int)4为充分利用变量的表达范
13、围,又可将变量定义为:为充分利用变量的表达范围,又可将变量定义为: 有符号数有符号数(signed) (可省略可省略) 无符号数无符号数(unsigned)0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 01 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0符号位符号位正数原码补码相同负数补码是绝对值取反加1C C 程序设计程序设计133.3 3.3 整型数据二、整型变量二、整型变量2 2、整型变量的分类、整型变量的分类 (1)(1)有符号型有符号型 基本型:以基本型:以intint说明,占用说明,占用2 2字节。如:字节。如:int i,sumint i,sum 短整型
14、:以短整型:以shot shot intint或或shortshort说明,占用说明,占用2 2字节。字节。 如:如:short s,sumshort s,sum 长整型:以长整型:以long long intint或或longlong说明,占用说明,占用4 4字节。字节。 如:如:long l,sumlong l,sum C C 程序设计程序设计143.3 3.3 整型数据二、整型变量二、整型变量 2 2、整型变量的分类、整型变量的分类 (2)(2)无符号型无符号型( (存放无符号的整数存放无符号的整数) ) 无符号整型:以无符号整型:以unsigned intunsigned int或或u
15、nsignedunsigned说明,占说明,占 用用2 2字节。字节。 如:如: unsigned ui,sumunsigned ui,sum 无符号短整型:以无符号短整型:以unsigned shortunsigned short说明,占用说明,占用2 2字节。字节。 如:如: unsigned short us,sumunsigned short us,sum 无符号长整型:以无符号长整型:以unsigned longunsigned long说明,占用说明,占用4 4字节。字节。 如:如: unsigned long ul,sumunsigned long ul,sum P45 P45表
16、表3.23.2给出了各整型数据的取值范围。给出了各整型数据的取值范围。C C 程序设计程序设计153.3 3.3 整型数据二、整型变量二、整型变量整数在存储单元的存储情况:以整数在存储单元的存储情况:以13为例为例 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 00 0 0 000 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 0 0 1 1 0 10 0 0 0 0 0 0 0 0 0 00 0 0 00int型short型
17、long型0 0 0 0 0 0 0 0 0 0 0 0 1 1 01unsigned int型unsigned short型unsigned long型0 0 0 0 0 0 0 0 0 0 00 1 1 01符号位符号位C C 程序设计程序设计163.3 3.3 整型数据二、整型变量二、整型变量 3、整型变量的定义、整型变量的定义 如:如:int a, b; long num, i, j ; unsigned short c, d;例:不同种类整型数据的运算例:不同种类整型数据的运算#include Void main( )int a, b, c, d; unsigned u; a=12;
18、 b= -24; u=10; c=a+u; d=b+u; printf(“a+u=%d,b+u=%dn”,c,d);a+u= 22b+u= -12C C 程序设计程序设计173.3 3.3 整型数据三、整型常量的类型三、整型常量的类型 值在值在32 76832 768范围内,认为是范围内,认为是int型;型; 值在值在2 147 483 648 2 147 483 648范围内,认范围内,认为是为是long int型;型; 八进制、十六进制常量的类型根据数值的大小可以八进制、十六进制常量的类型根据数值的大小可以是整型、无符号整型是整型、无符号整型(065535)、长整型或无符号长、长整型或无符
19、号长整型;整型; 整数后有后缀整数后有后缀u或或U,认为是,认为是unsigned型。型。 整数后有后缀整数后有后缀l或或L,认为是,认为是long int型型(在严格要求类在严格要求类型匹配的场合有用,如函数参数调用型匹配的场合有用,如函数参数调用)。-123 123u -123l 123ul-0123 0123u -0123l 0123ul-0 x123 0 x123u -0 x123l 0 x123ulC C 程序设计程序设计183.4 3.4 实型数据一、实型常量一、实型常量 实数又称浮点数。有两种表示形式实数又称浮点数。有两种表示形式 1 1、十进制数形式、十进制数形式 如:如:0.
20、3450.345、.345.345、345.0345.0、0.00.0、0.0.、.0.0 2 2、指数形式、指数形式 如:如:3.45e33.45e3、3.45E3 3.45E3 表示表示3.453.4510103 3 3 3、类型:缺省为、类型:缺省为double;double;后缀为后缀为f f或或F F,为,为floatfloat型;后缀为型;后缀为l l或或L L,为,为long doublelong double型型注意:注意:e e前后必须有数字,前后必须有数字,e e后必须为整型数。后必须为整型数。如:如:.3e3 3e3 3.e3 3e e3 e0.3.3e3 3e3 3.e
21、3 3e e3 e0.3如:如:3.53.5表示双精度型表示双精度型 3.5f3.5f表示单精度型表示单精度型C C 程序设计程序设计193.4 3.4 实型数据二、实型变量二、实型变量(取值范围和值的精度与机器有关取值范围和值的精度与机器有关) 单精度单精度(float型型):占:占4个字节,个字节,7位有效数字位有效数字 (3.4e-38 3.4e+38) 双精度双精度(double型型):占:占8个字节,个字节,1516位有效数字位有效数字 (1.7e-3.8 1.7e+3.8) long double型:占型:占10个字节,个字节, 1516位有效数字位有效数字 (3.4e-4932
22、1.1e+4932) 如:如:float x, y; double a, b, c;C C 程序设计程序设计203.4 3.4 实型数据三、实型数据的舍入误差三、实型数据的舍入误差 虽然实型数据的表示形式有两种但在内存中均是以指数虽然实型数据的表示形式有两种但在内存中均是以指数形式存放形式存放 若数据超过有效位,则被若数据超过有效位,则被 舍去,故可能产生误差。舍去,故可能产生误差。数符数符小数小数阶符阶符指数指数例3-4#include Void main( ) float a, b; a=123456.789e5; b=a+20; printf(“a=%f, b=%fn”, a,b);a=
23、12345678848.000000, b=12345678848.000000C C 程序设计程序设计213.5 3.5 字符型数据一、字符常量一、字符常量1、用单引号扩起来的一个字符、用单引号扩起来的一个字符如:如:a、A、b、*、2、转义字符:特殊的字符常量,它们都以、转义字符:特殊的字符常量,它们都以开头。开头。代表一个字代表一个字符符n n 换行符换行符 0 0 空值空值t t 横向跳格横向跳格 v v 纵向跳格纵向跳格b b 退格退格 a a 报警报警r r 回车回车 f f 走纸换页走纸换页 输出反斜杠输出反斜杠 输出单引号输出单引号ddd 1ddd 13 3位八进制数表示的字符
24、位八进制数表示的字符(ASCII(ASCII码码) ) 如:如:101101代表字符代表字符A Axhh 1xhh 12 2位十六进制数表示的字符位十六进制数表示的字符(ASCII(ASCII码码) ) 如:如:x41x41代表字符代表字符A A输出格式控制输出格式控制输出字符输出字符C C 程序设计程序设计223.5 3.5 字符型数据二、字符变量二、字符变量 字符变量用来存放字符,且只能存放一个字符。字符变量用来存放字符,且只能存放一个字符。 定义方法:定义方法: char c1, c2; unsigned char c3, c4; 字符型变量的赋值方法:字符型变量的赋值方法: c1=a;
25、 c2=101; c3=0 xff; c4=377;25525565AC C 程序设计程序设计233.5 3.5 字符型数据三、字符数据的存储三、字符数据的存储1、将一个字符常量存放到、将一个字符常量存放到一个字符变量中,是将该一个字符变量中,是将该字符的相应的字符的相应的ASCII代码代码存放到存储单元中。存放到存储单元中。 内存中,内存中,c1、c2存放形式:存放形式:例例3.6 3.6 字符的存储与输出字符的存储与输出include void main( ) char c1, c2; c1=a; c2=b; printf(“%c %cn”, c1,c2); c1=97; c2=98; p
26、rintf(“%c %cn”, c1, c2);a ba b97011000019801100010c1c2C C 程序设计程序设计24注意:注意:Turbo CTurbo C把字符处理成把字符处理成 带符号的整数带符号的整数3.5 3.5 字符型数据三、字符数据的存储三、字符数据的存储2、字符数据与整型数据可以、字符数据与整型数据可以 相互赋值相互赋值3、字符数据可以以字符形式、字符数据可以以字符形式 输出,输出, 也可以用整型数也可以用整型数 形式形式 输出输出字符字符a的存储形式:的存储形式:八进制数八进制数376(十进制为十进制为254) ASCII码字符为:码字符为:void mai
27、n( ) int i; char c; i=a; c=97; printf(“%c,%dn”,i,i); printf(“%c,%dn”,c,c);等同于:等同于:i=97;c=a0 1 10 00 011 1 11 11 10void main( )char c;c=376;printf(“%c, %dn”,c,c);unsigned char c; -2 254C C 程序设计程序设计253.5 3.5 字符型数据四、字符串常量四、字符串常量1、字符串常量:用一对双引号括起来的字符序列、字符串常量:用一对双引号括起来的字符序列如:如:“hello”, “1999”, “a”2、字符串结束标
28、记、字符串结束标记0每个字符串常量结尾都有一个字符每个字符串常量结尾都有一个字符0(一般情况是一般情况是由系统自动加上由系统自动加上)。如:如:“XIDIAN” 在内存中为:在内存中为:a为一个字符,为一个字符,“a”为两个字符为两个字符 a “a”XIDIA N 0aa0C C 程序设计程序设计263.6 3.6 变量赋初值变量赋初值在定义变量的同时设置初值,亦称在定义变量的同时设置初值,亦称初始化初始化。 如:如:int a=3; float f=3.56; char c=a; int a, b, c=5; int x=1, y=1, z=1;int x=y=z=1;相当于:相当于:int
29、 a, b, c;c=5;C C 程序设计程序设计273.7 3.7 各类型数据间的混合运算各类型数据间的混合运算 整型整型、实型实型( (包括单、双精度包括单、双精度) )、字符型字符型数据间可以数据间可以混合运算混合运算 如:如:10+10+a a+1.5+8765.1234+1.5+8765.1234* *x x ( (正确正确) ) 在运算时,不同类型的数据要先转换成同一类型,在运算时,不同类型的数据要先转换成同一类型,然后进行运算然后进行运算 转换规则:转换规则: 高高 double float double float long long unsigned unsigned 低低
30、int char,shortint char,shortfloatfloat型数据在运算时一型数据在运算时一律先转换成律先转换成doubledouble型型不同类型进行混合运算时不同类型进行混合运算时间,按照类型级别间,按照类型级别由低到由低到高高的顺序转换的顺序转换字符型和字符型和shortshort在运算时一律转在运算时一律转换成换成intint型型C C 程序设计程序设计283.8 3.8 算术运算符和算术表达式算术运算符和算术表达式一、一、C C的运算符:的运算符:(具体见教材(具体见教材P56P56) 算术运算符算术运算符 赋值运算符赋值运算符 关系运算符关系运算符 逻辑运算符逻辑运
31、算符 位运算符位运算符 条件运算符条件运算符 逗号运算符逗号运算符 指针运算符指针运算符 强制类型转换运算符强制类型转换运算符 分量运算符分量运算符 下标运算符下标运算符 其它其它(注意:教材(注意:教材P378附录附录D的运算符和结合性)的运算符和结合性)C C 程序设计程序设计293.8 3.8 算术运算符和算术表达式算术运算符和算术表达式一、一、C C的运算符:的运算符:(具体见教材(具体见教材P55P55) 算术运算符算术运算符 赋值运算符赋值运算符 关系运算符关系运算符 逻辑运算符逻辑运算符 位运算符位运算符 条件运算符条件运算符 逗号运算符逗号运算符 指针运算符指针运算符 强制类型
32、转换运算符强制类型转换运算符 分量运算符分量运算符 下标运算符下标运算符 其它其它(注意:教材(注意:教材 P365 附录附录III的运算符和的运算符和结合性结合性)同一级别的运算符的运算顺序同一级别的运算符的运算顺序?C C 程序设计程序设计303.8 3.8 算术运算符和算术表达式算术运算符和算术表达式二、算术运算符和算术表达式二、算术运算符和算术表达式 1 1、基本算术运算符、基本算术运算符(1)(1)+ +( (加法运算符,或正值运算符加法运算符,或正值运算符) ) 如:如:3+53+5、+3+3(2)(2)- -( (减法运算符,或减值运算符减法运算符,或减值运算符) ) 如:如:5
33、-35-3、-3-3(3)(3)* *( (乘法运算符乘法运算符) ) 如:如:3 3* *5 5(4)(4)/ /( (除法运算符除法运算符) ) 如:如:5/35/3、(x+y)/(a+b)(x+y)/(a+b)(5)(5)% %( (模运算符,或求余运算符模运算符,或求余运算符) ):两侧均应为两侧均应为整型数据整型数据 如:如:7%47%4值为值为3 3 -7%4, 7%-4,-7%-4 -7%4, 7%-4,-7%-4的值为多少?的值为多少?注意:与数学上的区别注意:与数学上的区别 与与x+y/a+bx+y/a+bx+ya+b优先级优先级两个整数相除,其值为整数。两个整数相除,其值为
34、整数。 如如5/35/3值为值为1 1除数、被除数有一个为负值时,结果除数、被除数有一个为负值时,结果“向零取整向零取整” 。 如如-5/3-5/3值为值为-1-1除数、被除数有一个为实数时,结果为除数、被除数有一个为实数时,结果为doubledouble型。型。非非1.66671.6667 -3 3 -3符号由被除数决定符号由被除数决定C C 程序设计程序设计313.8 3.8 算术运算符和算术表达式算术运算符和算术表达式2 2、算术表达式和运算符的优先级与结合性、算术表达式和运算符的优先级与结合性(1)(1)算术表达式:用运算符和括号将运算对象算术表达式:用运算符和括号将运算对象( (也也
35、叫操作数叫操作数) )连接起来、符合连接起来、符合C C语法规则的式子。语法规则的式子。 运算对象包括常量、变量、函数等运算对象包括常量、变量、函数等 如:如:3.143.14* *r r* *r x+sqrt(0.25r x+sqrt(0.25* *y)/(abs(a+b-3.6)y)/(abs(a+b-3.6)(2)(2)运算符的优先级和结合性运算符的优先级和结合性 优先级:优先级:先先 * * / / 后后 + -+ - 结合型:结合型:左结合性左结合性,即表达式从左向右进行计算,即表达式从左向右进行计算 (详见附录(详见附录D D)C C 程序设计程序设计323.8 3.8 算术运算符
36、和算术表达式算术运算符和算术表达式3 3、强制类型转换、强制类型转换 可以利用强制类型转换运算符将一个表达可以利用强制类型转换运算符将一个表达式转换成所需类型。式转换成所需类型。 形式:形式:( (类型名类型名) )表达式表达式 如:如:(double) a(double) a (int)(x+y) (int)(x+y) (float)(8%5) (float)(8%5) 教材教材P57 P57 例例3.83.8注意:与注意:与(int)x+y(int)x+y不同不同只将只将x x转换成整型,然后与转换成整型,然后与y y相加相加又如:又如: float x; i=x%3;那么输出的那么输出的
37、i的结果是?的结果是?出错!?出错!?原因:要求其两侧均为整型量,所原因:要求其两侧均为整型量,所以应改为以应改为i=i=(int)(int)x x% %y y;(;(运算符优先级运算符优先级?) )C C 程序设计程序设计333.8 3.8 算术运算符和算术表达式算术运算符和算术表达式三、自增、自减运算符三、自增、自减运算符 + + i, - -i 在使用之前,先使用在使用之前,先使用i的值加的值加1或减或减1 i + +, i - - 在使用之后,使在使用之后,使i的值加的值加1或减或减1注意:注意: 自增、自减运算符只能用于自增、自减运算符只能用于变量变量,而不能,而不能用于常量或表达式
38、。如:用于常量或表达式。如:5+、-(a+b) (不合法不合法)相当于相当于i=i+1,i=i+1,但执行的时机不同但执行的时机不同例例: :自增自减运算自增自减运算include “stdio.h”void main( ) int i=0, j; j=i+; printf(“%d %dn”,i, j); i=0; j=+i; printf(“%d %dn”,i, j); 1 01 1C C 程序设计程序设计343.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式一、赋值运算符一、赋值运算符“” 形式:形式:变量表达式变量表达式 作用:将表达式的值赋给变量作用:将表达式的值赋给变量 (
39、 (常量、变量是表达式的特例常量、变量是表达式的特例) ) 如:如:a=5;a=5; ave=(a+b)/10 ave=(a+b)/10二、赋值结果与类型转换二、赋值结果与类型转换1 1、实型数据、实型数据( (包括单、双精度包括单、双精度) )赋给整型变量时,舍弃实赋给整型变量时,舍弃实数的小数部分数的小数部分2 2、整型数据赋给单、双精度变量、整型数据赋给单、双精度变量时,数值不变,但以浮点数形式时,数值不变,但以浮点数形式存储到变量中存储到变量中注意:注意:与数学中的等式不同!与数学中的等式不同! 数学中数学中x=y和和y=x一样。一样。#include “stdio.h”void ma
40、in ( ) int i; float f; i=5.34; f=23 printf(“%d %f n”, i, f);5 23.000000C C 程序设计程序设计353.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式二、赋值结果与类型转换二、赋值结果与类型转换3 3、长度相同的有符号与无符号整型数间,原样赋值、长度相同的有符号与无符号整型数间,原样赋值 (但数值有时会有变化)(但数值有时会有变化)include “stdio.h”void main( ) unsigned a; int b=-1; a=b; printf(“%d%un”, b, a); a=65534u; b=a
41、; printf(“%d%un”, b, a);1 1 11 11 11 11 11 11 111 1 11 11 11 11 11 11 11ab-165535-2655341 1 11 11 11 11 11 11 101 1 11 11 11 11 11 11 10ab内存中的处理方式内存中的处理方式C C 程序设计程序设计363.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式二、赋值结果与类型转换二、赋值结果与类型转换4 4、charchar、intint、longlong等类型的转换等类型的转换 (1)(1)“短短”数据赋给数据赋给“长长”变量变量 符号扩展:若最高位为符号
42、扩展:若最高位为1(1(负数负数) ),则变量高字节位,则变量高字节位补补1 1;反之,补;反之,补0 0。 4343号字符号字符+ + 5353 i i 254 254号字符号字符376376 i i #include void main ( ) char c; int i;c=43; i=c;printf(“i=%dn”,i);c=376; i=c;printf(“i=%dn”,i);00 10 10 110 0 00 00 00 00 10 10 110 0 00 00 00 00 10 10 1111 11 11 101 1 11 11 11 11 11 11 10i=43i=-2C
43、C 程序设计程序设计373.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式二、赋值结果与类型转换二、赋值结果与类型转换4 4、charchar、intint、longlong等类型的转换等类型的转换 (2)(2)“长长”数据赋给数据赋给“短短”变量变量 只将数据的低字节原封不动只将数据的低字节原封不动送到变量中送到变量中( (数据有可能有差错数据有可能有差错) ) L=6324232 L=6324232 a=-32760 a=-32760#include void main( )int i;long L=63242321;i=L;printf(“i=%d, L=%ldn”, i, L);0 0 00 00 00 01 10 00 00 10 00 00 00 00 00 10 001 0 00 00 00 00 00 10 00i=-32760, L=6324232C C 程序设计程序设计383.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式三、复合赋值运算符三、复合赋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丽江古城客栈出租合同范例
- 不锈钢瓶采购合同标准文本
- 公司担保借款合同标准文本
- 新学期目标规划简短6篇
- 企业设备维修合同标准文本
- 肝功能衰竭的健康宣教
- 公司董事会会议通知【2篇】
- 公司购买纸张合同标准文本
- 公司与医院合同标准文本
- 打造音乐活动品牌的突破性战略计划
- 入团积极分子团课我的青春我的团课件
- 辽宁省沈阳市皇姑区2023-2024学年七年级上学期期末英语试卷+
- 列车电子防滑器-电子防滑器原理
- 《教师职业道德与政策法规》考试复习题库(含答案)
- 【简易数字万用表设计10000字(论文)】
- 马后炮化工论坛-Aspen官方中文培训资料
- 游戏:看表情符号猜成语PPT
- 别墅加装电梯井施工方案
- 思想政治素质和品德考核表
- 【初中名著】朱自清《经典常谈》电子书原文
- 全国肿瘤防治宣传周活动方案
评论
0/150
提交评论