程序设计(C语言)课件2

PPT
  • 阅读 82 次
  • 下载 0 次
  • 页数 46 页
  • 大小 237.688 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
程序设计(C语言)课件2
可在后台配置第一页与第二页中间广告代码
程序设计(C语言)课件2
可在后台配置第二页与第三页中间广告代码
程序设计(C语言)课件2
可在后台配置第三页与第四页中间广告代码
程序设计(C语言)课件2
程序设计(C语言)课件2
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 46
  • 收藏
  • 违规举报
  • © 版权认领
下载文档25.00 元 加入VIP免费下载
文本内容

【文档说明】程序设计(C语言)课件2.ppt,共(46)页,237.688 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44619.html

以下为本文档部分文字说明:

第2章数据与运算2.1常量与变量常量:是在程序运行过程中其值不能发生改变的量。例如256、3.45、'a'等。变量:是在程序运行过程中其值可以发生改变的量。变量在内存中占据一定的存储单元。在该存储单元中存放变量的值。变量的标识通过给变量取名实现

,所以一个变量应该有一个名字。用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符,简单地说,标识符就是一个名字。第2章数据与运算2.1常量与变量C语言规定标识符必须满足以下规则:(1)所有标识符必须由一个字母(a~z,A~Z)或下划线(_)开头。(2)标识符的其

他部分可以用字母、下划线或数字(0~9)组成。(3)大小写字母表示不同意义,即代表不同的标识符。(4)标识符只有前32个字符有效。(5)标识符应当尽量遵循“简洁明了”和“见名知义”的原则。(6)标识符不能使用C语言的关键字。第2章数据与运算2

.1常量与变量所谓关键字就是已被TurboC2.0本身使用、不能作其他用途使用的字。TurboC2.0有以下关键字:TurboC2.0扩展的共11个:asm_cs_ds_es_sscdeclfarnearhugeinterruptpascal由ANSI标准定义的共32个:autodo

ubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiled

oifwhilestatic第2章数据与运算2.1常量与变量C语言规定变量在使用前必须先定义。变量定义的一般形式为:类型说明符变量标识符,变量标识符,„;示例:inta,b,c;floate,f;charx,y;以上int,float,char为类型

说明符,a,b,c,e,f,x,y为变量标识符。第2章数据与运算2.2数据类型数据的组织形式称为数据结构。C语言中的数据结构表现为数据类型。数据类型基本类型构造类型空类型指针类型数组类型结构体类型共用体类型整型字符型

实型单精度枚举类型第2章数据与运算2.2数据类型1.整型变量数据类型类型说明符位(字节数)数的范围基本整型int16(2)-32768~32767-215~(215-1)短整型short16(2)-32768~32767-215~(2

15-1)长整型longint32(4)-2147483648~2147483647-231~(231-1)无符号基本整型unsignedint16(2)0~655350~(216-1)无符号短整型unsignedshort16(2)0~655350~(216-1)无符号长整型unsig

nedlong32(4)0~42949672950~(232-1)2.2.1整型数据第2章数据与运算2.2数据类型整型变量的定义:整型类型说明符变量标识符,变量标识符,„;示例:inta,b,c;/*定义a,b,c为基本整型变量*/longd,e;/*定义

d,e为长整型变量*/unsignedx,y;/*定义x,y为无符号基本整型变量*/在书写变量说明时,应注意以下几点:(1)允许在一个类型说明符后说明多个相同类型的变量。各变量名之间用逗号间隔。类型说明符与变量名之

间至少用一个空格间隔。(2)最后一个变量名之后必须以“;”号结尾。(3)变量说明必须放在变量使用之前,一般放在函数体的开头部分。1.整型变量2.2.1整型数据第2章数据与运算2.2数据类型2.整型常量整型常量即整常数。按不同的进制区分,整型常数有三种表示方法:(1

)十进制数:以非0开始的数,如:254,-10,45600。(2)八进制数:以0开始的数,如:06,0106,057。(3)十六进制数:以0X或0x开始的数,如:0X2A,0XFF,0x58。1.整型变量2.2.1整型数据第2章数据与运算2

