网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言常见易错题.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二级C 语言常见易错题 1. 数据溢出 int a = 32767; a = a + 1; 此时a 的值为 –32768 2. (-1)(-1) 值为:1 非0 的数,逻辑值均为1 只有数0,逻辑值为0 3. 设a=5, b=6, c=7, d=8, m=2, n=2 执行 (m = a b) ( n = c b) 结果:n 的值为 2 解析:是短路(shortway)运算符,当左边表达式的值为0 时, 不再执行右边的表达式 4. 1 / 2 = 0 1.0 / 2 = 0.5 5. 转义字符 遇到’\’字符应注意转义字符问题,比如’\\’,’\ddd’就是转义字符 常见考法:Q:”a\045+045\b”有几个字节? A:8 个字节(分别是’a’,’\045’,’+’,’0’,’4’,’5’,’ \b’,’\0’) 字符串结束符 如上题,”a\045+045\b”含有最后的字符串结束符’\0’,因而长度为8 个字节 注意:计算字符串长度时,sizeof 会将’\0’计算在内,strlen()则不算 Main() { char b[] = “hello, you”; b[5] = 0; printf( “%s\n”, b); } 运行结果:hello 解析:b[5]=0 ;等价于 b[5] = ‘\0’; 6. ++ i , i ++ x = 5; y1 = x++ * x++; y2 = ++x * ++x; 此时y1 的值为25,y2 的值为49 7. printf l 考法1 x = 11, y = 10; printf( “%d, %d”, (x++, y), y++); 输出结果:11,10 解析: 1) printf 函数按参数从右到左顺序进行分析 y++ - x++ - y | | 10,后y 变11 11 2) 分析结束,输出顺序是从左到右;即:11, 10 l 考法2 printf( “%4s”, “abc”); // 输出结果 (空格)abc printf( “%-4s”, “abc”); // 输出结果 abc(空格) printf( “%4s”, “abcde”); // 输出结果 abcde printf( “%9.3f”, 12.3456); // 输出结果 1.234e+01 8. scanf scanf( “%7.2f”, a); // 错,不能规定精度 scanf( “%3d”, a); // 正确 scanf( “%d:%d”, a, b); // 输入格式:(整数)整数) 例 12:34 scanf( “%3c”, ch); // 正确。但是ch 只取输入字符中的第一个字符 // 例:输入abc,则ch 值为’a’ 9. 注意switch 中的break 10. while (a = 1) { … } // 注意这里是赋值号 11. for( x = 0, y = 3, i = 0; (y 3)(x 4); x++, y++ ) i++; 运行结果 i = 0 解析:for 循环运行过程 表达式1-表达式2- 循环体-表达式3 12. 数组 int a[10] = {0, 1, 2, 3} // 正确。前四个元素赋值,后6 个元素全为0 int a[2][2] = {1,2,3,4} // 正确 int a[ ][2] = {1,2,3,4} // 正确。第一维可以省略 int a[2][ ] = {1,2,3,4} // 错误。非第一维不能省略 13. 预处理 定义宏:#define s(x) x*x 表达式 s(a+b) 宏展开为: a + b*a + b 定义宏:#define s(x) (x)*(x) 表达式 s(a+b) 宏展开为: (a + b)*(a + b) 14. 指针 l 若定义: int a[10], *p; p = a; 则: a + i

文档评论(0)

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

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

1亿VIP精品文档

相关文档