从头学习C语言之for语句和循环嵌套

 更新时间:2022年01月27日 10:27:39   作者:极致猎手  
这篇文章主要为大家详细介绍了C语言之for语句和循环嵌套,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

for语句:

前言:

循环的基本结构离不开三个基本动作:

  • 初始化计数器
  • 循环条件
  • 更新计数器
int count=0;
while(count<10)
{
	printf("fishc!\n);
	count=count+1;

注意事项:

1.C99允许再for语句的表达式1中定义变量(在for循环里定义的变量出了循环就不能用了),

如:for(int i=0;i<100;i++)

2.在编译时要加上-std=c99,

如:gcc -std=c99 text11_2.c && ./a.out

语句形式:

…//其他语句
for(表达式1;表达式2;表达式3)
循环体
…///其他语句

执行顺序:

  • 1.初始化
  • 2.循环条件判断
  • 3.执行循环内容
  • 4.调整条件
  • 5.234循环进行,判断为错则停止循环

三个表达式用分号隔开,其中:

  • 表达式1是循环初始化表达式
  • 表达式2是循环条件表达式
  • 表达式3是循环调整表达式

流程图:

在这里插入图片描述

灵活运用:

  • 表达式1,表达式2和表达式3可以按照需要进行省略(但分号不能省):
  • for(;表达式2;表达式3)
  • for(表达式1;表达式2;)
  • for(表达式1; ; )
  • for(; ; )

示例:

例1:打印十次"孙哥真牛逼"

   #include <stdio.h>
   int main()
   {
     int count;
     for(count=0;count<10;count++)
     {
       printf("孙哥真牛逼!\n");
    }
    return 0;
  }  

例2:判断一个数是否为素数:

  • 素数☞在大于1的自然数中,除了1和此数自身外,无法被其他自然数整除的数。
  • 关于素数的求法有很多,这里我们用比较朴素暴力的方式:迭代测试2到num/2所有整数是否能被整除(num为待测试的整数),如果没有出现能被整除的整数,呢么它就是素数。
 #include<stdio.h>
 int main()
 {
   int i,num;
   _Bool flag=1;
   printf("请输入一个整数来判断是否为素数。");
   scanf("%d",&num);
   for(i=2;i<num/2;i++)
   {
        if(num%i==0)
        {
          flag=0;
        }
     }
     if(flag)
     {
       printf("%d是一个素数!\n",num);
     }
     else 
     {
       printf("%d不是一个素数!\n",num);
     }
    
     return 0;
   }      

循环嵌套:

C 语言允许在一个循环内使用另一个循环。

语句形式:

…//其他语句
for(表达式1;表达式2;表达式3)
{
for(表达式1;表达式2;表达式3)
{
循环体
}
}

流程图:

在这里插入图片描述

示例:

例1:

   #include<stdio.h>
   int main()
   {
     int i,j;
     for(i=0;i<3;i++)
     {
      for(j=0;j<3;j++)
      {
        printf("i=%d,j=%d\n",i,j);
      }
    }
    return 0;
  }              

例2:打印九九乘法表:

   #include<stdio.h>
   int main()
  {
    int i,j;
    for(j=1;j<10;j++)
    {
      for(i=1;i<=j;i++)
      {
        printf("%d*%d=%-2d\t",i,j,i*j);//%-2d:将结果以两位数的形式展现。
      }
    putchar('\n');//用putchar('\n')将光标移到下一行。                                                        
    }
    return 0;
  }

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!     

相关文章

  • C++模板非类型形参的详细讲解

    C++模板非类型形参的详细讲解

    这篇文章主要给大家介绍了关于C++模板非类型形参的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作就有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • 超详细的c语言字符串操作函数教程

    超详细的c语言字符串操作函数教程

    字符串是一种重要的数据类型,有零个或多个字符组成的有限串行,下面这篇文章主要给大家介绍了关于c语言字符串操作函数的相关资料,需要的朋友可以参考下
    2021-10-10
  • VisualStudio 使用Visual Leak Detector检查内存泄漏

    VisualStudio 使用Visual Leak Detector检查内存泄漏

    这篇文章主要介绍了VisualStudio 使用Visual Leak Detector检查内存泄漏的相关资料,需要的朋友可以参考下
    2015-07-07
  • C++实现比特币系统的源码

    C++实现比特币系统的源码

    这篇文章主要介绍了C++实现比特币系统的源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • C++ 成员变量的初始化顺序问题详解

    C++ 成员变量的初始化顺序问题详解

    这篇文章主要介绍了C++ 成员变量的初始化顺序问题详解的相关资料,需要的朋友可以参考下
    2017-02-02
  • C语言运算符及其优先级汇总表口诀

    C语言运算符及其优先级汇总表口诀

    由于C语言的运算符优先级与C++的不完全一样(主要是增加了几个运算符),所以这个口诀不能完全实用于C++.但是应该能够兼容,大家可以比较一下他们的区别应该就能够很快掌握C++的优先级的
    2013-07-07
  • 详解C语言的随机数生成及其相关题目

    详解C语言的随机数生成及其相关题目

    这篇文章主要介绍了详解C语言的随机数生成及其相关题目,作者还列举了阿里巴巴的一道相关的面试题,需要的朋友可以参考下
    2015-08-08
  • C语言中无符号与有符号及相加问题

    C语言中无符号与有符号及相加问题

    这篇文章主要介绍了C语言中无符号与有符号及相加问题,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • C++数据结构深入探究栈与队列

    C++数据结构深入探究栈与队列

    栈和队列,严格意义上来说,也属于线性表,因为它们也都用于存储逻辑关系为 "一对一" 的数据,但由于它们比较特殊,本章讲解分别用队列实现栈与用栈实现队列
    2022-05-05
  • C++11特性小结之decltype、类内初始化、列表初始化返回值

    C++11特性小结之decltype、类内初始化、列表初始化返回值

    这篇文章主要介绍了C++11特性小结之decltype、类内初始化、列表初始化返回值,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论