zoukankan      html  css  js  c++  java
  • 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提交列表及说明!


    要时刻注意整除和取余。

  • 相关阅读:
    [LeetCode]2. Add Two Numbers链表相加
    Integration between Dynamics 365 and Dynamics 365 Finance and Operation
    向视图列添加自定义图标和提示信息 -- PowerApps / Dynamics365
    Update the Power Apps portals solution
    Migrate portal configuration
    Use variable to setup related components visible
    Loyalty management on Retail of Dynamic 365
    Modern Fluent UI controls in Power Apps
    Change screen size and orientation of a canvas app in Power App
    Communication Plan for Power Platform
  • 原文地址:https://www.cnblogs.com/keepgoingccc/p/13930037.html
Copyright © 2011-2022 走看看