zoukankan      html  css  js  c++  java
  • C语言6章循环结构

    7.1.1 什么是重复执行

    重担执行,意味着反反复复地执行一条语句,什么样的语句 呢?两种,一种是完全相同的语句,另一种是结构十分相似的语句 ,总之是一些可以转化成重复执行的操作。

    有for,while,do-while

    无论何种机制,一定满足3个通俗的条件之一或多个,有起点,有终点,有重复执行的语句。

    三种循环都能实现循环,虽然各有千秋,但是功能可以完全相互替代,下面我们通过两个示例来分别比较3种循环的实现方式。

    示例 1 编程获取用户输入的5个整数,然后输出5个整数中最小的整数。

    实现的方法有多种,本小节只比较3种循环实现的方法。无论如何循环的次数最多5次,也就是说本循环的次数是确定的。

    用for循环来实现:

    #include<stdio.h>
    
    int main(int argc,char* argv[])
    {
    int num1,num2;
    scanf("%d",&sum1);
    for (int i=1;i<=4;i++)
    {
      scanf("%d",&num2);
    if (num1>num2)
    num1=num2;      
    
    }
    printf("最小的数是%d",num1);
    return 0;
    }

    while 

    #include<stdio.h>
    main()
    {
      int num1,num2;
    scanf("%d",&num1);
    int i =1;
    while(i<=4)
    {
    
    scanf('%d',&num2);
    if (num1>num2)
    num1=num2;
    i++;
    
    
    
    }
    printf("最小的数是");
    return 0;
    
    
    }

    do-while

    #include <stdio.h>
    
    main()
    {
    
    int num1,num2;
    scanf("%d",&num1);
    int i=1;
    do 
    {
    scanf("&d",&num2);
    if (num1>num2)
    num1=num2;
    i++;
    
    
    }while(i<=4)
    
    printf("最大的数是%d:");
    return 0;
    
    }

    结:

    for 循环和while循环都是先判断,再执行循环体,而do-while是执行循环体再判断。while 与do-while循环的条件表达式只能放循环的终止条件,起始和步进条件分别放在循环的前面与循环的里面。

    示例2 由用户输入 一串字符,编程判断字符串中字符‘a’出现的次数。

    for

    #include<stdio.h>
    
    main()
    {
    
    puts("input an string");
    char c=getchar();
    int coun_numm =0;
    for (;c!='
    ';)
    {
    
    if (c=='a')
    count_num++;
    c=getchar();
    
    
    }
    printf("字母a的数目是:%d",count_num);
    return 0;
    
    
    
    }

    while 

    #include <stdio.h>
    main()
    
    {
    
    puts("inpuit a string");
    char c=getchar)_;
    int count_num=0;
    while(c!='a')
    {
    
    if (c=='a')
    count_num++;
    c=getchar();
    
    
    
    }
    
    printf("字母a的个数是%d",count_num);
    return 0;
    
    
    
    
    }

    do-while

    #include <stdio.h>
    
    main()
    {
    puts("input an string");
    char c;
    int count_num =0;
    
    do 
    {
    c = getchar ();
    if (c=='a')
     count_num++;
    
    
    
    }while(c!='
    ')
    printf("字母a的个数是%d",count_num);
    return 0;
    
    }

    for 的3个表达式可以依据问题的需要任意省略和填充,因此它的书写方式也是最灵活的

  • 相关阅读:
    MySQL-基本sql命令
    Java for LeetCode 203 Remove Linked List Elements
    Java for LeetCode 202 Happy Number
    Java for LeetCode 201 Bitwise AND of Numbers Range
    Java for LeetCode 200 Number of Islands
    Java for LeetCode 199 Binary Tree Right Side View
    Java for LeetCode 198 House Robber
    Java for LeetCode 191 Number of 1 Bits
    Java for LeetCode 190 Reverse Bits
    Java for LeetCode 189 Rotate Array
  • 原文地址:https://www.cnblogs.com/zhengtaodoit/p/4930422.html
Copyright © 2011-2022 走看看