I ♥ WordPress

[時間割:C言語]『はじめてのC言語完全入門』その7
2008/10/15 00:36 posted by kunkichi

連休明けですががんばります。ということで先週〜連休中にかけての分はそのうちアップします。今日は『C言語』。

はじめてのC言語 完全入門 (標準プログラマーズライブラリ)
塚越 一雄
技術評論社
売り上げランキング: 420963


高度な選択文

  • else if、switch、ifのネスト、三項演算子、この辺はほぼ他言語と同じ。
  • 論理演算子のTIPS(というかひねりが効いたやり方)
    #include <stdio.h>
     
    int main()
    {
      int num1, num2;
      
      num1=0;
      num2=0;
      
      printf("整数? ");
      scanf("%d",&num1);
      
      if( num1 && (num2=100) )
        printf("num1=%d, num2=%d \n",num1,num2);
      else
        printf("num1=%d, num2=%d \n",num1,num2);
      
      return 0;
    }
    ./sample
    整数? 0
    num1=0, num2=0
    $ ./sample
    整数? 1
    num1=1, num2=100
    すなわち、&&を使った論理演算子の場合、最初の評価が偽だった場合は二つ目の評価は行わない。これを利用して、最初の評価が真だった場合のみ、代入を行う。
  • ||の場合は逆になり、最初が真だった場合は二つ目の評価を行わずに、最初が偽だった場合のみ、二つ目の評価で代入を行う。#include <stdio.h>
     
    int main()
    {
      int num1, num2;
      
      num1=0;
      num2=0;
      
      printf("整数? ");
      scanf("%d",&num1);
      
      if( num1 || (num2=100) )
        printf("num1=%d, num2=%d \n",num1,num2);
      else
        printf("num1=%d, num2=%d \n",num1,num2);
      
      return 0;
    }
    $ ./sample
    整数? 0
    num1=0, num2=100
    $ ./sample
    整数? 1
    num1=1, num2=0

反復文

  • 代入演算子、インクリメント、デクリメントは全く同じ。
  • while、do〜while、も同じ。do〜whileってあんまり使ったことないのだけど、入力検査に使うのは納得。
  • forも同じやけど、Cの場合、ループ変数の宣言は別途せなあかんと、、、

この辺、目新しいところは特になかったな。まあ初歩レベルってことで。

コメント&トラックバック

トラックバックURL





このページの先頭へ