C语言 if分支与循环语句

来源:互联网 发布:软件讲师培训班 编辑:程序博客网 时间:2024/05/22 18:56


C语言 if分支与循环语句(1)



//

//  main.c

//  C_02

//

//  Created by 谭其伟 on 15/11/26.

//  Copyright © 2015 Kiwir. All rights reserved.

//


#include <stdio.h>


enum WeekDays{


    Monday ,

    Tuesday,

    Wendesday ,

    Thursday,

    Friday,

    Saturday,

    Sunday

    

};


typedef enum {


    Red,

    Orange,

    Yellow,

    Green,

    Bule,

    Dian,

    Purple

    

    

}Color;


#include <stdbool.h>



int main(int argc,constchar * argv[]) {

    

//    enum WeekDays day ;

//    day = Monday;

//    printf("Monday = %d\n",Monday);

//    day = Thursday ;

//    printf("Thursday = %d\n",Thursday);

//    

//    Color getColor ;

//    getColor = Red ;

//    printf("getColor = %d\n",getColor);

    

    

    

    

    /*

     C语言中的程序结构

     

     1.顺序结构,即上而下,按代码逐步执行

     2.分支结构,根据条件的不同,执行不同的程序语句

     

     */

    

//    printf("1\n");

//    printf("2\n");

//    printf("3\n");

    

    //分支结构语句  if语句  switch语句

    /*

     if (表达式) {

     语句块

     }

     

     if (表达式) {

     语句块

     }

     else

     {

     语句块

     }

     

     if (表达式) {

     语句块

     }

     else if (表达式)

     {

     语句块

     }

     ...

     else

     {

     语句块

     }

     

     */

    

    if(3<4){

        printf("条件成立\n");

    }

    

    if ((3)<4) {

        printf("条件成立\n");

    }

    else

    {

        printf("条件不成立\n");

    }

    

    

    int a = 5;

    if (a > 4 &&  a<=6)

    {

        printf("a在(46]范围内\n");

    }

    else if (a>6 && a<=10)

    {

        printf("a在(610]范围内\n");

    }

    else

    {

        printf("a大于10\n");

    }

    

    

    /*

     switch语法结构

     switch (表达式) {

        case 整型常量值1:

        语句块1

        break;

     case 整型常量值2:

        语句块2

        break;

     case 整型常量值3:

        语句块3

        break;

     default:

        break;

     }

     

     */

    

   

    switch (0) {

        case 0:

        {

            printf("0\n");

        }

           

        case 1:

        {

            printf("1\n");

        }

           

        case 2:

        {

            printf("2\n");

        }

            

        case 3:

        {

            printf("3\n");

        }

            

        default:

            printf("n\n");

            

            break;

    }

    

    enum WeekDays day ;

    day = Tuesday ;

    switch (day) {

        case Monday:

        {

            printf("Monday");

        }

            break;

        case Tuesday:

        {

            printf("Tuesday");

        }

            break;

        case Wendesday:

        {

            printf("Wendesday");

        }

            break;

        case Thursday:

        {

            printf("Thursday");

        }

            break;

        case Friday:

        {

            printf("Friday");

        }

            break;

        case Saturday:

        {

            printf("Saturday");

        }

            break;

        case Sunday:

        {

            printf("Sunday");

        }

            break;

            

        default:

            break;

    }

    

    

    //四则运算

    char opr = '+';

    int value1;

    int value2;

    int result = 0;

    printf("请输入两个整数:\n");

    scanf("%d%d",&value1,&value2);

    

    switch (opr) {

        case '+':

            result = value1 + value2;

            break;

        case '-':

            result = value1 - value2;

            break;

        case '*':

            result = value1 * value2;

            break;

        case '/':

            if (value2 == 0)

            {

                printf("除数不能为0");

                break;

            }

            result = value1 / value2;

            break;

        default:

            break;

    }

    

    printf("result = %d",result);

    

    



#include <stdio.h>


    /*

     循环结构(在特定条件下,某些代码循环若干次)

     while循环

     语法:

     while(表达式)

     {

        循环体

     }

     

     //先判断while括号中的表达式,如果为true,则执行循环体,否则跳出循环体

     

     do while循环

     语法:

     do{

        循环体

     }while(表达式);

     

     //先循环一次,再执行循环条件,如果条件为真,接着执行循环体,直到循环条件为假的时候跳出循环

     

     for循环

     语法:

     for(表达式1;表达式2;表达式3){

        表达式4

     }

     

     1.初始值

     2.循环判断条件

     3.自增或自减

     4.循环体

     

     

     //

     

     */

    

    //1-10的和

    

    int i = 1;

    int sum = 0 ;

    while (i <= 10) {

       

        sum += i;

        i++;

    }

    

    printf("sum = %d\n",sum);

    

    i =0;

    sum = 0;

    do {

        sum += i;

        i++;

    } while (i<= 10);

    printf("sum = %d\n",sum);

    

    sum = 0;

    for(int j =0;j<=10;j++)

    {

        if (j == 5)

        {

//            break;

            continue;

            

        }

        sum += j;

       

    }

    printf("sum = %d\n",sum);

    

    //循环嵌套

    sum = 0;

    for (int i =0; i <10; i++)

    {

        

        for (int j =0; j<10; j++)

        {

            sum += 1;

        }

    }

    

    printf("sum = %d\n",sum);

    

    //打印图形1

    

    for (int i =0; i<5; i++)

    {

        for (int j =0; j<= i; j++)

        {

            printf("*");

        }

        printf("\n");

        

    }

    

    //打印图形2

    for (int i =0; i<5; i++)

    {

        for (int j =0; j <5-i-1; j++)

        {

            printf(" ");

        }

        for (int k =0; k <2*i+1; k++)

        {

            printf("*");

        }

        printf("\n");

    }

    

    //打印九九乘法表

    for (int i =0; i<9; i++)

    {

        for (int j =0 ; j <= i; j++)

        {

            printf("%d*%d= %d\t",(j+1),(i+1),(j+1)*(i+1));

        }

        printf("\n");

    }

    

    

    //break continue

    sum= 0;

    for (int i =0; i<10 ; i++)

    {

        for (int j =0; j<10 ; j++)

        {

            if (j == 5)

            {

                continue;

            }

            

            sum += 1;

        }

    }

    printf("sum = %d\n",sum);

    

    /*

     whiledo while循环用于指导循环结束的条件的情况下

     do while循环用于最少执行一次的情况

     for(;;)用于知道循环次数

     

     三种情况可以相互转换

     

     break continue

     break 表示终止本层循环

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

     

     if switch区别

     if判断条件,处理逻辑表达式

     

     switch通常处理算术表达式字符,当它等于什么什么,转向做什么什么

     

     

     */

    

   

    return 0;

}








   C语言 if分支与循环语句(2)





