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()函数输出值来辅助分析;
    • 注意数据类型,不同数据类型所储存数值上限不同;
  • 相关阅读:
    PHP调用WCF提供的方法
    关于git报 warning: LF will be replaced by CRLF in README.md.的警告的解决办法
    vue中引入mui报Uncaught TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them的错误
    微信小程序报Cannot read property 'setData' of undefined的错误
    Vue那些事儿之用visual stuido code编写vue报的错误Elements in iteration expect to have 'v-bind:key' directives.
    关于xampp中无法启动mysql,Attempting to start MySQL service...的解决办法!!
    PHP的环境搭建
    新手PHP连接MySQL数据库出问题(Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES))
    手机号码、获得当前时间,下拉框,填写限制
    团队作业(五):冲刺总结
  • 原文地址:https://www.cnblogs.com/YasakaKiyokaze/p/14020060.html
Copyright © 2011-2022 走看看