.2数据类型(1)一个整常量,如果其值在-32768~+32767范围内,认为它是int型。它可以赋值给int型和1ongint型变量。(2)一个整常量,如果其值超过了上述范围,而在-2147483648~2147483647范围内,则认为它是1ongint

型。可以将它赋值给一个1ongint型变量。(3)如果某一计算机系统的C版本确定的shortint与int型数据在内存中占据的长度相同,则它表示的数据范围与int型相同,因此一个int型的常量也同时是一个shortint型常量,可以赋给int型或shortint

型变量;整型常量的类型:2.整型常量1.整型变量2.2.1整型数据第2章数据与运算2.2数据类型(4)常量中无unsigned型。但一个非负值的整常量可以赋给unsigned型整变量,只要它的范围不超过变量表示的数据范围即可。例如,将50000赋给一个unsignedint型变量是可以的,

而将70000赋给它则是不行的(溢出)。(5)在一个整常量后面加一个字母l或L,则认为是1ongint型常量。整型常量的类型:2.整型常量1.整型变量2.2.1整型数据第2章数据与运算2.2数据类型2.2.2实型数据1.实型变量实型也称

为浮点型,TurboC中实型变量有以下两种类型:(1)单精度浮点型。类型说明符为float,占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。(2)双精度浮点型。类型说明符为double,占8个字节(64位)内存空间,其数值范围为1.7E-308

~1.7E+308,可提供十六位有效数字。说明:浮点数均为有符号浮点数,没有无符号浮点数。第2章数据与运算2.2数据类型2.2.2实型数据1.实型变量实型变量定义:实型类型说明符变量标识符,变量标识符,„;示例:floata,f;/*定义a,f为单精度浮点型变量*/doubleb;/*定义

b为双精度浮点型变量*/第2章数据与运算2.2数据类型2.2.2实型数据1.实型变量2.实型常量实型常量又称实数或浮点数,有两种表示形式:(1)十进制数形式。十进制数形式由数字和小数点组成(注意必须有小数点)。例如:0.123、.

123、123.0、123.、0.0、123.123等都是十进制数形式。(2)指数形式。指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为aEn(a为十进制数,n为十进制整

数),表示值为a×10n,其中,a,n均不可缺省。例:0.123E4表示值为0.123×104-5.123E-4表示值为-5.123×10-4第2章数据与运算2.2数据类型2.2.2实型数据1.实型变量2.实型

常量说明:(1)浮点常数只有一种进制(十进制)。(2)所有实型常量都被默认为double类型。(3)绝对值小于1的浮点数,其小数点前面的零可以省略。(4)TurboC以默认格式输出浮点数时,最多只保留小数点后六位。第2章数据与运算

2.2数据类型2.2.3字符型数据1.字符常量C语言的字符常量是用单引号(即撇号)括起来的一个字符。例如:‘a’、‘x’,‘D’、‘?’、‘$’、‘A’‘4’等都是不同的字符常量。C还允许用一种特殊形式的字符常量,这种特殊形式的字符常量称为转义字符。转义字符以反斜线“\

”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。转义字符主要用来表示那些用一般字符不便于表示的控制代码。第2章数据与运算2.2数据类型2.2.3字符型数据1.字符常量转义字符表示含义\n回车换行\t横向跳到下一制表位置\v竖向跳格\b

退格\r回车\f走纸换页\\反斜线符"\"\'单引号符\a鸣铃\ddd1~3位八进制数所代表的字符\xhh1~2位十六进制数所代表的字符第2章数据与运算2.2数据类型2.2.3字符型数据1.字符常量2.

字符变量字符型变量用来存放字符常量。类型说明符为char。占1个字节(8位)内存空间。字符变量的定义:字符型类型说明符变量标识符,变量标识符,„;示例:chara,b;/*定义a,b为字符型变量*/第2章数

