C 语言循环结构


  9 #import <Foundation/Foundation.h>
 10 
 11 int main(int argc, const char * argv[]) {
 12 
 13 /*#pragam mark--while--
 14  if (条件表达式){语句;}
 15  
 16  while(条件表达式){循环体;}
 17  
 18  */
 19 //要打印100次我爱你
 20     //首先定义一个变量接收我们说的 我爱你的次数
 21 //    int i = 1;
 22 //    //    i<=100
 23 //    while(i<=100){
 24 //        printf("我爱你!!");
 25 //        i++;//这一步的操作是使我们i进行一个自加(直到不满足我们条件表达式为止)--.使我们条件表达式为假,i++恒等于i=i+1;
 26 //    }
 27 //
 28     
 29     //使用while循环打印1-5之间的数字;
 30 //    int i = 1;
 31 //    while(i<=5){
 32 //        printf("%d\n",i);
 33 //        i++;
 34 //    }
 35     //最简单的死循环
 36     //让我们条件表达式一直为真
 37 //    while(1){
 38 //        printf("");
 39 //    }
 40     
 41     //打印出1-100之间7的倍数
 42 //    //思路7的倍数特点(对7取余为零)
 43 //    int i = 1;//i 初始值
 44 //   
 45 //    while (i<=100){//使我们循环条件位真
 46 //        
 47 //        if(i%7==0){//提出七的倍数
 48 //            
 49 //            printf("%d\n",i);//打印7的倍数
 50 //        }
 51 //        i++;//循环的一个增量
 52 //    }
 53     //使用while打印出1-100之间 个位为7的数
 54 //    //思路;个位为7对10 取余为7
 55 //    int a = 1;
 56 //    while(a<=100){
 57 //        if(a%10==7){
 58 //            printf("%d\n",a);
 59 //        }
 60 //            a++;
 61 //    }
 62 //    
 63     //使用while循环 打印1-100之间10位为7的数
 64 //    //思路:十位为7,除以10等于7;
 65 //    int i =1;
 66 //    while(i<=100){
 67 //        if(i/10==7){
 68 //            printf("%d\n",i);
 69 //        }
 70 //        i++;
 71 //    }
 72     
 73     //使用while循环 打印1-100之间不是7的倍数且不包含7的数
 74 //    
 75 //    int a=1;
 76 //    while(a<=100){
 77 //    if(a%7!=0&&a/10!=7&&a%10!=7){
 78 //        printf("%d\n",a);}
 79 //        a++;
 80 //    }
 81 //    
 82     
 83     
 84     
 85 //
 86 //    
 87 //    /*
 88 //     注意:++在上和在下的问题
 89 //     
 90 //     打印1-10之间的数字*/
 91 //    int b = 1;
 92 //    while(b<=10){
 93 //        printf("%d\n",b);
 94 //        b++;
 95 //    }
 96 //    
 97     
 98     //求1-100之间所有偶数的和
 99     //偶数特点 对2取于等于0
100 //    int num =1;//初始值为1;
101 //    int sum = 0;//定义变量接收他们之间的和
102 //    //去除奇数让偶数相加;
103 //    while(num<=100){
104 //        if(num%2==0){
105 //            sum = sum+num;
106 //        }
107 //        num++;
108 //    }
109 //    printf("%d\n",sum);
110 //    
111     
112    /*
113     *
114     看到do while 就应该想到一句话:先斩后奏
115     do{
116     语句
117     }while(条件表达式);
118     
119     do.....while  一般在我们开发当中很少使用.
120     
121     */
122 //    do{
123 //        printf("Hello,lanou!!");
124 //    }while(0);
125 //    //从键盘上输入字符,统计我们输入字符的个数
126     /*
127      1.接收控制台输入的字符串
128      2.判断用户是否敲了回车
129      
130      **/
131 //    char ch=0;//用来接收用户从控制台输入的字符
132 //    int cou=0;//记录我们字符的个数
133 //    printf("请输入字符:\n");//提示用户输入字符
134 //    scanf("%c",&ch);//接收我们输入的字符
135 //    while(ch!='\n' ){
136 //        cou++;//计数
137 //        //继续去下一位字符
138 //        //scanf原理:如果我们内存缓存区不为空,我们不再让用户会输入内容,直接会从内存缓存区里取
139 //        scanf("%c",&ch);
140 //    }printf("输出的字符个数%d\n",cou);
141     
142     /**
143      
144      随机数 arc4random()%(b-a+1)+a;
145      */
146 //    //使用while 打印出[1,100]之间10个随机数
147 //    int i=1;
148 //    while (i<=10){
149 //        //定义一个变量接收我们随机出来的数字
150 //        int num = arc4random()%(100-1+1)+1;
151 //        i++;//循环自增;
152 //        printf("随机数是:%d\n",num);
153 //    }
154     
155     //从键盘上输入数字,使用while循环打印对应出[1,100]之间的数字
156 //    int a=1;//定义一个变量用于循环的初始值
157 //    int b=0;//键盘上接收的数字
158 //    int c=0;//接收我们随机输入的数字
159 //    int max=0;
160 //    printf("请输入数字");
161 //    scanf("%d",&b);
162 //    while(a<=b){
163 //        c=arc4random()%(100-1+1)+1;
164 //        printf("%d\n",c);
165 //        if(c>max){
166 //            max=c;
167 //        }
168 //        a++;
169 //    }printf("max=%d",max);
170 //    
171     
172    /* //打印出5个数字,数字的取值范围是[50,100],并求出他们的最大值
173     int a=0;//初值
174     int max=0;//用来接受比较出来的最大值
175     int num=0;//用来接收我们随机出来的数字
176     while(a<5){
177         num=arc4random()%(100-50+1)+1;
178         max =num>max?num:max;
179         a++;
180         printf("%d\n",num);
181     }printf("max=%d\n",max);
182     */
183     
184     
185     //用while打印10个随机数(范围为10~30),求最大值和最小值
186 //    
187 //    int a=0;
188 //    int max=0;
189 //    int num=0;
190 //    int min=40;
191 //    while(a<10){
192 //        num=arc4random()%(30-10+1)+1;
193 //        max=num>max?num:max;
194 //        min=num<min?num:min;
195 //        a++;
196 //        printf("%d\n",num);
197 //    }printf("max=%d\n,min=%d\n",max,min);
198 //    
199 //
200     
201     /**
202      break,continue的区别
203      break:它是跳出循环(意味整个循环停止,结束)
204      continue 它是跳出本次循环(意味着我们循环还会继续进行,)执行后的语句
205      */
206 //    //打印出1-10 之间的数字
207 //    int i = 1;
208 //    while(i<=10){
209 //        printf("%d\n",i);
210 //        i++;
211 //    }
212     //打印出1-50之间的数里边不包含7的倍数(7的倍数怼7取于为0)
213 //    int i=1;
214 //    while(i<50){
215 //        if(i%7==0){
216 //            i++;
217 //            continue;
218 //        }
219 //        printf("%d\n",i);
220 //        i++;
221 //    }
222     
223     
224 #pragma mark--for--
225     
226     /**
227      for循环:(循环变量初始值(1),循环条件(2),循环变量增量(3))
228      {
229      循环体(4)
230      }
231      执行的流程是1-2-4-3
232      
233      */
234 //    //打印10次我爱你
235 //    for(int i=0;i<10;i++){
236 //        printf("我爱你!!");
237 //    }
238     
239     
240     //用for循环打印1-100之间7的倍数
241   //用for循环打印1-100之间个位是7的数
242   //用for循环打印1-100之间十位7的数
243     //用for循环打印1-100之间不是7的倍数且不包含7的数
244 //    for (int i =1; i<=100; i++) {
245 //        if (i%7==0) {
246 //            printf("%d\n",i);
247 //        }
248 //    }
249 //
250 //    for (int i=1; i<=100; i++) {
251 //        if (i%10==7) {
252 //            printf("%d\n",i);
253 //        }
254 //    }
255 //    
256     
257     
258 //    for (int i =1; i<=100; i++) {
259 //        if (i/10==7) {
260 //            printf("%d\n",i);
261 //        }
262 //    }
263     
264 //    for (int i = 1; i<=100; i++) {
265 //        if (i%7!=0&&i/10!=7&&i%10!=7) {
266 //            printf("%d\n",i);
267 //        }
268 //    }
269 //    
270     
271     
272     
273     /**
274      * * * * *
275      * * * * *
276      * * * * *
277      * * * * *
278      * * * * *
279      */
280    // 第2种
281 //    int a;
282 //    for (a=1; a<=5; a++) {
283 //                printf("* * * * *\n");
284 //    }
285     //第3种
286     
287     //外层控制的是行数
288 //    for (int i =1; i<=5; i++) {
289   // 内层控制是列数
290 //    for (int a =1; a<=5; a++) {
291 //        printf(" * ");
292 //    }
293 //        printf("\n");
294 //    }
295     
296     
297 //    for (int i=1 ; i<=5; i++) {
298 //        for (int a=1; a<=i; a++) {
299 //            printf(" * ");
300 //        }
301 //        printf("\n");
302 //    }
303 
304    
305     /**
306     *  *  *  *  *
307     *  *  *  *
308     *  *  *
309     *  *
310     *
311      */
312 //    for (int i=1; i<=5; i++) {
313 //        for (int a=1; a<=6-i; a++) {
314 //            printf(" * ");
315 //        }
316 //        printf("\n");
317 //    }
318 //
319 //    
320     /*
321      1
322      12
323      123
324 
325      */
326 //    
327 //    for (int i =1; i<=3; i++) {
328 //        for (int a=1; a<=i; a++) {
329 //            printf("%d",a);
330 //        }
331 //        printf("\n");
332 //    }
333     
334     
335     /*
336      1
337      12
338      123
339      1234
340      12345
341      123456
342      */
343 //    
344 //    for (int i =1; i<=6; i++) {
345 //        for (int a=1; a<=i; a++) {
346 //            printf("%d",a);
347 //        }
348 //        printf("\n");
349 //    }
350 //    
351     /*
352      99乘法表(手抄4边)
353      */
354     
355 //    for (int i=1; i<=9; i++) {
356 //        for (int j=1; j<=i; j++) {
357 //            printf("%d*%d=%d ",j,i,j*i);
358 //        }
359 //        printf("\n");
360 //    }
361     
362     /*
363           *
364          ***
365         *****
366        *******
367       *********
368      ***********
369      
370 //     */
371     for (int i=1; i<=6; i++) {
372         for (int j=1;j<=6-i;j++) {
373             printf(" ");
374         }
375         for (int k=1; k<=2*i-1; k++) {
376             printf("*");
377         }
378         printf("\n");
379     }
380     //手抄四边
381     
382    /*
383     for循环多用于明确循环次数的循环,而且是以后非常常用的循环结构 重点在于for循环的 嵌套
384      while,多用于不明确循环次数的循环,知道循环结束的标志,先判断条件,在执行
385     do.....while 多用于不明确循环次数的循环,知道循环结束的标志,先执行循环体,在判断循环条件,不管条件成功,循环体至少会执行一次
386     
387     break和countinue;
388     break 结束本层循环,循环终止,终止离他最近的循环
389     countinue 结束本次循环,本次循环结束之后,继续执行下一次循环
390     
391     //循环四部分
392     
393     1.循环变量初始化,2.循环条件 3.循环变量增量 4 循环体执行流程1-->2-->4-->3
394     */
395     
396 //    for (int i=1; i<=5; i++) {
397 //        for (int j=1; j<=5-i; j++) {
398 //            printf(" ");
399 //        }
400 //        for (int k=1; k<=2*i-1; k++) {
401 //            printf("*");
402 //        }
403 //        printf("\n");
404 //    }
405 //    
406 //    
407        
408     return 0;
409 }

 

posted @ 2016-05-09 19:52  胡一波  阅读(287)  评论(0编辑  收藏  举报