C语言I博客作业06
| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11557 |
| 我在这个课程的目标是 | 熟练掌握c语言 |
| 这个作业在那个具体方面帮助我实现目标 | 代码互评深入了解代码,思维导图建立体系等等 |
| 参考文献 | 《C语言程序设计》,《计算机导论》,《C Primer Plus》 |
| 1.PTA实验作业 |

| 1.1 题目名1 |

| 1.1.1数据处理 |
数据表达:运用了变量y,m,d,day;其中y,m,d的值通过scanf函数输入值获得,day的值通过初始化赋值得到;y,m,d,day全为整形变量。
数据处理:运用的表达式有days+=a[i];days+=d;流程结构有for循环结构。
| 1.1.2实验代码截图 |

| 1.1.3 造测试数据 |
| 测试数据 | 测试结果 | 说明 |
|---|---|---|
| 2009/03/02 | 61 | 非闰年跨2月 |
| 2000/03/02 | 62 | 被400整除的闰年跨2月 |
| 1985/10/01 | 274 | 非闰年跨9月 |
| 1.1.4 PTA提交列表及说明 |

| 提交列表说明: |
编译错误2:for循环多语句结构中漏了{};
编译错误3:变量i未进行初始化赋值;
编译错误4:print语句中的""使用了中文输入法输入;
编译错误5:尝试用retrun void; 代替retrun 0;证明在这里是不可行的。
| 1.2 题目2 |

| 1.2.1 数据处理 |
数据表达:使用了变量A,通过scanf函数得到初值,A为整形变量;
数据处理:结构有if分支结构。
| 1.2.2 实验代码截图 |

| 1.2.3 造测试数据 |
| 测试数据 | 测试结果 | 说明 |
|---|---|---|
| 18 | 3 | 是3的倍数而不是5的倍数 |
| 20 | 2 | 是5的倍数而不是3的倍数 |
| 15 | 0 | 既是3的倍数也是5的倍数 |
| 22 | 7 | 既不是3的倍数也不是5的倍数 |
| 0 | 非正整数 |
| 1.2.4 PTA提交列表及说明 |

| 提交列表说明: |
第一次部分正确:漏掉了不是3也不是5倍数的情况;
第二次部分正确:错误将不是3也不是5倍数的写成 既是3也是5的倍数情况。
| 2.代码互评 |
| 同学代码截图 |

同学2的代码:

| 自己代码截图 |

1:同学1和同学2的代码对于非正整数的情况直接不做情况分析,而自己对其进行了return 0处理;
2:同学2代码中将A%3,A%5,A%15分别用变量a,b,c;且对于A%3!=0类似语句用!A%3==0表示;该同学没有局限于一般格式,做法较新颖,开阔了我的眼界;
| 3.学习总结 |
| 3.1 学习进度条 |
|周/日期 |这周所花的时间 |代码行 |学到的知识 |
| ---- | ---- | ---- | ---- | ---- |
|第一周 | 16h | 250 | 初步了解如何编程 |
|第二周 | 19h | 269 | 了解了整形,浮点型变量 |
|第三周 | 29h | 320 | if ,else结构 |
|第四周 | 20h | 290 | for循环结构 |
|第五周 | 21h | 280 | 函数调用,逻辑运算符,多分枝结构 |
|第六周 | 22h | 290 | switch函数,更深入了解了if结构|
| 3.2 累积代码行和博客字数 |

| 3.3 学习内容总结和感悟 |
| 3.3.1 学习内容总结 |

| 3.3.2 学习体会 |
2,switch函数和if函数效率问题中:当分支较多时,当时用switch的效率是很高的。switch确定了选择值之后直接跳转到那个特定的分支,但是if else是查找可能值,知道找到符合条件的分支。此时,switch的效率确实比if else要高的多;switch只能处理case为常量的情况,switch只能是在常量选择分支时比if else效率高,但是if else能应用于更多的场合,if else比较灵活;switch占用较多的代码空间,因为它要生成跳表,特别是当case常量分布范围很大但实际有效值又比较少的情况,switch的空间利用率将变得很低。
3,在创建数组时,必须定义数组的类型和大小并且进行初始化,数组的大小不能为0,数组中的元素类型都是相同的;
4,使用string函数是需要调用strlen库函数,string函数用来得到字符串的长度,sizeof用来得到字节的长度;
5,scanf函数在读取用户输入时,当遇到第一个空白,如空格,制表符或换行符时就不会再继续进行后面读取输入。

浙公网安备 33010602011771号