- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch07一基本类型
程序:确定消息的长度 程序length.c显示用户输入消息的长度: Enter a message: Brevity is the soul of wit. Your message was 27 character(s) long. 消息的长度包括空格和标点符号,但是不包含消息结尾处的换行符。 我们即可以采用scanf函数也可以采用getchar函数读取字符,但大多数C程序员愿意采用getchar函数。 length2.c 是更短的程序去掉了用于存储getchar函数读入字符的变量。 * length.c ? /* Determines the length of a message */ ? #include stdio.h ? int main(void) { char ch; int len = 0; ? printf(Enter a message: ); ch = getchar(); while (ch != \n) { len++; ch = getchar(); } printf(Your message was %d character(s) long.\n, len); ? return 0; } * length2.c ? /* Determines the length of a message */ ? #include stdio.h ? int main(void) { int len = 0; ? printf(Enter a message: ); while (getchar() != \n) len++; printf(Your message was %d character(s) long.\n, len); ? return 0; } * 7.4 sizeof运算符 确定存储指定类型值所需空间的大小。 sizeof ( type-name ) 值是无符号整数,表示存储属于类型名的值所需要的字节数。 sizeof(char) 始终为1,但是对其他类型计算出的值可能会有所不同。 在大多数32位机器上,表达式sizeof(int)的值为4。 * 7.4 sizeof运算符 sizeof运算符也可以应用常量、变量和表达式。 如果i和j是整型变量,那么sizeof(i)在32位机器上是4,和表达式sizeof(i + j)的值一样。 与应用于类型时相反,当应用于表达式时sizeof不要求圆括号。 可以用sizeof i 代替sizeof(i)。 由于运算符优先级的问题,圆括号可能还是会需要的。 编译器会把sizeof i + j解释为(sizeof i) + j, 因为sizeof作为一元运算符的优先级高于二元运算符+。 * 7.4 sizeof运算符 显示sizeof的值时要注意,因为sizeof表达式的类型是由实现定义的。 * 7.5 类型转换 为了让计算机执行算术运算,通常要求操作数具有相同大小(即具有相同的位数),并且要求存储的方式也相同。 当不同类型的操作数混合在同一表达式中时,C编译器可能需要生成一些指令将某些操作数转化成不同类型,使得硬件可以对表达式进行计算。 如果对16位int型数和32位long int型数进行加法操作,编译器将把16位int型操作数转化成32位 如果int型数和float型数相加,编译器会将int型数转换为float格式。 * 7.5 类型转换 因为编译器可以自动处理这些转换而无需程序员介入,所以这类转换称为隐式转换。 C语言还允许程序员通过使用强制运算符执行显示转换。 执行隐式转换的规则有些复杂,因为C语言有大量不同的基本数据类型。 * 7.5 类型转换 当发生下列情况时会进行隐式转换: 当算术表达式或逻辑表达式中操作数的类型不相同时。(C语言执行所谓的常用算术转换) 当赋值运算符右侧表达式的类型和左侧变量的类型不匹配时。 当函数调用中使用的参数类型于其对应的参数的类型不匹配时。 当return语句中表达式的类型和函数返回值的类型不匹配时。 第9章将对后边两种情况进行介绍。 * 常用算术转换 常用算术转换多用于二元运算符的操作数上。 如果变量x是float型的,变量i是int型的,常用算术转换将会应用在表达式x + i。 显然把变量i转换成float型(匹配变量x的类型)比把变量x转换成 int型(匹配变量i的类型)更安全。 当一个整数被转换成float类型,可能会发生的最糟糕的事是精度会有少量的损失。 相反,把浮点数转化成int类型,将有小数部分的损失;更糟糕的是,如果原始数大于最大可能的整数或者小于最小的整数,那么将会得到一个完全没有意义的结果。 * 常
您可能关注的文档
最近下载
- 【冲刺实验班】河北衡水中学19中考提前自主招生数学模拟试卷(6(1).docx VIP
- 品酒师考试:白酒品酒师学习资料.docx VIP
- 品酒师考试:葡萄酒品酒师必看题库知识点(强化练习).docx VIP
- 【冲刺实验班】江苏苏州高级中学2021中考提前自主招生数学模拟试.doc VIP
- 品酒师考试:白酒品酒师测试题(强化练习).docx VIP
- 品酒师考试:品酒师考试测试题(强化练习).docx VIP
- 【冲刺实验班】广东深圳高级中学2019中考提前自主招生数学模拟试.docx VIP
- 品酒师考试葡萄酒品酒师.doc VIP
- 【冲刺实验班】广东执信中学19中考提前自主招生数学模拟试卷(1.doc VIP
- 汉字与中华传统文化 (14).pdf
文档评论(0)