顺序、分支结构
| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业01--顺序分支结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容 |
0、展示我的PTA总分
1、本章学习总结
1.1学习内容总结
本章中,我彻底的明白了switch结构的特点用法,尤其是对于break在每个case语句后是否加入所产生的不同情况。
彻底明白了不同定义的区别(如下表)。
数据分析 | 占用内存(字节) | 输入 | 输出 |
---|---|---|---|
int | 4 | %d | %d |
float | 4 | %f | %f |
double | 8 | %lf | %f |
char | 1 | %c | %c |
if 语句的具体三种类型
if (条件语句)
{
结果1;
}
else if (条件语句)
{
结果2;
}
else if (条件语句)
{
结果...;
}
else
{
结果n;
}
if (条件语句)
{
结果1;
}
if (条件语句)
{
结果2;
}
if(条件语句)
{
结果...;
}
else
{
结果n;
}
(注:这里可以不加else)
if(条件语句)
{
结果;
}
else
{
结果;
}
switch语句
switch(控制表达式)
{
case 1:
结果2;
break;
...
case n:
结果n;
break;
default:
结果n+1;
}
(注:在case语句执行中,不到break,那么就会执行下一个case语句,直到break为止;也就是说,我们可以根据我们的个人需要来决定是否在某个case语句后加上break来终止它。)
字符
字符输入用getchar()
()中无参数;输出用putchar()
()中要含有参数。两者都每次只能输入输出一个字符
1.2编程技巧总结
- 认真审题,仔细看清楚题目需要我们定义的变量类型。
- 在int定义之中,/表示整除的效果,对于不满足某些数值因素向前取值时尤其好用(比如算出租车计价这个问题中‘不足五分钟不收费’)。
- 当代码量比较大或者代码的逻辑比较复杂,我们可以使用单步调试来检验代码可能出现的一些列问题。
- ...
出租车计价代码截图展示
1.3本章学习体会
- 对于我来说由于个人比较喜欢聊天,暑假就加入了新生群和自愿学习群,开始了C语言的一定量学习,对于老师上课讲的内容不会感到陌生,并且二次巩固后对于代码的理解更深了。
- 同时也非常感谢在学习中助教的帮助(尤其林助教),给了我很多快捷的结局办法。
- 这两周的代码量大大小小大概70-90道。
PTA实验作业
2.1前天是哪一天
2.1.1
- 数据表达:定义了当前的年,月,日变量。由于错误的思维之后直接表达前天的定义。了解完错误之后,更改之后的所求天数利用下划线定义了过去的年,月,日变量。
- 错误部分截图展示
- 数据处理:利用大月31天,小月30天,闰年判断该方式,对日期进行对应公式相加减。
- 代码优化:通过林助教的帮助,将自己长达97行的代码进行了缩减,得到了更加简洁的代码,缩减到了47行。
2.1.2代码截图
在助教的讲解后最终实现的最简代码展示
2.1.3 PTA提交列表及说明
Q:遇到这些问题之后的感觉?
A:由于欠考虑部分条件,导致代码出现了错误。
Q:解决方式和优化项目?
A:将未考虑的情况加入,完成了代码,但是代码量过大,在助教帮助下,优化了代码量。
2.2自选一题,内容要和字符型数据处理有关的题目
选择:最佳情侣身高差
2.2.1 数据处理
定义:用int定义行数,用double定义有小数点需求的身高,用char定义需要区分的性别符号。
2.2.2 代码截图
2.2.3 PTA提交列表及说明
Q:第一次尝试后就一直显示部分正确,连续几次之后的心态。
A:非常绝望的感受,并且更改之后,正确的部分反而少了,但是由于懂得部分正确就是快要成功,就咬牙坚持了下去
Q:最后发现的问题在哪里。
A:问题发现在了数据输入的换行问题,在第二行输入的数据中加上空格即可解决该问题。
2.3自选一题,介绍单步调试如何检查错误
比较大小单步调试
2.3.1 单步调试截图
2.3.2 代码截图
2.3.3 PTA提交列表及说明
这是自己当时在额外训练巩固时候的测试项目,并由我们班助推荐的学长进行指点,所以没有在具体的PTA题目集中,通过在老师的视频平台和学长的交流中,运用一个我的测试程序,尝试并且理解最后熟练运用单步调试,解决问题。