c03_数据类型表达式指针.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c03_数据类型表达式指针

举例: ;程序如下: ;本章主要内容;例如:;C语言的数据类型 ;2.2.1 整型数据 ;计算机中正、负数的表示;问题:计算机计算复杂化;原码、反码和补码;2. 有符号和无符号整型数据;例如:;整型数据的类型及规定;2.2.2 实型数据 ;实型数据的类型及规定 ;2.2.3 字符型数据 ;2.3 常量、变量与标准函数 ;2.3.1 常量 ;1. 整型常量;2. 实型常量 ;3. 字符型常量 ;4. 字符串常量 ;5. 符号常量 ;5. 符号常量;2.3.2 变量 ;2. 变量定义;3. 变量的初始化:;2.5 运算符和表达式;运算符的有关概念;运算符的优先级和结合性;本章涉及的运算符;表达式的有关概念;例如:;算术运算;自增自减运算;例如:;说明:; (1) 自增、自减运算只能用于变量,不能用于常量或表达式。 (2) 自增、自减运算比等价的赋值语句生成的目标代码更高效。 (3) 自增、自减运算常用于循环语句中,使循环控制变量自动加或减1;还可用于指针变量,使指针指向下一个或上一个地址。 (4) 表达式中包含有自增、自减运算时,特别容易出错,务请小心。 ;例如,i=1,(++i)+(++i)+(++i)的值为多少呢?可能计算出是9(=2+3+4),其实这是错误的。实际上计算时先对整个表达式扫描,i 先自增3次,由1→2→3→4,因此计算结果应为12(=4+4+4)。 (i++)+(i++)+(i++)的值又是多少呢?分析同上,应为3,当然表达式计算完成后i的值同样改变为4。 ;#include ″stdio.h″ main( ) { int i, j; i=j=5; printf(″i++=%d, j--=%d\n″, i++, j--); printf(″++i=%d, --j=%d\n″, ++i, --j); printf(″i++=%d, j--=%d\n″, i++, j--); printf(″++i=%d, --j=%d\n″, ++i, --j); printf(″i=%d, j=%d\n″, i, j); } ;main( ) { int a=5; printf(%d %d\n,a,a++ ); };说明(续):;赋值运算;说明:;关系运算;说明:;逻辑运算符;逻辑表达式;逻辑运算规则;逻辑运算规则(续);关系与逻辑运算符的应用;位运算符;位逻辑运算符的运算规则 ;程序如下:;移位运算;条件表达式运算;条件运算符优先级;条件运算符的结合性 ;逗号表达式运算;取地址运算符 ;长度运算符 sizeof;运算中数据类型的转换;赋值运算中的类型转换 ;数据类型的强制转换 ;2.4 指针和指针变量;2.4 指针和指针变量; C 语言还提供了对内存单元的“间接存取”方式; main() { int a,*p=a; float x,*q=x; … }; main() { int a,*p=a; float x,*q=x; *p = 5; printf(a+3=%d\n,*p+3); … };方法1:目标变量值不变,改变指针变量的 指向求解。 main( ) { int a,b,*p1,*p2,*p; p1=a;p2=b; scanf(″%d%d″,p1,p2); if(*p1*p2) { p=p1; p1=p2; p2=p;} printf(″a=%d,b=%d\n″,a,b); printf(″max=%d,min=%d\n″,*p1,*p2); };方法2:利用指针变量直接改变目标变量的值 求解。 main() { int a,b,t,*p1,*p2; p1=a;p2=b; scanf(″%d%d″,p1,p2); if(*p1*p2) { t=*p1; *p1=*p2; *p2=t;} printf(″a=%d,b=%d\n″,a,b); printf(″max=%d,min=%d\n″,*p1,*p2); }

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档