首页后端开发ASP.NETC语言中for用法是什么?

C语言中for用法是什么?

时间2024-01-31 19:28:02发布访客分类ASP.NET浏览249
导读:收集整理的这篇文章主要介绍了C语言中for用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。c语言中for用法是:for 循环语句的一般形式为:for (表达式1; 表达式2; 表达式3 { 语句;}首先要强调两点...
收集整理的这篇文章主要介绍了C语言中for用法是什么?,觉得挺不错的,现在分享给大家,也给大家做个参考。

c语言中for用法是:

for 循环语句的一般形式为:

for (表达式1;
     表达式2;
 表达式3){
            语句;
}
    

首先要强调两点:

1) 表达式1、表达式2和表达式3之间是用分号; 隔开的,千万不要写成逗号。

2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。

因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于for循环了。

下面来看看它的执行过程:

    @H_126_21@

    求解表达式1。

  • 求解表达式2。若其值为真,则执行for语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。

  • 求解表达式3。

  • 转回上面第2步继续执行。

  • 循环结束,执行 for 语句下面的语句。

从这个执行过程中可以看出,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。

for语句最简单的形式是:

for (循环变量赋初值;
     循环条件;
 循环变量增值){
        语句;
}
    

下面给大家写一个程序,求 1+2+3+4+…+100 的总和。

# include stdio.h>
int main(void){
        int i;
        int sum = 0;
      //sum的英文意思是“总和”    for (i=1;
     i=100;
 ++i)  //++是自加的意思, ++i相当于i = i + 1    {
            sum = sum + i;
      /*等价于sum += i;
但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/    }
        PRintf("sum = %d\n", sum);
        return 0;
}
    

输出结果是:

sum = 5050

这个程序的功能是实现求 1+2+3+4+…+100 的和,如果不用循环,加一次就要一条语句,加 100 次就要 100 条语句。这里是从 1 加到 100,要是从 1 加到 10000 那就要 10000 条语句。但有了循环就很方便了,你想加到多少就加到多少,只要改一个参数就可以了。所以循环很重要。

下面按照执行过程看看上面这个程序是怎样执行的。

1、首先定义一个循环变量 i。定义的时候可以不给它赋初值,在 for 循环里面再给它赋初值也行。但前面说过,最好在定义变量的时候就对它进行初始化,如果值不确定就初始化为 0。所以程序中也可以在定义 i 的时候就给它赋初值,那么 for 循环里的“表达式1”就可以省略了,但分号不可以省略。

这样的话,执行的时候就跳过第1步,直接进入第2步,其他的不变。所以程序也可以像下面这样写:

# include stdio.h>
int main(void){
        int i = 1;
        int sum = 0;
        for (;
     i=100;
 ++i)    {
            sum = sum + i;
    }
        printf("sum = %d\n", sum);
        return 0;
}
    

当然表达式1加上也行,大不了再重新赋一次值。

2、然后定义一个用来存放“和”的变量 sum,并给它赋初值 0,然后进入 for 循环:

  • 首先求解表达式1,即给变量i赋初值,i=1; 表达式1只执行这一次,下面都不会再执行了。

  • 然后求解表达式2,若 1=100 成立,则执行 for 循环中的内嵌语句,即 sum=0+1。

  • 然后执行第3步,变量 i 自加 1,即变量 i 由 1 变为 2。

  • 然后再求解表达式2,2=100 成立,则执行 for 循环中的内嵌语句,sum=0+1+2。

  • 然后再执行第3步,变量 i 自加 1,即变量 i 由 2 变为 3。

  • 然后再求解表达式2,即 3=100 成立,则执行 for 循环中的内嵌语句,sum=0+1+2+3。

  • ……

就这样一直循环下去,直到 ++i 等于 100 的时候,求解表达式2,即 100=100 成立,则执行 for 循环中的内嵌语句,sum=0+1+2+3+…+100。

然后再执行第3步,变量 i 自加 1,即变量 i 由 100 变为 101。然后再求解表达式2,即 101=100 不成立,则结束循环,执行 for 循环下面的语句即 printf。

以上就是这个程序的执行过程。关于 for 语句的代码规范化问题,有两点要再跟大家强调一下:

1)if、else、for、while、do 都只能控制到其后的一条语句,如果要控制多条语句必须加大括号{ } 。但基于代码规范化,if、else、for、while、do 后面的执行语句不论有多少行,就算只有一行也要加{ } 。

2) 像 if、for、while 等关键字之后应留一个空格再跟左括号(,以突出关键字。

此外上面的程序还有一个知识点要跟大家说一下:从功能上讲,for(i=1; i=100; ++i)完全可以写成for(i=1; i101; ++i),而且建议大家尽量使用这种写法。也就是说,循环语句的循环条件尽量写成半开半闭的,不管是 for 循环还是 while 循环。

for(i=1; i101; ++i)实际上是 1≤i101,是半开半闭的;而for(i=1; i=100; ++i)实际上是 1≤i≤100,是全闭的。那么为什么建议使用半开半闭的呢?因为如果写成 i=100 的话,那么每次判断的时候都要判断两次,即 i100 和 i==100,而写成 i101 的话每次只需要判断一次。

下面再给大家写一个程序,求 1 到 100 之间所有奇数的和。

# include stdio.h>
int main(void){
        int i;
        int sum = 0 ;
        for (i=1;
     i100;
     i+=2)  //i+=2;
    等价于i = i + 2;
    {
            sum = sum + i;
    }
        printf("sum = %d\n", sum);
        return 0;
}
    

输出结果是:

sum = 2500

推荐教程:《C视频教程》

以上就是C语言中for用法是什么?的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: c语言用户标识符命名规则是什么?下一篇:C程序总是以main函数作为程序执行...猜你在找的ASP.NET相关文章 C# 一些面试试题的实例教程2022-05-16.NET 6开发TodoList应用之请求日志组件HttpLogging介绍2022-04-16.NET 6中间件Http Logging使用介绍2022-04-16gojs一些实用的高级用法2022-04-16.NET6开发TodoList应用之实现查询排序2022-04-16.NET6开发TodoList应用之实现数据塑形2022-04-16.NET微服务架构CI/CD自动打包镜像2022-04-16Asp.Net Core 使用Monaco Editor 实现代码编辑器功能2022-04-16.NET微服务架构CI/CD自动构建Jenkins+Gitee2022-04-16.Net Core微服务网关Ocelot集成Consul2022-04-16 其他相关热搜词更多phpjavapython程序员loadpost-format-gallery

若转载请注明出处: C语言中for用法是什么?
本文地址: https://pptw.com/jishu/594380.html
typescript编写微信小程序创建项目的方法 手动实现vue2.0的双向数据绑定原理详解

游客 回复需填写必要信息