//

//  main.c

//  Kiwir-02

//

//  Created by 谭其伟 on 15/11/26.

//  Copyright © 2015 Kiwir. All rights reserved.

//


#include <stdio.h>


int main(int argc,constchar * argv[]) {

    // insert code here...

    printf("Hello, World!\n");

    

    

//    int a , b , c ;

//    printf("请输入任意三个整数:\n" );

    //如果加了%d,则后面要加一个输入的字符:(%d,i),如果没有的话则输出内容里面的。

    

//    scanf("%d%d%d",&a,&b,&c);

//    if (a > b && a > c){

//        printf("最大值=%d\n ",a );

//        

//    }

//    else if (b > a && b > c){

//        printf("最大值=%d\n",b );

//    }

//    else {

//        printf("最大值=%d\n", c);

//    }

    

    //花括号的问题有还没没有的区别?如果有花括号,则if语句作用于花括号里的所有内容,如果不使用花括号,则if作用到下一个;分号为止。

    

    

    //3.循环结构,在特定条件下,重复执行代码若干次

    /*

     循环结构(在特定条件下,某些代码循环若干次)

     while循环

     语法:

     while(表达式)

     {

        循环体

     }

     //如果表达式为true,则运行循环体内容,然后再回到表达式继续运行,走到表达式为false才停止。

     //所以在循环里一定有用一个条件使得最后能不满足而停止运行。

     

     do while循环

     语法:

     do{

        循环体

     }while(表达式);

     特点:先循环一次,再执行循环条件,如果条件为真,接着执行循环体,直到循环条件为假时跳出循环体。

     

     for循环

     语法:

     for(表达式1;表达式2;表达式3){

        表达式4

     }

     

     1.初始值

     2.循环判断条件

     3.自增或自减

     4.循环体

     

     执行顺序为1-2-4-3-2-4-3-2-4....

     

     

     

     

     */

    

    

    

    //1-10的和

    int i = 1;

    int sum =0;

    while (i <= 10){

        sum += i;

        i++;

    }

    printf("sum = %d\n",sum);

    

    

   

    i = 0;

    sum =0;

    do {

        sum += i;

        i++;

    } while (i<= 10);

    printf("sum = %d\n",sum);

    

    

    

    sum = 0;

    for (int j =0;j <=10;j++)

    {

        sum += j;

    }

    printf("sum = %d\n",sum);

    

    

    //如果只想要15的和

    sum = 0;

    for (int j =0;j <=10;j++)

    {

        if (j > 5) {

            break;

        }

        sum += j;

    }

    printf("sum = %d\n",sum);

    

    

    

    //如果想求1-10但不要5之和:

    sum = 0;

    for (int j =0;j <=10;j++)

    {

        if (j == 5) {

            continue;

        }

        sum += j;

    }

    printf("sum = %d\n",sum);

    

    

    //循环嵌套

    

    sum = 0;

    for (int i =0; i <10; i++)

    {

        for (int j =0; j <10; j++)

        {

            sum +=1;

        }

    }

    

    printf("sum = %d\n",sum);

    

    

    

    //打印图形1

    

    for (int i =0; i <5; i++) {

        for (int j =0; j<= i; j++) {

            printf("*");

        }

        printf("\n");

        

    }

    

    

    

    //打印图形2

    //外层循环(第一个for循环)用来控制行数,内循环用来控制星星数

    //下面这里还包含空格数而且空格先出现再到星星,所以要用两个内循环,第一个内循环为空格的,第二个内循环是星星的。而且执行完第一个内循环后继续执行第二个内循环,依次向下执行完到最后再回到外循环再执行循环。

    

    for (int i =0; i <5; i++)                    //i代表行数

    {

        for (int j =0; j<5-i-1; j++) {           //j代表空格数

            printf(" ");

        }

        for (int k =0; k<2*i+1; k++) {            //k代表星星数

            printf("*");

        }

        printf("\n");                              //每打完一行换行

        

    }

    

    

    //打印九九乘法表:

    

    

    for (int i =0; i <9; i++)                                        //i代表行数

    {

       

        for (int j =0; j<= i; j++)                                    //j代表列数

        {

            printf("%d*%d=%d\t",(j+1),(i+1),(j+1)*(i+1));             //“引号里的每一个%d都一一对应着引号后面的每一个字符串

        }          //前要是有空格则下面有可能不对齐了,因为这里引号里的内容是全部输出的。

       

        printf("\n");                                                  //每打完一行换行

        

    }

    

    

    

    //总结:

    

    /*

     whiledo while循环用于指导循环结束的条件的情况下

     do while循环用于最少执行一次的情况

     for(;;)用于知道循环次数

     

     三种情况可以相互转换

     

     break continue 

     break 表示终止本层循环

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

     

     if switch区别

     if 判断条件,处理逻辑表达式

     

     switch 通常处理算术表达式字符,当它等于什么什么,转向做什么什么

     

     */

    

    

    

    //作业:1用分支结构实现输出三个数中的最大值。

    

//    int a1, b1, c1;

//    printf("请输入三个整数\n");

//    scanf("%d%d%d",&a1,&b1,&c1);

//    if (a1>b1 && a1>c1)

//        printf("最大值为%d\n",a1);

//    

//    else if (b1>a1 && b1>c1)

//        printf("最大值为%d\n",b1);

//    

//    else

//        printf("最大值为%d\n",c1);

//    

    

    

    //作业:2计算1-100间所有奇数的和

    

    int sum1 = 0;

    for (int q =0;q <=100; q++) {

        if (q % 2 ==0) {

            continue;

        }

        sum1 += q;

    }

    printf("sum1=%d\n",sum1);

    

    

    //作业:3编程求1100之间能被3整除的和。

    

    int sum2 =0;

    for (int w =0; w <=100; w++) {

        if (w % 3 !=0) {

            continue;

        }

        sum2 += w;

    }

    printf("sum2=%d\n",sum2);

    

    

     //作业:3编程求1100之间能被3整除的数。

    printf("以下是从1-100能被3整除的数:\n");

    for (int z =1; z <=100; z++) {

        if (z % 3 ==0)

        {

            printf("%d ",z);    }

    

    }

    printf("\n");

    

    //2do while

    int z1 =1;

    printf("以下是能被3整除的数:\n");

    do{

        if (z1 % 3 ==0) {

            printf("%d ",z1);

        }

        z1++;

        }

    while (z1 <= 100);

    printf("\n");

    

    

    //作业4:从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,

    //      要求显示100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各多少张。

    //      (输出面额最大值:比如345.78=100*3+10*4+5*1+0.5*1+0.1*2+0.01*8)

    


    

    return 0;

}



0 0