黑马程序员 《ios零基础教程》 ----switch、while、do while 2014-3-22总结


今天学习了switch选择结构、while循环和do while循环


一、switch选择结构

1.机构

switch (数值)
 {
    case 数值1:
        语句1;
        break;
 
    case 数值2:
        语句2;
        break;
 
    default:
        语句3;
        break;
    switch和case后面跟的都是数值

    break:退出整个swith语句

如果case后面没有break,就会执行后面所有case中得语句,直到遇到break为止


2.基本使用

1>

#include <stdio.h>

int main(int argc, const char * argv[])
{
    int a = 10;
    //break:退出整个swith语句
    //如果case后面没有break,就会执行后面所有case中得语句,直到遇到break为止
    int b = 10;
    switch (a) {
        case 10:
            printf("A\n");
//            break;
            b++;
            
        case 5:
            printf("B\n");//上面一行没有break,所以整个输出结果是A B,因为没有break退出,继续输出case:5语句。
//            break;
            b++;
            
        case 0:
            printf("C\n");
            break;
            
        default:
            printf("D\n");
            break;            
            
    }
    printf("b的值是%d\n",b);//这里b由于没有break终止程序,所以b++一直执行,最终结果是b = 12;
    return 0;
}

2>

#include <stdio.h>

int main(int argc, const char * argv[])
{
    int c = '+';
    int a = 10;
    int b = 20;
    
    
    //如果要在case后面定义新的变量,必须用大括号{}包住
    switch (c) {
        case '+':
        {
            int sum = a + b;
            printf("和是%d\n",sum);
            break;
        }
            
        case '-':
        {
            int minus = a - b;
            printf("差是%d\n",minus);
            break;
        }
    }
    return 0;
}

3>输入一个整数score代表分数,根据分数输出等级(A-E

 #include <stdio.h>
 int main()
 {
 // 提示用户输入数据
 printf("请输入一个分数:\n");
 // 定义变量存储数据
 int score = 0;
 // 接收数据
 scanf("%d", &score);
 // 判断等级,输出
 switch (score/10) {
 case 10:
 case 9:
 printf("A");
 break;
 case 8:
 printf("B");
 break;
 case 7:
 printf("C");
 break;
 case 6:
 printf("D");
 break;
 default:
 printf("E");
 break;
 }
 return 0;
 }

3.ifswitch区别

1>if语句能完成的功能,switch并不一定能完成

int a = 10;

 if (a > 10)

 {

 

 }

2>在有些情况下,if语句和switch语句可以互换

 

3>switch能完成的功能,if语句都能完成


二、while循环

1.结构

while(条件)

{

循环体

 }


2.基本使用


1>

#include <stdio.h>

int main(int argc, const char * argv[])
{
    //1.先确定需要重复执行的操作
    
    //2.在确定约束条件
    
    //3.定义一个变量记录做的次数
    
    int count = 0;
    
    while (count < 50) {
        ++count;
        printf("做第%d次俯卧撑\n",count);
    }
    return 0;
}

2>

//continue用法
//continue只能使用在循环结构中,它的作用是跳过这一次循环,直接进入下一次循环
//continue可以在for循环,while循环、do-while循环中使用


#include <stdio.h>

int main(int argc, const char * argv[])
{
    /*
    //1.先确定需要重复执行的操作
    
    //2.在确定约束条件
    
    //3.定义一个变量记录做的次数
    
    int count = 0;
    
     */
    int count = 0;
    
    while (count < 50) {
        ++count;
        
        if (count%10 == 0)
        {
            //直接结束这一次循环体,进行下一次循环
            continue;
        }
        printf("做第%d次俯卧撑\n",count);
    }
    return 0;
}

3> break while 循环中的使用


#include <stdio.h>

int main(int argc, const char * argv[])
{

    int count = 0;
    
    while (count < 50) {
        ++count;
        
        printf("做第%d次俯卧撑\n",count);
        
        if (count == 20)
            {
                //直接从这次循环中退出,退出整个循环
                break;
            }
        
    }
    return 0;
}


4>练习题: 提示用户输入一个正整数 n ,计算 1+2+3+4+...+n 的和

#include <stdio.h>

int main(int argc, const char * argv[])
{
    /*自己的方法
    //1.提示用户输入正整数n
    printf("请输入一个整数:");
    
    //2.接受用户输入的整数n
    int n, sum, i;
    scanf("%d",&n);
    
    //3.计算1+2+3+...+n的和
    for (i = 0;i <= n ; ++i) {
        sum += i;
    }
    
    printf("%d\n",sum);
     */
  
    
    
   /*定义变量输入的整数是正整数方法一
    //1.提示用户输入正整数n
    printf("请输入一个整数:");
    
    //2.接受用户输入的整数n
    int n;
    scanf("%d",&n);
    
    //确保输入的数字是正整数
    if (n <= 0) {
        printf("非法输入\n");
        return 0;
    }
    */
    
    
   // 定义变量输入的整数是正整数方法二
    
    int n = 0;//一定要初始化
    
    while (n <= 0) {
        //1.提示用户输入正整数n
         printf("请输入一个整数:");
        
        //2.接受用户输入的整数n
        scanf("%d",&n);
    }
    //3.计算1+2+3+...+n的和
    
    int sum = 0;
    int number = 0;//默认被加的数值
    
    while (number < n) {
        
        number++;
        sum += number;//累加
    }
    
    printf("%d\n",sum);

    return 0;
}


5> 计算 1~100 中所有 3 的倍数个数

#include <stdio.h>

int main(int argc, const char * argv[])
{

    //记录3的倍数的个数
    int count = 0;
    
    //记录当前检查的数值
    int number = 0;
    
    while (number < 100)
    {
    number++;
    
    //说明number是3的倍数
    if(number%3 == 0)
        {
        count++;
        }
    }
    printf("1~100内3的倍数的个数:%d\n",count);
    
    return 0;
}

6>while的使用注意事项


#include <stdio.h>

int main(int argc, const char * argv[])
{
    /*
    while (10) {
        printf("哈哈哈哈\n");
    }
     */
    
    /*
     int a = 10;
     //while(a>0);死循环
     while (a>0)
     {
        a--;
        printf("哈哈哈\n");
     }
     */
    
    //最简单的死循环
    while (1);
    return 0;
}

三、do while循环

1.结构

 do 

 {

 

 }while)(条件);


2.基本使用

#include <stdio.h>

int main(int argc, const char * argv[])
{
    int i = 0;
    //这里while 和do while相同
    /*
    while (i < 5) {
        i++;//5
    }
    
    do{
        i++;
    }while (i < 5);
     */
    
    
    
    //这里的while 和 do while是不相同
    /*
    while (i <0){
        i++;
    }
    
    do{
        i++;
    }while (i < 0);
     */
    
    printf("i = %d",i);
    return 0;
}

3.while和 do while的区别

    while特点:如果一开始的条件不成立,永远不会执行循环体

    do while特点:不管一开始的条件是否成立,至少会执行一次循环体




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值