C语言循环语句工程用法

-循环语句分析 

循环语句的基本工作方式

- 通过条件表达式判断是否执行循环体

- 条件表达式循环if语句表达式的原则

do、while、for的区别

- do语句先执行后判断,循环体至少循环一次

- while语句先判断后执行,循环体可能不执行

- for语句先判断后执行,相比while更简洁

三者在使用上的区别:

 1 #include <stdio.h>
 2
 3 int f1(int n)
 4 {
 5     int ret = 0;
 6
 7     if( n > 0 )
 8     {
 9         do
10         {
11             ret += n;
12             n--;
13         }
14         while( n > 0 );
15     }
16
17     return ret;
18 }
19
20 int f2(int n)
21 {
22     int ret = 0;
23
24     while( n > 0 )
25     {
26         ret += n;
27         n--;
28     }
29
30     return ret;
31 }
32
33 int f3(int n)
34 {
35     int ret = 0;
36     int i = 0;
37
38     for(i=1; i<=n; i++)
39     {
40         ret += i;
41     }
42
43     return ret;
44 }
45
46 int main()
47 {
48     printf("%d\n", f1(100));
49     printf("%d\n", f2(100));
50     printf("%d\n", f3(100));
51
52     return 0;
53 }

-循环语句分析

  

break和continue的区别

- break表示终止循环的执行

- continue表示终止本次循环,进入下一次循环

思考:

switch能否用continue关键字?为什么?

答:不行,因为continue是用于循环的,而switch语句根本不是循环。

 1 #include <stdio.h>
 2
 3 void f1(int n)
 4 {
 5     int i = 0;
 6
 7     for(i=1; i<=n; i++)
 8     {
 9         if( (i % 2) == 0 )
10         {
11             break;
12         }
13
14         printf("%d ", i);
15     }
16
17     printf("\n");
18 }
19
20 void f2(int n)
21 {
22     int i = 0;
23
24     for(i=1; i<=n; i++)
25     {
26         if( (i % 2) == 0 )
27         {
28             continue;
29         }
30
31         printf("%d ", i);
32     }
33
34     printf("\n");
35 }
36
37 int main()
38 {
39     f1(10);
40     f2(10);
41
42     return 0;
43 }

do和while 结合的妙用

实例三:下面的例子为了执行强制free();来防止内存泄漏。

 1 #include <stdio.h>
 2 #include <malloc.h>
 3
 4 int func(int n)
 5 {
 6     int i = 0;
 7     int ret = 0;
 8     int* p = (int*)malloc(sizeof(int) * n);
 9
10     do
11     {
12         if( NULL == p ) break;
13
14         if( n < 5 ) break;
15
16         if( n > 100) break;
17
18         for(i=0; i<n; i++)
19         {
20             p[i] = i;
21             printf("%d\n", p[i]);
22         }
23
24         ret = 1;
25     }while( 0 );
26
27     printf("free(p)\n");
28
29     free(p);
30
31     return ret;
32 }
33
34 int main()
35 {
36     if( func(10) )
37     {
38         printf("OK\n");
39     }
40     else
41     {
42         printf("ERROR\n");
43     }
44
45     return 0;
46 }

小结:

for循环先进入循环再进入循环体

for循环适合于循环次数固定的场合

while循环先进行判断再进入循环体执行

while循环适合于循环次数不定的场合

do ... while 循环先执行循环体再进行条件判断

do ... while 循环体至少执行一次循环体

原文地址:https://www.cnblogs.com/lemaden/p/10122583.html

时间: 2024-10-09 12:01:33

C语言循环语句工程用法的相关文章

while,do while和for循环语句的用法

一.while的用法 //循环 int i = 10; while(i > 0){ if(i==8) {i--; continue;//跳过 } System.out.println(--i); if(i==5) break; }//if循环语句 break中断 二.do while 的用法 do{ System.out.println("++i"); } while(i < 10 ); 三.for的用法 for (int m = 10;m > 0; --m){ if

for循环语句的用法

for循环有三种结构:列表for循环,不带列表for循环和类C风格for循环. do和done之间的命令成为循环体,执行次数和list列表中常熟或字符串的个数相同.for循环,首相是将in后list的第一个常数或字符串复制给循环变量,然后执行循环体,以此执行list,最后执行done命令后的命令序列. shell支持列表for循环使用略写的计数方式,1~5的范围用{1..5}表示, shell中还支持按规定的步数进行跳跃的方式实现for循环,例如计算1~100内所有的奇数 一.列表for循环 #

linux下Bash编程循环语句特殊用法之编写脚本(十)

linux下Bash编程while语句特殊用法之编写脚本(十) 1.循环控制: break:中断整个循环语句,即退出循环后执行脚本后面的语句 continue:中断当前本次循环,提前进入下一轮循环 exit:结束脚本运行 2.while死循环,即当不知道循环多少次时 格式 : while :; do 循环语句 done 3.while从输入重定向文件中每行读取并赋值给read变量 格式:  while read LINE;do 循环语句 done < 路径文件 4.实例脚本 4.1.找出/etc

go语言循环语句 for

Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: sum := 0 for { sum++ if sum > 100 { break } } 条件表达式中也支持多重赋值: a := []int{1, 2, 3, 4, 5, 6} for i, j := 0, len(a) – 1; i < j; i, j = i + 1, j – 1 { a[i

子数涵数&#183;C语言——循环语句

之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include<stdio.h> 2 int main(void) 3 { 4 int sum=0,i=1; //定义变量sum的值为0,变量i的值为1 5 while(i<=100) //当i小于等于100时,进入循环 6 { //while(){}:括号内为条件表达式,花括号内为循环体 7 sum=sum+i; //用sum来做累加器 8 i++;

Python中,While循环语句的用法及注意事项

今天跟着老师学习了While语句的用法,听老师讲的时候是听明白了,感觉好简单,但是自己做一遍的时候出了好多处的错误.我犯的错误都是新手常犯的,因此我觉得有必要把这次记录下来,提醒自己也提醒跟我一样的小白要注意一下. 这次做的是猜年龄的小程序,案例代码如下: 1 age=50 2 flag = True 3 while flag: 4 usr_input=int(input("请输入你猜测的年龄:")) 5 if usr_input == age: 6 print("恭喜,回答

Shell循环语句多种用法

for循环语句 列表形式有: 实例1 在命令中定义一系列的值 第一种写法: [[email protected] ~]# vim 1.sh #!/bin/bash for i in 1 2 3 4 //在命令中定义列表 do echo $i done [[email protected] ~]# sh 1.sh 1 2 3 4 第二种写法: [[email protected] ~]# vim 2.sh #!/bin/bash for i in {1..5} do echo $i done [[

Go语言循环语句

for循环 语法(形式) for init; condition; post { } : 和C语言中的for类似.init一般为赋值表达式,为控制变量赋初值(i= 1):condition为循环控制条件,关系表达式或者逻辑表达式(i < 90):post一般为赋值表达式,为控制变量加量或者减量(i++) for condition { }: 和C语言中的while类似.condition为循环控制条件,关系表达式或者逻辑表达式:控制变量的加量或者减量在for循环体中实现 实例 package m

c语言if语句的用法

if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础,个人活学活用而已. 1. if……形式 一般格式:if(表达式) 语句; 语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句.语句可以是单条语句,也可以是用花括号{}包括起来的复合语句.示例如下: #include <stdio.h> int main() { int a,b,max; printf("\n input two numbers: "); scanf("%d%d"