- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计语言(第二版)
基本概念类型、运算符与表达式一个对象的类型决定着该对象可取值的集合以及可以对该对象施行的运算。2.2 数据类型与大小1. 在C语言中只有如下几个基本数据类型:char 单字节,可以存放字符集中一个字符。int 整数,一般反映了宿主机上整数的自然大小。Float 单精度浮点数。Double 双精度浮点数。此外,还有一些可用于限定这些基本类型的限定符。2.3 常量1.诸如1234一类的整数常量是int常量。Long常量要以字母l或L结尾。无符号常量以字母u或U结尾,后缀ul或UL用于表示unsigned long常量。(这里的常量其实就是指直接指定的一般数字或是字符字符串什么的)浮点常量必须包含一个小数点或指数(如1e-1)或两者都包含,在没有后缀时类型为double。后缀f与F用于指定float常量,而后缀l或L则用于指定字符常量是一个整数,写成用单引号括住单个字符的形式,如‘x’。字符常量的值是该字符在机器字符集中的数值。常量表达式时其中只涉及到常量的表达式。这种表达式可以在编译时计算而不必推迟到运算时,因而可以用在常量可以出现的任何位置,例如由define定义的宏。字符串常量也叫字符串字面值,是用双引号括住的由0个或多个字符组成的字符序列。从技术绝度看,字符串常量就是字符数组。在内部表示字符串时要用一个空字符’\0’来结尾,故用于存储字符串的物理存储单元数比括在双引号中的字符数多一个。这种表示发意味着,C语言对字符串的长度没有限制,但是程序必须扫描完整个字符串才能决定这个字符串的长度。枚举常量。枚举是常量整数值的列表。不同的枚举中的名字必须各不相同,同一枚举中各个名字的值不要求不同。枚举是使常量值与名字相关联的又一种方便的方法,其相对于#define语句的优势是常量值可以由自己控制。2.4 说明其实就是声明。如果所涉及的变量不是自动变量(就是局部变量),那么只初始化一次,而且从概念上讲应该在程序开始执行之前进行,此时要求初始化符必须为常量表达式。显示初始化的自动变量每当进入其所在的函数或分程序时就进行一次初始化,其初始化符可以是任何表达式。外部变量与静态变量的缺省值为0。未经显式初始化的自动变量的值为未定义值(即垃圾)。2.5 算术运算符2.6 关系运算符与逻辑运算符2.7 类型转换1.当一个运算符的几个运算分量的类型不同时,要根据一些规则把它们转换成某个共同的类型。一般而言,只能把“比较窄的”运算分量自动转换成“比较宽的”运算分量,这样才能不丢失信息。2. char类型就是小整数类型,在算术表达式中可以自由地使用char类型的变量或常量。这就使得在某些字符转换中有了很大的灵活性。但是在将字符转换成整数时有一点微妙。C语言没有指定char类型变量时无符号还是有符号量。当把一个char类型的值转换成int类型的值时,其结果是不是负整数?结果视机器的不同而有所变化,反映了不同机器结构之间的区别。在某些机器上,如果字符的最左一位为1,那么就被转换成负整数。在另一些机器上,采取的是提升的方法,通过在最左边加上0把字符提升为整数,这样的转换结果总是正的。C语言的定义保证了机器的标准可打印字符集中的字符不会是负的,故在表达式中这些字符总是正的。但是,字符变量存储的位模式在某些机器上可能是负的,而在另一些机器上却是正的。为了保证程序的可移植性,如果要在char变量中存储非字符数据,那么最好指定signed或unsigned限定符。3. 当表达式中包含unsigned类型的运算分量时,转换规则要复杂一些。主要问题是,在有符号与无符号值之间的比较运算取决于机器,因为它们取决于各个整数类型的大小。例如,假定int对象占16位,long对象占32位,那么,-1L1U,这是因为int类型的-1U被提升为signed long类型;但是-1L1UL,这是因为-1L被提升为unsinged long类型,因此它是一个比较大的正数。4. 在进行赋值时要进行类型转换,=右边的值要转换成左边变量的类型,后者即赋值表达式结果的类型。不管是否要进行符号扩展,字符值都要转换成整数值。当把较长的整型数转换成较短的整型数或字符时,要把超出的高位部分截掉。5. 由于函数调用的变元是表达式,当把变元传递给函数时也可能引起类型转换。在没有函数原型的情况下,char与short类型转换为int类型,float转换为double型,这就是即使在函数使用char与float类型的变元表达式调用时仍把参数说明成int与float的原因。2.8 加一与减一运算符2.9 按位运算符2.10 赋值运算符与赋值表达式2.11 条件表达式2.12 运算符优先级与表达式求值次序同一行的各个运算符具有相同的优先级,纵向看越往下优先级越低。运算符结合律() [] -从左至右! ~ ++ -- +
您可能关注的文档
最近下载
- 2025年江苏省公务员省考《行测》联考-部分真题(A类).pdf VIP
- 校园消防安全台账范本.docx
- 2024版加油站安全生产管理台账样本.doc VIP
- 精品解析:江苏省南京市玄武外国语学校、科利华中学2022-2023学年八年级下学期期中语文试题(解析版).docx VIP
- PC工法桩专项施工方案 .doc
- foreign language classroom anxiety.pdf VIP
- JT_T 410-2022CN交通运输行政执法标识.pdf
- 标准图集-22TJ310装配式钢筋桁架楼承板系列产品-下册.pdf VIP
- 汽车基础知识在线试题答案2.pdf VIP
- 地质勘查坑探规范.pdf VIP
文档评论(0)