zoukankan      html  css  js  c++  java
  • C语言博客作业02--循环结构

    这个作业属于哪个班级 C语言--网络2011/2012
    这个作业的地址 C博客作业02--循环结构
    这个作业的目标 学习循环结构内容,包括for循环、while循环、循环嵌套.
    姓名 陈宇杭

    0.展示PTA总分

    1.本章学习总结

    1.1 for循环语法

    C语法

    for(表达式1;表达式2;表达式3)                //表达式1:在for循环开始时执行,多用于初始化某一(计数)变量;
    {                                        //表达式2:循环判断条件,若为0跳出循环,非0则继续循环;
               循环体语句;                     //表达式3:执行完循环体后执行表达式3,随后开始新一轮循环;
    }                                        //        表达式3多用于调整计数变量来控制循环次数;
    

    总结:for循环语句多用于循环次数已知或可判断的情况,经常与数组进行配合使用;

    1.2 while、do while循环语法

    • while语句语法
    while(表达式)               //表达式为**循环判断条件**,若为0跳出循环,非0则继续循环;
    {                           //亦可以以英文形式来进行记忆,即**当(while)表达式满足时,进入并执行循环体**;
          循环体语句;
    }
    
    • do while语句语法
    do                          //在do while语法下,C语言会**先进入循环体执行一轮循环,再进行条件判断**;
    {
          循环体语句;
    }while(表达式);             //表达式作用同上; !注意不要忘记结尾分号!
    
    **总结**:`while`与`do while`语句适合在**不清楚具体循环次数**时使用;同时两者使用时也有轻微区别,总之具体问题具体分析;
    

    1.3 跳出循环相关语句breakcontinue

    • break语句语法
    do
    {
          语句1;            //进入循环并执行语句1;
          break;            //遇break语句,提前结束循环并跳出循环体;
          语句2;            //语句2和语句3因循环提前结束而未执行;
          语句3;
    }while(表达式);         //再次提醒不要忘记分号;
    
    • continue语句语法
    do
    {
          语句1;            //进入循环并执行语句1;
          break;            //遇continue语句,跳过接下来所有循环体语句,进入`while`条件判断;
          语句2;            //语句2和语句3因本轮循环跳过而未执行;
          语句3;
    }while(表达式);
    

    总结:

    • break:适用于循环有多个出口时,在一个出口提前跳出循环;同时break也可用于switch语句中跳出case分支;
    • continue:适用于在循环中有多个条件判断,满足某个条件后,使用continue进行下一轮循环;

    1.4 循环嵌套

    循环嵌套基本应用语法

    /*按顺序输出个位数乘积数值矩阵*/
    int i, j;
    for(i = 1; i < 10; i++)                //外层循环;
    {
          for(j = 1; j < 10; j++)          //内层循环;
          {
                printf("	%d",i * j);      //每轮外层循环,都会执行一轮内层循环;
          }
          printf("
    ");                    //不仅仅`for`语句,`while`与`do while`语句同样也能进行循环嵌套;在使用上具体问题具体分析;
    }
    

    总结:循环嵌套需要注意循环逻辑,尽量在编写代码前用伪代码来进行逻辑梳理,以及内层循环结束后是否有变量需要初始化;(嵌套循环非常适合进行printf调试)

    学习体会

    • 循环语句常用于实际中有许多具有规律性的重复操作的问题,程序中就需要重复执行某些语句;循环结构的编写需要厘清逻辑,尽量在编写代码前用伪代码来进行逻辑梳理;

    2.编程技巧总结

    1. 各种数列求和问题
    • 对于储存求和值的Sum变量,需要初始化为0
    • 对与数列的每一项,若是可变量,可以通过函数来计算每一项的值,方便进行条件判断;
    • 活用数列项数取余控制数列每一项为正为负;
    1. 数字型字符如何转数字及字母型字符大小写变换
    • 数字型字符在ASCII码中是顺序排列的,通过这点可以巧妙转换;
      ch = '1'; number = ch - '0'; 可得number == 1;
    • 字母型字符同理;
      ch = 'z'; ch = ch + 'A' - 'a'; 可得ch == 'Z';
    1. 关于清除缓冲区的非法字符
    • 在平时连续读入字符时,容易产生误读,将回车(换行 )作为字符读入,这时可以通过使用getchar()来吞掉回车,使后续字符能被正常读入;
    • 大作业中我们接触到fflush(stdin)语句,它能清空输入缓冲区,通常是为了确保不影响后面的数据读取,例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);
    1. 图形打印
    • 关于图形打印,特别是较为复杂的规律图形,需要对循环嵌套有足够的理解与运用;
    • 可以把控制每一行的空格数量,字符输出数量,以及对称图形的"对称轴"行数单独定义,能更加直观的提升可读性;
    • 如果图形由多个规律图形拼接而成,可以通过函数来封装代码,便于调试;

    3.PTA实验作业

    3.1 数列求和问题

    3.1.1 伪代码介绍思路

    3.1.2 代码截图

    3.1.3 PTA提交列表及说明

    • 挑选了一题简单题来进行说明,关于所遇到的问题都归纳在上方编程技巧总结中;

    3.2 图形打印问题

    3.2.1 数据处理

    3.2.2 代码截图

    3.2.3 PTA提交列表及说明

    • 在最大N中,空格数据处理错误,输出并非菱形;
    • 重新分析后进行修正,可以通过数据列表(printf)进行更加直观的寻找错误;

    3.3 求幂级数展开的部分和

    3.3.1 单步调试截图


    3.3.2 代码截图

    3.3.3 PTA提交列表及说明

    • 对于连续变化的数据,不容易推敲出错误的点,需要借助printf()函数输出值来辅助分析;
    • 注意数据类型,不同数据类型所储存数值上限不同;
  • 相关阅读:
    Crumpet – 使用很简单的响应式前端开发框架
    太赞了!超炫的页面切换动画效果【附源码下载】
    你见过动物是怎么笑的吗?赶紧来看看【组图】
    Treed – 基于拖放 操作的,强大的树形编辑器
    Perfect Scrollbar – 完美的 jQuery 滚动条插件
    Jeet – 先进,直观,灵活的 CSS 网格系统
    舌尖上的设计!10个美味的餐馆和食品网站
    推荐15款最好的 Twitter Bootstrap 开发工具
    Web 前端开发人员和设计师必读精华文章【系列二十五】
    Seen.js – 使用 SVG 或者 Canvas 渲染 3D 场景
  • 原文地址:https://www.cnblogs.com/YasakaKiyokaze/p/14020060.html
Copyright © 2011-2022 走看看