C程序设计经典讲座PPT_第1页
C程序设计经典讲座PPT_第2页
C程序设计经典讲座PPT_第3页
C程序设计经典讲座PPT_第4页
C程序设计经典讲座PPT_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计经典讲座PPTC程序设计经典讲座PPTC程序设计经典讲座PPT

第三章数据类型、运算符及表达式C的数据类型常量及变量整型数据实型数据字符型数据变量赋初值各类数值型数据间的混合运算算术运算符和算术表达式赋值运算符和赋值表达式逗号运算符和逗号表达式C程序设计第三章数据类型、运算符及表达式2021/4/1323.1C的数据类型变量要先说明,后使用。变量的定义包括数据类型存储类型作用域C程序设计第三章数据类型、运算符及表达式返回主菜单2021/4/133其值不可以再分解为其它类型,利用这些数据类型还可以生成更复杂的数据结构,如表、栈、队列等根据已定义的一个或多个数据类型用构造的方法来定义其值用来表示某个量在内存储器中的地址其类型说明符为2021/4/1343.2常量及变量常量:其值不能被改变的量称为常量,常量被分为不同的类型直接常量整型常量实型常量字符常量符号常量,用标识符表示

#30C程序设计第三章数据类型、运算符及表达式12、0、-34.6、-1.23‘a’、‘b’例3.1返回主菜单2021/4/135标识符:用来表示变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。字母、数字、下划线。标识符的长度有一定的限制。区分大小写2021/4/136例3-1符号常量的使用#30#<>(){ ; 10; *; (“\n”);}符号常量名一般情况都用大写形式表示,而变量名都用小写形式表示2021/4/137变量:代表内存中具有特定属性的一个存储单元,用来存放数据(不同于符号常量,可以任意赋值)a变量名(标识符)3变量值存储单元返回主菜单区分变量值及变量名用来存放一些初始值、计算的中间结果或最终结果。2021/4/138变量的作用变量的命名规则:知名见意变量的强制定义规则可以使程序中的变量使用不发生错误

在编译时就可对该变量分配内存确定了对这个变量所能进行的操作2021/4/1393.3整型数据整型常量的表示方法十进制整数八进制整数十六进制整数整型变量内存中的存放形式整型变量的分类整型变量的定义整型数据的溢出C程序设计第三章数据类型、运算符及表达式例3.3例3.2返回主菜单2021/4/13100000000000001010例i=10例-1011111111111101102021/4/1311类型说明符数的范围字节数基本型-32768~32767即-215~(215-1)2无符号基本型

0~65535即0~(216-1)2短整量

-32768~32767即-215~(215-1)2无符号短整型

0~65535即0~(216-1)2长整型

-2147483648~2147483647即-231~(231-1)4无符号长整型

0~4294967295即0~(232-1)4整型变量的分类2021/4/1312例3-2整型变量的定义及使用#<>(){ ; u; 122410; ; (“”);}22142021/4/1313例3-3整型数据的溢出#<>(){ ; 32767; 1; (“”);}32767327682021/4/13143.4实型数据实型常量的表示方法十进制数形式指数形式实型变量内存中的存放形式实型变量的分类实型数据的舍入误差C程序设计第三章数据类型、运算符及表达式实型常数不分单、双精度,都按双精度型处理0.0、25.0、5.7892.1E5、3.72例3.4返回主菜单2021/4/1315+.3141591数符小数部分指数实数3.14159在内存中的存放形式:2021/4/1316类型说明符比特数(字节数)有效数字数的范围单精度32(4)6~710-37~1038双精度64(8)15~1610-307~10308长双精度

128(16)18~1910-4931~104932实型变量的分类2021/4/1317型的数据提供7位有效数字型的数据提供15~16位的有效数字2021/4/1318程序清单()

{

x;

7.1234567890;

("%20.18f");

}7.123456954956054690_2021/4/1319程序清单()

{

y;

7.123456789;

("%20.18f");

}7.123456789012345250_2021/4/1320程序清单()

{

x;

y;

123456.789; 123456.789;

("");

}123456.789062,123456.789000_/*只能将123456.7七位有效数字赋值给x*/

/*能将全部数位赋值给y*/2021/4/13213.5字符型数据字符常量字符变量字符数据在内存中的存储形式及使用方法字符串常量C程序设计第三章数据类型、运算符及表达式‘a’、‘b’转义字符定义c12;返回主菜单2021/4/1322C语言中规定有另一类字符常量,它们以\开头,被称作转义字符。我们前面已多次遇到的‘\n’这个符号,它表示换行符号。这些转义字符只有几个很常用,如'\n'、'\t'、'\''、'\\'。

2021/4/1323转义字符及其含义转义字符转义字符的意义代码 \n回车换行10 \t横向跳到下一制表位置9 \b退格8 \r回车13 \f走纸换页12 \\反斜线符"\"92 \'单引号符39\”双引号符34 \a鸣铃7 \1~3位八进制数所代表的字符 \1~2位十六进制数所代表的字符例3.5C语言中还规定有另一类字符常量,它们以\开头,被称作转义字符。2021/4/1324例3.5转义字符的使用#<>{ (“c\t\\\n”); (“h\\b\k\n”);}打印结果:

ch显示结果:fhjk2021/4/1325存放字符的码,而不是字符本身一个字符数据既可以以字符形式输出,也可以以整数形式输出字符数据和整型数据可以相互赋值例3.6例3.72021/4/1326字符数据在内存中的存储形式

码‘x’120‘y’1210111100001111001‘x’‘y’2021/4/1327例3.6程序清单()

{

x12;

x1=972=98;

(","12);

}

输出字符的使用格式2021/4/1328例3.7大小写字母的转换()

