C博客作业01--分支、顺序结构

| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业01--分支、顺序结构 |
| 这个作业的目标 | 初步认识C语法,掌握数据表达、printf、scanf语法及分支结构内容 |

0.PTA展示

1.本章知识总结

1.1学习内容总结

上两周学习了顺序结构和分支结构,明白了一些简单的语法懂得了if switch的用法,下面是我觉得一些比较特别注意的点。

*类型为double的变量做整数运算时要乘上1.0,避免想求解的小数答案为整数。

double result;
result=5/2*1.0\\运算乘上1.0

*int的表达范围有限,double会比int大,long long会更大。
*在开始数据需要定义,有的需要赋值。如一些要求总和的值。
*if的条件判断

if(i=1)//这个是对i的赋值不是判断
{
语句
}
if(i>=1)//大于等于i是这样表示
{
语句
}

*if条件执行时就看是0还是!0,如

i=255;
if(!!i)//表示i变成非零,可执行。
{
语句
}

*else对应最近的那个没有else的if

if(条件1)
{
语句
}
else//与上面的if(条件1)对应
{
   if(条件2)
     {
 语句
      }
    else//与if(条件2)对应
     {
 语句
     }
}

*if如果没有花括号,if里的语句就看分号结束

if(条件)
运算1;//满足if才有这个运算1
运算2;

*if的使用最好不要嵌套太多,容易出错。用if elseif最好,效率比只有if高

if()
if()
if()
//上面的这种方式就没有下面的快
if()
else if()//这个要有条件
else

*用数学函数的时候要在前面加上

#include<stdio.h>
pow(i,2)//i的二次方
sqrt(i)//对2开平方

1.2编程技巧总结

*%与/特别好用,像在对输入的数据的取个位数或取其他位数

digit=num%10;//取个位
ten=num/10%10;//取十位

*判断整数也可以用%

temp=num%2;
if(temp==0)//表示是否能被2整除
{
printf("yes");//可以整除就输出yes
}
else
{
printf("no");//不能就输出no
}

*有的时候可以利用赋值和if来使输出自己想要的数据,如:

flag=1;
if(fiag=0)
printf("A");//当我想要的数据在某种情况下输出,就可以这样用

1.3本章学习体会

题目只要搞清楚逻辑,大部分写得出来。有时没对就是有一些小问题。每当pta的题目通过时都会有一点自豪感,很快乐。有时候我觉得我的逻辑还是有问题,写不出题目。
尤其到了循环,感到了困难。
老师给的建议都是有用的,像把变量名表示清楚,不要用a,b,c或拼音表示。
在适当的地方做好注释,提高代码的可读性,

2.pta实验作业

2.1前天是哪天

2.1.1数据处理

我用了设了三个变量来放置年月日,都是用的整型。
因为我那时候没有scanf中处理-号,所以我后面的月份与日子都是负的,给我的关系思考带来了一定的麻烦。

2.1.2代码截图

2.1.3PTA提交列表及说明

Q1:前面写着写着忘记后面这个情况要把年减一
A1:在我运用单步调试下,监视着年月日,最后发现了问题所在,成功更改。
Q2:我写后面的前面月份是小月的时候直接复制了大月的忘记更改日期了
A2:又是在vs上面调试,发现自己的错误。

2.2 计算油费

2.2.1数据处理

此题中有一个是要字符型
我们先把数字型的用int,double定义,字符型的用char定义。
像这样

2.2.2代码截图

2.2.3PTA题目提交截图

2.3vs调试 昨天是哪天

我按F9设置断点,断点一般设置在scanf后面。
然后运行

输入数据

然后看看下面丢数据的监视

随着一步步的调试,就可以知道错误在哪里

2.3.1代码截图

2.3.2

  • 在开始的时候不会调试,怎么改都不对,在上网查阅了方法后,运用调试发现了问题。
posted @ 2020-11-08 21:25  兴亡  阅读(134)  评论(0编辑  收藏  举报