第九回 分岐:if文

コマンド

  • いままでのでてきたコマンド

必修

cd, pwd, ls, grep, cat, head, tail

そのほか

history, wc, w3m,

  • 今回は地味なもの.
    • mkdirコマンド: フォルダをつくる.

mkdir フォルダ名

例 tmp1という名前のフォルダをつくる。

mkdir tmp1

    • mvコマンド:ファイルの名前を変える

mv 元のファイル名 変えたいファイル名

echo "test"

testと表示するコマンド

echo "test" > test.txt

リダイレクトでtext.txtファイルを作成。

mv test.txt test.c

今作った,test.txt をtest.cに変更.

    • mvコマンドは移動もできる.

mv 元のファイル名 移動したいフォルダ名

mv test1.txt tmp1

例)

mkdir tmp1

tmp1というフォルダをつくる.


C言語

条件分岐をやります.

条件分岐は,大雑把にいうと,
「~のとき(条件)」に「...」を実行する
というものです.

  • 基本的には,以下のように書きます.if文といいます.
if(条件){
  条件をみたしたときの実行内容
}
  • elseを後ろにつけると条件をみたさない場合も書けます.If Else文といいます。
if(条件){
  条件をみたしたときのの実行内容

}else{

   条件をみたさないときの実行内容

}

条件は,

i<j:  iがjより小さい場合
i>j:  iがjより大きい場合
i<=j: iがjより小さい場合(iとjが等しいを含む)
i>=j:  iがjより大きい場合(iとjが等しいを含む)
i==j:  iとjが等しい場合(「i=j」でないので注意!.)
i!=j:  iとjが等しくない場合

ほかは、おいおいやる.

&& かつ (and)
|| または (or)
!  否定 

例えば,
if(i>=2 && j>=3) ならば,iが2以上かつjが3以上
if(i>=2 || j>=3) ならば,iが2以上またはjが3以上
if(i>=2 && j>=3 && k<3) ならば,iが2以上かつjかつ3以上かつkが3以上
if(!(i<=2)) 「iが2より小さく」ない、ときに実行
if(!(i<=2 && j>=3)) 「iが2より小さくかつjが3より大きい」ではない、ときに実行

  • 例 iが負の値だったら警告をだすをたす.

i=2だと、、、
//はコメントなので「//」ではじまる行は無視されることに注意

int main(){
  int i; 
  i=2;
   
   printf("start\n");
   if(i<0){
        printf("Negative!\n");

   }
   printf("end\n");

}

実行結果

start
end

i=-3だと、、、

int main(){
  int i;
  i=2; 
  //i=-3;
   
   printf("start\n");
   if(i<0){
        printf("Negaive!\n");

   }
   printf("end\n");

}

実行結果

start
Negative!
end

  • 例 値が10のときだけ1000をたす.

i=-3 だと,

int main(){
  int i;
  //i=2; 
  i=-3;
   
   printf("start\n");
   if(i==10){
        sum=i+1000

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

}


i=2 だと,
//はコメントなので「//」ではじまる行は無視されることに注意

int main(){
  int i; 
  i=2;
  //i=10; 
   
   printf("start\n");
   if(i==10){
        sum=i+1000

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

}

出力

ik

i=10だと,

int main(){
  int i; 
  //i=2;
  i=10; 
   
   printf("start\n");
   if(i==10){
        sum=i+1000

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

}

ポイント 「==」は等しいの意味。代入の=と区別する.

    • 実数だと?

x=10.3のときに100を足す.
|

x=10だと,

int main(){
   double x;
   double sum;
   //i=2;
   x=10;
   printf("%lf\n",x);
   if(x==10.3){
       sum=x+100;

   }
  
  printf("%lf\n",sum);

}

x=10.3のときに100を足す.
|