C语言while与for循环语句

张开发
2026/4/14 9:36:06 15 分钟阅读

分享文章

C语言while与for循环语句
C语言循环求1+2+3+…+100的和,在C语言中有多种编程逻辑。按照您的要求,以下是几种主要的程序实现方法,并且每种包含while和for两种循环实例。此外,虽然数学公式法(高斯求和公式)是最优解,但由于它不需要循环,因此不符合“包含while和for”的要求,我将其作为补充写在最后。非常棒的观点!C语言的for循环极度灵活,三个表达式(初始化、条件判断、更新)都可以进行各种变形,甚至可以省略。为了满足您的要求,我整理了7种不同逻辑和语法风格的程序实现。每种方法都严格遵守您的规定:同时列出while和for两个版本。方法一:标准结构(最基础)这是最规范的写法,循环体负责计算,循环头只负责控制流程。for版本#includestdio.hintmain(){intsum=0;for(inti=1;i=100;i++){sum+=i;}printf("Sum = %d\n",sum);return0;}while版本#includestdio.hintmain(){inti=1,sum=0;while(i=100){sum+=i;i++;}printf("Sum = %d\n",sum);return0;}for语句变形for版本#includestdio.hintmain(){intsum=0,i=1;for(;i=100;){sum=sum+i;i++}printf("Sum = %d\n",sum);return0;}while版本#includestdio.hintmain(){inti=1,sum=0;while(i=100){sum+=i;i++;}printf("Sum = %d\n",sum);return0;}方法二:反向顺序累加(倒序法)逻辑上与正向相同,但是从100开始递减到1。这种方法在结果上完全一致,展示了循环控制的不同写法。1. 使用for循环#includestdio.hintmain(){inti,sum=0;// for循环:初始化i为100;条件i=1;每次循环i减1for(i=100;i=1;i--){sum+=i;}printf("1+2+...+100 = %d\n",sum);return0;}2. 使用while循环#includestdio.hintmain(){inti=100,sum=0;// while循环:只要i大于等于1就继续执行while(i=1){sum+=i;i--;}printf("1+2+...+100 = %d\n",sum);return0;}方法三:全在循环头中(逗号表达式法)利用 C 语言逗号表达式的特性,将“累加操作”强行放入for循环的“更新表达式”部分,使得循环体为空for版本#includestdio.hintmain(){inti,sum=0;// 逻辑:初始化i=1; 判断i=100; 执行sum+=i 然后执行i++for(i=1;i=100

更多文章