据与运算2.2数据类型2.2.3字符型数据1.字符常量2.字符变量字符值是以ASCII码的形式存放在变量的内存单元中的。例如:如果有chara,b;a='x';b='y';查表可知,x的十进制ASCII码是120,y的

十进制ASCII码是121,所以对字符变量a,b赋予'x'和'y'值,实际上是在a,b两个单元内存放120和121的二进制代码,即:a单元为:b单元为:0111100001111001第2章数据与运算2.2数据类型2.2.3字符型数据1.字符常量2.字符变量由此可见,字符型量也可以

看成是整型量。C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符型量输出。整型量为二字节量,字符型量为单字节量,当整型量按字符型量处理

时,只有低八位字节参与处理。第2章数据与运算2.2数据类型2.2.3字符型数据1.字符常量2.字符变量3.字符串常量C语言的字符串常量是用双引号括起来的一个字符序列。例如“ABcd”、“9”、“a”等都是字符串常量。第2章数据与运算2.2数据类型2.2.3字符型数据1.字符常量2.字符变量3.字

符串常量字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1)字符常量由单引号括起来,字符串常量由双引号括起来。(2)字符常量只能是单个字符,字符串常量则可以含多个字符。(3)可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量赋给一个字符

变量。在C语言中没有相应的字符串变量。(4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符数加1。增加的一个字节中存放字符‘\0’,这是字符串结束的标志。字符常量‘a’和字符串常量“a”虽然看上去都只有一个字符,但在内存中的情况

是不同的:‘a’在内存中占一个字节,可表示为a;“a”在内存中占两个字节,可表示为a\0。第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符运算符作用运算符作用+加-取负-减--减1*乘++增1/除(类型)类型转换%取模第2章数据与运算2.3运算符和表达式2.

3.1算术运算符和算术表达式1.算术运算符2.算术表达式算术表达式是由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式。C语言规定:(1)模运算符%仅用于整型变量或整型常量。(2)一个表达式中如有多个运算符,则按相应运算符的优先级顺序计算

。(3)当运算对象两侧的运算符的优先级别相同时,应按运算符的结合律处理。第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符2.算术表达式运算符优先级(值小的优先级高)结合律+-(减)4从

左向右*/%3-(取负)--++(类型)2从右向左第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符2.算术表达式(4)增1运算符“++”是操作数加1,而减1运算符“--”则是操作数减1。例:x=x+1可写成x++或+

+xx=x-1可写成x--或--x但是,表达式x++与++x是有区别的。表达式x++的值为x的原值(不增加1),而表达式++x的值为x变量增加1后的值。例如:执行m=4;x=m++;后,m=5,x=4。执行m=4;x=++m;后,m=5

,x=5。同理,表达式x--值为x的原值(不减1),而表达式--x值为x原值减1后的值。(5)++和--仅适用于变量,不能用于常量或表达式。第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符2.算术表达式3.

类型转换类型转换有两种方式:自动类型转换和强制类型转换。自动类型转换:运算时不必用户指定,系统自动将不同类型的数据转换成同一类型,然后进行计算。C语言规定不同类型数值转换的规则如下:doublefloat(必转)longUnsignedintchar,short(必转)第2章数

据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式1.算术运算符2.算术表达式3.类型转换强制类型转换:当自动类型转换不能实现目的时,可以用强制类型转换。强制类型转换的一般形式如下:(类型)<表达式>例如:(int)(a+b)是将a+b的结

果强制转换成int型;(float)a/b是将a的结果强制转换成float型后,再进行计算。第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式2.3.2赋值运算符和赋值表达式1.赋值运算符C语言的赋值运算符是“=”,其作用是将赋值运算符右边

表达式的值赋给其左边的变量。2.赋值表达式赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子。赋值表达式的一般形式如下:变量=表达式说明:(1)赋值表达式的值等于计算后赋值运算符左边变量的值。(2)赋值运算符左边必须是变量。注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时

,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。(1)将实型数据(包括单、双精度)赋给整型变量时,舍弃实数的小数部分。例:执行:inta;a=12.345;结果:a=12(2)将整型数据赋给单、双精度变量时,数值不变,但以浮点数形式

存储到变量中。例:执行:floatb;b=12;结果:b=12.00000注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左

边变量的类型。(3)字符型数据赋给整型变量时,由于字符只占一个字节,而整型变量为两个字节,因此将字符数据(8位)放到整型变量低8位中。TurboC系统将字符处理为带符号的量,若字符最高位为0,则整型变量高8位全补0;若字符最高位为1,则高8位全补1。例

:执行:intc;执行:intc;c='a';c='\376';结果:c=97结果:c=-2(4)整型数据赋给字符型变量,只把低8位原封不动送到字符型变量(即截断)。注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值

的类型转换成赋值运算符左边变量的类型。(5)将带符号的整型数据(int型)赋给1ongint型变量时。要进行符号扩展,如果int型数据为正值(符号位为0),则1ongint型变量的高16位补0;如int型变

量为负值(符号位为1),则1ongint型变量的高16位补1,将整型数的16位送到1ong型低16位中,以保持数值不改变。反之,若将一个1ongint型数据赋给一个int型变量,只把低16位原封不动送到整型变量(即截断)。例:执行:inta=12;执行:inta;lo

ngb;longb=65536;b=a;a=b;结果:b=12结果:a=0注意:如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时要进行类型转换,将赋值运算符右边表达式值的类型转换成赋值运算符左边变量的类型。(6)将sig

ned类型数据赋给长度相同的unsigned型变量时,原样照赋(连同符号位);反之,将unsigned类型数据赋给长度相同的signed型变量时,同样原样照赋,再将最高位作为符号位处理。例:执行:unsigneda;执行:inta;intb=-1;unsignedb=65535;a=b;a=b;

结果:a=65535结果:b=-1第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式2.3.2赋值运算符和赋值表达式3.复合赋值运算符C语言允许在赋值运算符“=”之前加上其他运算符,以构成其复合运算符。复合

运算符有:+=、-=、*=、/=、%=。例如:a+=2等价于a=a+2x*=y+5等价于x=x*(y+5)x%=8等价于x=x%8同样:(1)复合赋值表达式的值等于计算后赋值运算符左边变量的值。(2)复合赋值运算符左边必须是变量。赋值运算符的

结合律都是从右向左执行,其优先级低于所有算术运算符。第2章数据与运算2.3运算符和表达式2.3.1算术运算符和算术表达式2.3.2赋值运算符和赋值表达式2.3.3逗号运算符和逗号表达式逗号运算符为“,”。逗号表达式是用逗号运算符把表达式组合成的一个表达式。其一般形式为:表达式1

,表达式2,表达式3,„„,表达式N说明:(1)逗号表达式的执行过程是:依次求表达式1的值、表达式2的值、„„、表达式N的值,整个逗号表达式的值是表达式N的值。(2)逗号运算符是所有运算符中级别最低的。第2章数据与

运算2.3运算符和表达式2.3.1算术运算符和算术表达式2.3.2赋值运算符和赋值表达式2.3.3逗号运算符和逗号表达式例如:main(){intx,y;x=50;y=(x=x-5,x/5);}上面程序执行后y的值为9,因为x的初始值为50,减5后变为45,45除5为9赋给y。第2章数据与运算2

.4本章考点•C语言对用户标识符的规定。•整型变量的定义和整型常量的表示。•实型变量的定义和实型常量的表示。•字符型变量的定义和字符型常量的表示。•算术运算符和算术表达式。•赋值运算符和赋值表达式。•逗号运算符和逗号表达式。•运算

符的优先级和结合律。•混合运算中的类型转换。第2章数据与运算2.5典型试题详解1.以下选项中合法的用户标识符是________。A)longB)_2TestC)3DmaxD)A.dat正确答案:B(知识点:C语言对用户标识符的规定)试题分析

