zoukankan      html  css  js  c++  java
  • C语言编程入门之--第六章C语言控制语句

        导读:本章带读者理解什么是控制语句,然后逐个讲解C语言常用的控制语句,含有控制语句的代码量多起来后就要注意写代码的风格了,本章末节都是练习题,大量的练习才能掌握好控制语句的使用。

    6.1 什么是控制语句  

        翻回第一章,当时为了讲解计算机程序,举了一个打酱油的例子:

        第一种做法:首先要准备好100块钱,然后出门要穿好衣服鞋袜,出门到便利店,拿到酱油付完钱,店家找钱,返回家中。

        可以用更加精细的描述这个行为:

        准备100块钱,或许要翻箱倒柜,直到找到100块钱才可以出门,这段时间发生的事情可以用如下语句表达:

    当(还没找到100块钱的时候 == false)
    {
         继续找钱;  
       如果(找到钱了 == true)
       {
         出门;
       }
    }

      在以上语句中,当(......),如果(......),这类的控制行为用到计算机程序上就是控制语句了,因为C语言是外国人发明的,所以“当(.......)”转换成程序就是“while(......)”,“如果(......)”转换成程序就是“if(......)”。

      继续打酱油,到店里找到酱油后,店家要找钱,酱油就算30块钱好了,店家就要找还70块钱,找钱的方法为右手从钱柜里面拿钱到左手,直到左手的钱够70块钱了就结束继续拿钱,如下:

    对于(开始左手没有钱; 如果左手钱够70块钱了就结束; 右手继续拿钱给左手)
    {
      这段时间可以做想做的别的事;
    }

     在C语言中,以上在控制语句中就为for(表达式1;表达式2;表达式3)。

     注意:每个表达式用分号;隔开。

     大致这么理解控制语句就行了,下一节就把这些控制语句用到代码上编译执行看结果。 

    6.2 条件判断语句

    6.2.1 条件判断语句if

       如果......在英文中为:if......。

       如果......那么......在英文中为:if......else...... 。

       这个就是基本的条件判断语句。代码中是这么体现的:

    #include <stdio.h>
    
    void main()
    {
        int a = 3;
        int b = 5;
        
        if(a < b)
        {
            printf("a < b 成立
    ");    
        }
        
        if(a > b)
        {
            printf("a > b 成立
    ");    
        }
        else
        {
            printf("a > b 不成立
    ");    
        }
    }

      运行结果为:

           a < b 成立
           a > b 不成立

        第一个条件控制语句中,只是判断 a 是否小于 b,如果成立就printf一段话,如果不成立继续往下执行。

          第二个条件控制语句,判断 a 是否大于 b,如果成立 printf 一段话,如果不成立 printf 另一段话。

        if和if......else...... 可以进行嵌套,如下:

    #include <stdio.h>
    
    void main()
    {
        int a = 3;
        int b = 5;
        int c = 7;      
    
        if(a < b)
        {
            printf("a < b 成立
    ");    
        }
        
        if(a > b)
        {
            printf("a > b 成立
    ");    
        }
        else
        {
            printf("a > b 不成立
    ");   
            if(a > c)
            {
                 printf("a > c 成立
    ");
            } 
            else
            {
                 printf("a > c 不成立
    ");
            }
        }
    }
    

    6.2.2 条件判断语句switch  

          switch语句与if语句的功能一样,它的作用在于更加清晰明了,适合条件判断多的情形下使用,如下:

          

    #include <stdio.h>
    
    void main()
    {
    	int a;
    	
    	printf("请输入要查询的数字:");
    	scanf("%d", &a);
    	
    	switch(a)
    	{
    		case 1:
    			printf("1 : 一心一意学程序 
    ");
    			break;
    			
    		case 2:
    			printf("2 : 两全其美真棒棒 
    ");
    			break;
    			
    		case 3:
    			printf("3 : 三心二意很不好 
    ");
    			break;
    			
    		default:
    			printf("您输入的数字还未加入到系统库,请重新输入 
    ");
    			break;
    	}
    }
    

      switch做的工作,就是判断传入的数值,当输入对应数值为case后面的数值的时候,执行相应语句,再执行break结束,如果没有加break语句,就会继续往下执行,读者可以除去后编译看看效果。当输入的数值没有对应的case处理,就会默认执行default里面的操作。

       一般淘宝、京东、10086、微信公众号等等都有机器人客服和人工客服,比如让客户发送1,就输出一段客户想要知道的内容,发送2,就输出另外一段,如果掌握了条件控制语句,那么恭喜你,可以做简单的机器人客服程序了,赶紧自己动手试试吧。

    6.3 循环结构

      人生,就是一个大循环 你的起点,可能是他的终点。

           通俗点说,人每天困了睡觉,肚子饿了吃饭,尿急了上厕所。实操一下,比如小明每隔两秒钟就要尿尿,怎么用代码实现,结合之前学习,会写出以下代码:

    #include <stdio.h>
    
    void main()
    {
    	printf("你好,我是小明!
    ");
    	
    	sleep(2); 
    	printf("尿尿 
    ");
    	sleep(2); 
    	printf("尿尿 
    ");
    	sleep(2); 
    	printf("尿尿 
    ");
    	sleep(2); 
    	printf("尿尿 
    ");
    }
    

      注:sleep是系统延时函数,里面传的数值就是让程序等待的秒数。 

      以上代码,只可以“尿尿”四次,那么小明要尿尿一百次呢,要一千次呢,要无限次呢?怎么做。

      这时候就要用到C语言中的循环语句了。

    6.3.1 循环结构while

      小明每隔两秒"尿尿"十次,代码如下:

      

    #include <stdio.h>
    
    void main()
    {
    	int count = 0;
    	printf("你好,我是小明!
    ");
    	
    	while(1)
    	{
    	 	sleep(2); 
    		printf("尿尿第%d次
    ", count);
    		
    		count++;
    		
    	 	if(count == 10)
    	 	{
    	 		printf("尿完了 
    ");
    			break;	
    		}
    	} 
    	printf("下次再战
    ");
    }
    

      以上代码中,while()括号里面的值传的是bool值,因为1永远为真,所以会无限执行,如果要验证是否无限执行,可以把代码中的“break”除去。

      在代码中的if语句里,当count等于某个数的时候执行break,就能够跳出循环了,这个数就是设定的“尿尿”次数了。

    6.3.2 循环结构for

       总是说“尿尿”似乎不太雅,改为“吃饭”吧。以下,为for语句的例子:

    #include <stdio.h>
    
    void main()
    {
    	int count = 0;
    	printf("你好,我是小明!
    ");
    	
    	for(count = 0; count < 10; count++)
    	{
    	 	sleep(2); 
    		printf("吃饭第%d次
    ", count);
    	} 
    	printf("下次再战
    ");
    }
    

      for语句中,有两个分号“;”,第一个分号前写的是初始化值,让count等于0,第二个分号写的是判断值,判断count是否小于10,如果小于10就继续循环,第二个分号后面就是执行语句,count自增1。编译执行后发现,执行10次就跳出循环了。

      基本上会以上控制语句就够用很多了。只有大量的练习才能更好的掌握这几种语句,后续比如coutinue,goto语句等自学都能掌握了。练习题如下:

    求多个整数的和及平均值

    等腰直角三角形

    数字金字塔

    九九乘法表

    三天打鱼两天晒网

    黑色星期五

      如果练习有疑问可以在评论区留言。本章结束。

  • 相关阅读:
    SEO工作中如何增加用户体验?10个细节要注意!
    网站优化不等于搜索引擎优化SEO
    新站不收录内页的原因及解决办法
    网站搜索引擎优化(SEO)的18条守则
    网站优化(SEO)的10大误区
    网页设计师必知的10则SEO
    站内SEO规范
    影响SEO 搜索引擎优化的网页制作细节
    推荐两个国外网站-帮你优化网站SEO和预测下期的PR值
    简单介绍百度与谷歌关于收录的不同之处
  • 原文地址:https://www.cnblogs.com/songsongman/p/11454457.html
Copyright © 2011-2022 走看看