• C语言博客作业01分支、顺序结构


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

    0.展示PTA总分

    1.本章学习总结

    1.1 学习内容总结

    1.1.1两大结构(具体模板上一次博客已列举)

    分支结构:

    简单的if结构
    if-else级联结构(多分支出口)
    if-else嵌套结构(单分支出口)
    switch-case分支(case语句后面跟上常量,使用break跳出分支,多个case可同时一个break跳出)
    

    循环结构

    for循环(适用于有具体循环次数)
    while循环(需包含跳出循环的内容)
    do-while循环(保证执行一次循环,while语句后要使用分号)
    

    1.1.2 字符型数据理解

     char x  ;  //字符变量的定义
     getchar() ;  //用于读取一个字符
     putchar() ;  //用于输出一个字符
     scanf("%c",&x) ; //对于字符的读取输出使用%c
     printf("%c",x) ; //对于字符输出同样使用%c
    

    | 字符 | 含义 |
    | ---- | ---- | ---- |
    | \n | 换行 |
    | \r | 回车 |
    | \ \ | 反斜线 |
    | \ " | 双引号 |
    | \ ' | 单引号 |
    | \? | 问号 |

    1.1.3 几大新学的函数与和头文件(放在随机种子中说明)

    | 函数类别 | 使用方法 |
    | ---- | ---- | ---- |
    | 幂函数pow | pow(x,n) |
    | 绝对值fabs | fabs(x) |
    | 平方根sqrt | sqrt(x) |
    注:fabs用于求取浮点数的绝对值,abs函数用于求取int类型的绝对值。

    1.2 编程技巧总结

    1.2.1 取某数(a)的某位数的做法

    规律总结:个位数通过对10取余(%d)即可。
    /10可以消除尾数(最后一位数)。
    求取高位数有多种思路。
    最高位数:原数/(10的n-1次方)
    以1668(四位数为例)
    对于百位(n),
    n=1668%1000/100;
    n=1668/100%10;

    1.2.2 随机数种子的使用(用于产生随机数)

       #include <stdio.h>
       #include <stdlib.h>  // C语言标准库函数调用
       #include <time.h>    // 时间函数原型库文件调用
       int main()
       {
       int num;           
       srand( time(0)  );
       num=rand()%100 ;//%d 可表示调整生成随机数的范围
       printf("%d",num);
       return 0 ;
       }
    

    1.3 本章学习体会

    疑难:对于for循环的龟兔赛跑问题,理解不是很透彻。
    在考虑具体问题时,纠结使用哪一类循环结构去更方便的解决。
    代码:这两周每天的平均代码量2题,但是时间分配不均,存在一天刷一个题库,几天不刷题的情况。
    这个问题应当注意,每天刷题保持状态,避免以懒惰为借口而不刷题。

    2.PTA实验作业

    2.1 前天是哪天

     //个人认为这是一道很经典的题目,可以认真仔细研究,对于顺序结构的理解有重要意义。
     //林学长提供的思路非常有启发作用,switch-case的逆向理解十分新奇。
    

    题目截图

    2.1.1 数据处理

    数据表达:整形变量yea,mon,day。
    数据处理:使用分支结构if语句判断,是否为闰年,是否为2月,大小月判断。

    2.1.2 代码截图

    2.1.3 PTA提交列表及说明

    看起来是一次过,实际上是在vs上跑了很久,考虑了先判断月份是分开判断,还是用一个语句(大小月来分开判断),感谢伟神的思路帮助。
    这里的思路是先考虑 是否跨月,然后 是否出现跨年,接着再 思考2月闰年继续思考),并行 思考大月和小月的情况。

    2.2 自选一题,字符型数据处理题

    题目如图所示

    2.2.1 数据处理

    数据表达:用于计数的letter,blank,digit,other。字符变量char。
    数据处理:for循环对字符输入进行依次输入,if多分支语句进行不同类别的累加。

    2.2.2 代码截图

    2.2.3 PTA提交列表及说明


    这个思路比较清晰,注意getchar读入循环进入的字符,注意怎么用if语句判断为整数,字母。

    2.3 自选一题,介绍单步调试如何检查错误

    题目如图所示

    2.3.1 单步调试截图

    正常输入
    第一次

    使用调试

    发现sum不等于153,b的值错误


    发现是取余和整除混淆

    修改后

    2.3.2 代码截图

    2.3.3 PTA提交列表及说明!


    要时刻注意整除和取余。

  • 相关阅读:
    第九周总结
    第八周总结
    第六周
    中国历史上成功的两个人
    第五周总结
    第四周总结
    关于IT行业的抄袭事件
    第三周总结
    第二周总结
    第九周
  • 原文地址:https://www.cnblogs.com/keepgoingccc/p/13930037.html
Copyright © 2020-2023  润新知