:C语言规定标识符必须由一个字母(a~z,A~Z)或下划线(_)开头,标识符的其他部分可以用字母、下划线或数字(0~9)组成。第2章数据与运算2.5典型试题详解2.以下选项中不属于C语言的类型的是________。A)signedshortin

tB)unsignedlongintC)unsignedintD)longshort正确答案:D(知识点:C语言的基本数据类型)试题分析:C语言的基本类型包括signedshortint、unsignedlongint、unsigned

int、char、float、double等,没有longshort类型。第2章数据与运算2.5典型试题详解3.在16位C编译系统上,若定义longa;,则能给变量a赋值40000的正确语句是____

____。A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;正确答案:D(知识点:算术运算和赋值运算中的类型转换)试题分析:A、B、C选项中参与算术运

算的对象是int类型,其结果应该是int类型,而结果值40000超出int类型范围,发生溢出,运算结果截取40000的低16位,再将其进行符号位扩展,赋给long类型的a,则a中的结果并不是40000。D选项

中参与算术运算的对象是long类型,其结果是long类型,赋给long类型的a,则a中的结果是40000。第2章数据与运算2.5典型试题详解4.以下选项中可以作为C语言中合法整数的是________。A)10110BB)0386C)0xffaD)x2a2正确答案:C(知识点:整型

常量)试题分析:C语言中整数的表示有十进制、八进制、十六进制三种方法。A、D选项应该是十进制表示方法,但A、D选项中出现了非法符号B、x、a;B选项应该是八进制表示方法,但选项中出现了非法符号8;C选项是十六进制表示方法,没有出现非法符号。第2章数据与运算2.5典型试题详解5