{

x12;

x1=‘a'2=‘b';

x11-32;

x22-32;

(""12);

}

允许字符数据及整数直接进行算术运算2021/4/1329i;c;‘a’;97;如果码值为128--255,用%d输出时则显示负数2021/4/1330字符常量及字符串常量的比较形式字符数内存空间字符常量‘’单个一个字节字符串常量“”一个或多个字符串中字节数加12021/4/1331"x"在在内存中的表示为‘x’在在内存中的表示为x\0xC语言中没有专门的字符串变量\0为系统自动加上2021/4/1332一般形式:C程序设计第三章数据类型、运算符及表达式3.6变量赋初值类型说明符变量1=值1,变量2=值2,……;例如:3;可以定义变量的时候同时赋值

5;可以给一部分变量赋值

3.230.75;1='K'2='P';返回主菜单赋值符号变量赋初值就是在定义变量的同时,给变量赋一个值。2021/4/13333.7各类数值型数据间的混合运算自动转换(由系统自动完成)强制类型转换C程序设计第三章数据类型、运算符及表达式一般形式:(类型说明符)(表达式)

例如:(float)a把a转换为实型

(int)(x+y)把x+y的结果转换为整型

返回主菜单字符型数据在内存中是按数值方式存放的。而整型数据和实型数据肯定也是按数值方式存放的。在这种前提下,这三种类型的数据实际上是可以进行混合运算的。2021/4/1334自动转换规则intchar,shortdoublelongunsigned1)若参及运算量的类型不同,则先转换成同一类型,然后进行运算2)转换按数据长度增加的方向进行,以保证精度不降低3)所有的浮点运算都是以双精度进行的4)型和型参与运算时,必须先转换成型5)在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。低高2021/4/13353.8算术运算符和算术表达式C运算符简介算术运算符和算术表达式C程序设计第三章数据类型、运算符及表达式返回主菜单2021/4/1336C运算符的分类算术运算符+-*/%关系运算符><>=<=逻辑运算符!位运算符<<>>~|∧&赋值运算符=及其扩展赋值运算符条件运算符?:逗号运算符,指针运算符*&求字节数运算符强制类型转换运算符(类型)分量运算符.->下标运算符[]其他如函数调用运算符()2021/4/1337算术运算符和算术表达式C程序设计第三章数据类型、运算符及表达式算术表达式运算符的优先级及结合性强制类型转换运算符自增、自减运算符例3.82021/4/1338用算术运算符号和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为算术表达式。运算对象包括常量、变量、函数等。看下面的例子:

3+4.5**4/3

2021/4/1339例3.8强制类型转换()

{

x;

y;

33.3;

()x;

("");

}33.300000,33在进行强制类型转换时,要产生一个临时数据,这个临时数据的类型是指定的类型,而原始数据的类型不会发生变化。2021/4/1340是自增运算符是自减运算符的具体含义是:先使k的值加1,然后再使用k的值。

的具体含义是:先使用k的值,然后再使k的值加1。多用于循环语句中2021/4/1341例子:

1;

; j的值被赋成2 1; ;

j的值被赋成1

2021/4/1342注意:1、自增运算符()和自减运算符()都只能用于变量,而不能用于常量或表达式。因为常量的值是不允许改变的,而表达式的值实际上也是一个常量。

2、、和负号运算符(-)的优先级别是一样的,但比算术运算符的优先级别高。3、、的结合方向是“自右向左”的。如:2021/4/1343运算符的优先级及结合性优先级运算符含义要求运算对象的个数结合方向

自增运算符1(单目运算符)自右至左2

--自减运算符

(类型)类型转换运算符3*乘法运算符2(双目运算符)自左至右/除法运算符%求余运算符4+加法运算符2(双目运算符)自左至右-减法运算符2021/4/13443.9赋值运算符和赋值表达式赋值运算符类型转换复合的赋值运算符赋值表达式C程序设计第三章数据类型、运算符及表达式变量=表达式

、a=8返回主菜单例3.92021/4/1345类型转换规则:1)实型赋予整型,舍去小数部分。2)整型赋予实型,数值不变,但将以浮点形式存放,即增加小数部分(小数部分的值为0)。3)型及型4)字符型赋予整型,由于字符型为一个字节,而整型为二个字节,故将字符的码值放到整型量的低八位中。有两种情况:系统将字符处理为无符号字符类型系统(如)将字符处理为带符号的2021/4/1346总结:按存储单元的存储形式直接传送。5)将一个,,型数据赋给一个型变量时,只将低8位原封不动地送到型变量,即截断。0010000100000001‘!’001000012892021/4/13471111111000000000‘\376’11111110i:2021/4/13481111111011111111‘\376’11111110i:符号扩展:保持数值不变2021/4/1349复合的赋值运算符变量双目运算符=表达式55x*7*(7)

,*,<<=,>>,∧2021/4/1350赋值表达式<变量><赋值运算符><表达式>“表达式”又可以是一个赋值表达式例如:55和(“”);2021/4/1351

我们再来看几个例子:5 /*整个表达式的值为5,的值也为5*/

5+(6) /*整个表达式的值为11,a的值为11,c的值为6*/

(4)+(3) /*整个表达式的值为7,x的值为7y的值为4z的值为3*/

(4)/(3) /*整个表达式的值为整数1(这可是除号的用法),y的值为4z的值为3*/2021/4/13526

*31、3这个式子相当于3,最后得到这个式子的值为2,当前x的值也为2。

2、x*=2这个式子相当于*2,最后得到这个式子的值为4,当前x的值也为4。

3、4这个式子相当于4,最后得到这个式子的值为8,当前x的值也为8

温馨提示

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

评论

0/150

提交评论