[C和指针] ch04. 语句

第四章:语句

Github 链接:ch04. 语句

第四章貌似没有作者给出的源码。

本章总结及注意点

在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YFzGwRBT-1609061315463)(https://raw.githubusercontent.com/Y-puyu/picture/main/images/20201217135554.png)]


部分课后习题解答

4.13 问题

  1. 合法。可以正确执行,但是对程序不造成任何影响。这些操作符均不具有副作用,计算结果没有赋给任何变量。

  2. 事实上 C 没有 赋值语句。赋值是用赋值运算符表达式语句完成的。如 a = b + c;

  3. 合法。确实没这样用过。代码块中定义局部变量,可将这些变量的访问及生存周期限制在本代码块中。想来也是一个很不错的操作!

  4. 使用空语句。或者修改代码逻辑,见 demo01.c

  5. 输出 0~9 之间的整数。

  6. 在没有初始化或者调整表达式的时候,即 for 循环的第一部分、第三部分。此时,相较于 for 循环来讲,while 更加方便。

  7. 忘记加 { },中间字符不打印,只会打印 EOF 和校验和。然而 EOF 这个字符是无效的。

  8. 当循环体必须执行一次的时候。

  9. 不存在 break 语句,即为:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XNEToAaZ-1609061315466)(https://raw.githubusercontent.com/Y-puyu/img/main/images/20201215172615.png?token=AK7TQWSL5VWCQDFIXOCPX6273CAXM)]

  10. demo02.c

  11. 简单的 if-else 语句。见 demo03.c

  12. 这里采用了简写的方式,一句写完了。见 demo04.c

  13. 简单的 switch-case 语句。见 demo05.c

  14. while 循环的使用,见 demo06.c

  15. do-while 循环的使用,同见 demo06.c

  16. 简单的 if-else 语句嵌套,见 demo07.c

4.14 编程练习

  1. double 接收输入。浮点数判等比较方法。见 demo08.c

  2. 简单的试除法求质数。注意在表达式运算中模数和除数都不能为 0。见 demo09.c

  3. double 三个变量接收输入。降序排序,比较即可。见 demo10.c

  4. 这个代码还是好实现的。但是也产生了一个问题。当我 char a[10] = "0123456789" 的时候,我的 a 数组元素被刚好占满,那么最后的 \0 就无处放置。此时恰好 b 数组续到了 a 数组的后面,导致也文件中的错误打印。也是一个经典错误了!所以,一定需要给 \0 留上空间。见 demo11.c

  5. 挺不错的一道题。gets 接收整行输入字符串,strcmp 比较两字符串相等,strcpy 进行字符串拷贝更新。尤其需要注意判断 flag 排除掉后续重复字符串仍继续打印的错误情况。见 demo12.c

  6. 经典的实现 substr。因为这个代码简短,且考查的细节也是蛮多的。例如合法性的判断,dst 数组末尾补上 \0,都是很细节的知识点。面试常考。demo13.c

  7. 三星题。实现这个过程是简单的。很经典的双指针应用。但是我貌似没有考虑到特殊的转义字符,只考虑到了样例中包括字符和空格的情况。即制表符、换行符等等特殊字符都没考虑。不过这个确实也只需要加一个特殊的判断而已。基本功能拿双指针简单的实现了。见 demo14.c

随笔

本章节比较简单。只是一些语句的简单介绍而已。没啥好记录的,只有多写代码、勤加练习才能数量掌握这些语句的使用。

课后的几个编程很出色啊。这只不过是第 4 章,都已经有了一些味道了。

疑问

没啥疑问,很基础的讲解。编程题最后一道,考虑的过于片面,忽略了很多转义字符情况,需要注意。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ypuyu

如果帮助到你,可以请作者喝水~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值