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

来源:互联网 发布:知易商标网 编辑:程序博客网 时间:2024/06/06 05: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
原创粉丝点击