Fork me on https://github.com

The Second day learning(C语言 if else)

BOOL,布尔类型,1个字节,非真即假的数据类型,只有两个值YESNO

定义BOOL类型的变量

    BOOL isGirl = NO;//NO = 0

    BOOL isBoy = YES;//YES = 1

    

输出BOOL类型的变量使用%d

    printf("%d, %d\n", isGirl, isBoy);

    

C语言规定:0即为真

    BOOL flag = 0;//

    flag = 10;//

    flag = -10;//

    

关系运算符

    int m = 5,n = 10;

大于 >

    BOOL result = m > n;

    printf("%d\n", result);

小于 <

    result = m < n;

    printf("%d\n", result);

大于等于 >=

    result = m >= n;

    printf("%d\n", result);

小于等于 <=

    result = m <= n;

    printf("%d\n", result);

等于 ==

    result = m == n;

    printf("%d\n", result);

不等于 !=

    result = m != n;

    printf("%d\n", result);

 

逻辑运算符

    int i = 3, j = 5, k = 7;

逻辑与, &&, 并且

&& 左右两侧同时为真才为真只要一个为假即为假

    result = (i <= j) && (j == k);

    printf("%d\n", result);

 逻辑或, ||, 或者

 ||左右两侧同时为假才为假只有一个为真即为真

    result = (j != k) || (j < k);

    printf("%d\n", result);

 逻辑非, !, 颠倒是非

    result = !(i != k);

    printf("%d\n", result);

逻辑短路

1.逻辑与的短路, &&左侧为假右侧不参与运算

   int c = 0;

  result = i > k && ++c;

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

2.逻辑或的短路, ||左侧位真右侧不参与运算

  result = (i + k) >= j || c++;

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

 

C语言的程序结构

1.顺序结构, main函数是程序入口程序执行是从上往下从左向右一次执行

2.分支结构程序执行到某个位置进行条件判断根据不同的结果执行不同的操作

3.循环结构程序执行到某个位置反复执行某个操作

    

分支语句

if语句

第一种if与句形式

    /*

    if (条件表达式) {

        语句1;

        语句2;

        ...

    }

    */

执行顺序先判断条件表达式是否为真为真则执行大括号中的语句为假则不执行

   

 /*

    char s;

    printf("输入一个字符:");

    scanf("%c", &s);

    if (s == 'm') {

        printf("男性\n");

    }

    if (s != 'm') {

        printf("女性\n");

    }

 */

 

if 语句的第二种形式

    /*

    if (条件表达式) {

        语句1;

        ...

    } else {

        语句2;

        ...

    }

    */

执行顺序先判断条件表达式如果为真执行第一个大括号中的语句如果为假执行第二个大括号中的语句

    /*

    int a1 = 0, a2 = 0;

    printf("输入两个整数a1 a2:");

    scanf("%d %d", &a1, &a2);

    if (a1 >= a2) {

        printf("max = %d\n", a1);

    } else {

        printf("max = %d\n", a2);

    }

*/

  

if语句的第三种形式

    /*

    if (条件表达式1) {

        语句1;

        语句2;

        ...

    } else if(条件表达式2) {

        语句1;

        语句2;

        ...

    } else {

        语句1;

        语句2;

        ...

    }

    */

执行顺序先判断条件表达式1, 如果成立执行if大括号中的语句如果不成立再判断条件表达式2, 如果成立执行else if大括号中的语句如果不成立就执行else后面大括号中的语句

这种结构必须以if开头else结束中间写else if, 并且else if可以有多个

  /*

    float score = 0.0;

    printf("请输入一个成绩:");

    scanf("%f", &score);

    if (score >= 0 && score <= 100) {

        if (score >= 90 && score <= 100) {

            printf("\n");

        } else if(score >= 80) {

            printf("\n");

        } else if(score >= 70) {

            printf("\n");

        } else if(score >= 60) {

            printf("\n");

        } else {

            printf("不及格\n");

        }

    } else {

        printf("地球不适合你!\n");

    }

     */

   /*

   

条件运算符 ? :

格式

 条件表达式 ? 表达式1 : 表达式2;

 执行顺序先判断条件表达式如果成立返回表达式1; 不成立返回表达式2

 int num1 = 5, num2 = 10;

    int max = 0, min = 0;

    //num1num2中的最大值赋给max

//    if (num1 > num2) {

//        max = num1;

//    } else {

//        max = num2;

//    }

    max = num1 > num2 ? num1 : num2;

    min = num1 < num2 ? num1 : num2;

    printf("max = %d min = %d\n", max,min);

  

 switch语句

    /*

    switch (整型表达式) {

       case 1:

          执行语句

          break;

       case 2:

          执行语句

          break;

       case ...:

          ...

          break;

       default:

          break;

    }

    */

    

    int count = 0;//酸奶的瓶数

    printf("买几瓶酸奶?(13,310)");

    scanf("%d", &count);

    switch (count) {

        case1:

            printf("消费了3\n");

            break;

        case3:

            printf("消费了10\n");

            break;

        default:

            printf("消费了%d\n", count * 3);

            break;

    }

 : case中要加break

 如果在case内部定义变量需要加大括号

    

posted @ 2015-09-21 19:33  OrangesChen  阅读(168)  评论(0编辑  收藏  举报