.以下程序的输出结果是________。main(){unsignedshorta=65536;intb;printf("%d\n",b=a);}正确答案:0(知识点:赋值运算中的类型转换)试题分析:将unsigned类型数据赋给长度相同的signed型变量时,同样

原样照赋,再将最高位作为符号位处理。第2章数据与运算2.5典型试题详解6.已知大写字母A的ASCII码值为65,小写字母a的ASCII码值为97,则用八进制表示的字符常量‘\101’是________。

A)字符AB)字符aC)字符eD)非法的常量正确答案:A(知识点:字符常量)试题分析:‘\101’是转义字符,表示八进制数据101对应的ASCII码字符,即“A”。第2章数据与运算2.5典型试题详解7.以下选项中,非法的字符常量是________。A)‘\t’B)‘\117’C)“\n”

D)‘\xaa’正确答案:C(知识点:字符常量)试题分析:C语言规定,字符常量是用单引号引起来的一个字符。第2章数据与运算2.5典型试题详解8.以下非法的赋值语句是________。A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j>0;正确答案

:C(知识点:赋值运算)试题分析:++和--仅适用于变量,不能用于常量或表达式。第2章数据与运算2.5典型试题详解9.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是________。

A)1B)2C)2.0D)2.5正确答案:C(知识点:逗号表达式,混合类型运算)试题分析:x=1,y=x+3/2是一个逗号表达式,按顺序先计算x=1,再计算y=x+3/2,整个逗号表达式的值等于表达式y=x+3/2的值。计算y

=x+3/2时,3/2中3和2都是int类型,3/2的结果是int类型值1,与double类型的x相加,结果为double类型的2.0,再赋给double类型的y,所以y和表达式y=x+3/2的值均为double

类型的2.0。第2章数据与运算2.5典型试题详解10.设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是________。printf("%d,%d\n",x--,--y)A)10,3B)9,3C)9,2D)10,2正确答案:D(知识点:减1运

算)试题分析:语句的输出结果是x--、--y两表达式的值。表达式x--的值为x没有减1的值10,表达式--y的值为y减1后的值2。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?