问问题描述
答精选答案

C语言中for用法是:for 循环语句的一般形式为:for (表达式1; 表达式2; 表达式3){语句;}首先要强调两点:1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于for循环了。下面来看看它的执行过程:求解表达式1。求解表达式2。若其值为真,则执行for语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。求解表达式3。转回上面第2步继续执行。循环结束,执行 for 语句下面的语句。从这个执行过程中可以看出,“表达式1”只执行一次,循环是在“表达式2”“表达式3”和“内嵌语句”之间进行的。for语句最简单的形式是:for (循环变量赋初值; 循环条件; 循环变量增值){语句;}下面给大家写一个程序,求 1+2+3+4+…+100 的总和。# includeint main(void){int i;int sum = 0; //sum的英文意思是“总和”for (i=1; i<=100; ++i) //++是自加的意思, ++i相当于i = i + 1{sum = sum + i; }printf("sum = %d", 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步,其他的不变。所以程序也可以像下面这样写:# includeint main(void){int i = 1;int sum = 0;for (; i<=100; ++i){sum = sum + i;}printf("sum = %d", 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; i<101; ++i),而且建议大家尽量使用这种写法。也就是说,循环语句的循环条件尽量写成半开半闭的,不管是 for 循环还是 while 循环。for(i=1; i<101; ++i)实际上是 1≤i<101,是半开半闭的;而for(i=1; i<=100; ++i)实际上是 1≤i≤100,是全闭的。那么为什么建议使用半开半闭的呢?因为如果写成 i<=100 的话,那么每次判断的时候都要判断两次,即 i<100 和 i==100,而写成 i<101 的话每次只需要判断一次。下面再给大家写一个程序,求 1 到 100 之间所有奇数的和。# includeint main(void){int i;int sum = 0 ;for (i=1; i<100; i+=2) //i+=2;等价于i = i + 2;{sum = sum + i;}printf("sum = %d", sum);return 0;}输出结果是:sum = 2500
本文来自作者[beijingligongdaxuezhuhaix]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/jingxuan/898817.html
评论列表(4条)
我是公众科技网的签约作者“beijingligongdaxuezhuhaix”!
希望本篇文章《c语言里int和for什么意思》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:C语言中for用法是:for 循环语句的一般形式为:for (表达式1; 表达式2; 表达式3){语句;}首先要强调两点:1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于for循环了。下面来