顺序、分支结构

| 这个作业属于哪个班级 | 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题目集中,通过在老师的视频平台和学长的交流中,运用一个我的测试程序,尝试并且理解最后熟练运用单步调试,解决问题。

posted @ 2020-11-08 22:58  云中霓裳  阅读(147)  评论(0编辑  收藏  举报