C言語漫談(二)

6337 ワード

一.ブール型
なお、C 89にはブールタイプは存在せず、C 99にのみ存在する.CエンジニアリングはC 89をサポートし、OCエンジニアリングはC 99をサポートします.
1.2つの数値:bool true(真)false(偽)C言語BOOL YES(真)NO(偽)OC言語
2.真と偽の表示C言語が0でないことを真0とする偽OC言語YESを1 NOと定義し0とする
3.作用主に分岐文とループ文の判断例に用いられる
    BOOL a1 = YES;
    BOOL a2 = NO;
    printf("a1=%d",a1);
    printf("a2=%d",a2);
    BOOL a3 = YES;
    BOOL a4 = NO;
    printf("%d %d",a3,a4);

二.かんけいえんざん
関係演算子1.2つの数の比較に使用します.2.関係演算子の演算結果:真偽.BOOLタイプ変数を使用して結果を受け入れます.3.関係式:定数、変数、および関係演算子からなる.例:
    BOOL a1 = 5 > 3;//   YES
    printf("%d",a1);
    BOOL a2 = 5 < 3;//   NO
    printf("%d",a2);
//        ,      ,      BOOl          
    int age1 = 0, age2 = 0;
    scanf("%d %d",&age1,&age2);
    BOOL a = age1 > age2;
    printf("%d",a);
    //      ,           ,    BOOL          
    int a1 = 0,a2 = 1, a3 = 2;
    BOOL a4 = a1 > a2 >a3;
    printf("%d",a4);
 //     ,    
    BOOL r1 = 5 >= 5;//    
    printf("%d",r1);
    BOOL r2 = 6 <= 1;
    printf("%d",r2);
  //    ==    !=
    BOOL r3 = 7 == 8;
    BOOL  r4 = 29 != 29;
    printf("%d %d",r3,r4);
   //   :==(              ),            
    //=(                )       

三.論理演算子
論理演算子:1.論理と論理または論理非2.論理演算の結果は2種類ある-真偽.通常BOOL変数で受信.3.論理式:定数、変数、論理演算子で構成されます.*論理と&&形式:式1&&式2の演算規則:(1)式1を先に実行し、式2を実行する.(2)式1と式2の結果が同じ真であるこそ真であり、偽である.(3)短絡現象:式1の結果が偽であると式2を実行しない.例を挙げる
//       ,           ,          . BOOL       
    int a = 10,b = 20;
    BOOL r1 = (a3);
    printf("%d",r1);

*論理または||形式:式1||式2の演算規則(1)式1を先に実行し、式2(2)式1と式2の結果が同じであることが偽であり、真である.(3)短絡現象:式1が真であれば式2を実行しない.例を挙げる
    int a = 10,b = 20;
    BOOL r1 = (a3);
    printf("%d",r1);
    BOOL r2 = (a==3) || (b>a);
    BOOL r3 = (a>3) || (b>a);
    printf("%d %d",r2,r3);
//    
    BOOL r4 = (a<5) || (a++);
    BOOL r5 = (a>5) || (a++);

*論理的非!(1)逆演算をとる.(2)演算規則:真偽に対して逆
    BOOL a = YES;
    BOOL b = !a;
    printf("a=%d b=%d",a,b);

    BOOL c = NO,d = !c;
    printf("c=%d d=%d",c,d);

最後に、コンテンツ演算子の優先順位演算子>リレーショナル演算子>論理演算子>割り当て演算子の例に注意します.
    int a = 3,b = 4, c =5;
    BOOL r1 = a + b > c && b == c;
    BOOL r2 = a || (b + c && b - c);//b-c  0   
    printf("%d %d
"
,r1,r2);