C语言的那些事儿 (循环结构程序设计)

   1.循环语句初认识:在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。循环语句是由循环体及循环的终止条件两部分组成的。
    2.三种循环语句C语言中的三种循环语言while、do……while、for,从语法角度来区别,主要是执行流程,以及循环三要素的区分。循环变量初始值、判断控制表达式、修改循环变量即所谓的循环三要素。一般来说,进入循环之前,应该给循环变量赋初值,确保循环能够正常开始,在控制表达式中判断循环变量是否达到循环的终止值,在循环体中对循环条件变量进行修改,以使循环正常的终止。
    ①while循环循环变量初始值:while循环中的循环初始值,只能在while循环语句前编写。判断控制表达式:循环条件在while关键字之后设置。修改循环变量:在循环体语中设置。
    示例:计算[1,100]的所有整数之和
    #include <stdio.h>
    int main()
    {
    int sum = 0;int start = 1;            //初始化
    while (start <=100)       //条件判断
    {sum += start;++start;          //循环变量增加
    }
    printf("结果:%d\n", sum);
    return 0;
    }
    ②for循环for语句最大的特点将循环三要素都设置在控制结构,这是非常方便的。还是上面的例子。#include <stdio.h
    >int main()
    {
    int sum = 0;
    for (int start = 1; //初始化
    start <=100;    //条件控制
    ++start         //循环变量增加
  )
  {
  sum += start;
  }
  printf("结果:%d\n", sum);
  return 0;
  }
    ③do……while语句do……while语句最大的特点是无论如何循环都会至少执行一次,这是do……while与while和for最大的区别。
    运用嵌套循环解决问题
    百钱买百鸡问题公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
    代码:#include <stdio.h>
    int main( )
    {    int i, j, k;  
     printf("百元买百鸡的问题所有可能的解如下:\n"); 
        for( i=0; i <= 100; i++ )     
          for( j=0; j <= 100; j++ )      
                for( k=0; k <= 100; k++ )    
                        {                if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )        
                                {                    printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n", i, j, k);      
                                 }            
                        }   
    return 0;
    }
    ★拓展提示:水平字符t在控制台输出数据的时候,也就是用printf()的时候,我们经常用\t来控制对齐,以使输出的结果更加整齐美观。
    ◆我遇到的问题求用一张厚度为0.1毫米的纸需要折多少次才能超过珠穆朗玛峰的高度
    代码:
    #include〈stdio.h〉
    int main()
    {   
       float i,h;
       for(i=0,h=0.0001;h<8848;i++)
       h=h*2; 
       printf("%f\n",i−1);
  }
  ①若h=h*2在for后的括号内,则括号后要打分号,否则不用;
  ②要使得结果为整数,则可在printf后的括号中的%与f之间加上0.0;
  ③注意:for语句的括号内一定要有两个分号,并且括号里的式子有顺序规定。

猜你喜欢

转载自blog.csdn.net/qq_43638758/article/details/83867943