「C言語/制御文」の版間の差分

削除された内容 追加された内容
syntaxhighlight
編集の要約なし
9 行
 
なお、プログラムでは「もし変数aが4だったら、変数gには15を代入しなさい」は、
<syntaxhighlight lang=c"C">
if (a==4)
g=15;
18 行
条件が満たされる場合のことを'''真'''(しん)という。条件が満たされない場合のことを'''偽'''(ぎ)という。
 
<syntaxhighlight lang=c"C">
if (a==4)
</syntaxhighlight>
25 行
 
 
<syntaxhighlight lang=c"C">
#include <stdio.h>
 
53 行
もし、条件式を変更すると、・・・
 
<syntaxhighlight lang=c"C">
#include <stdio.h>
 
80 行
右辺が0の場合は偽となり、右辺が0以外の場合は真となる。
コンパイルエラーとはならないが、予期しない結果を引き起こす。
<syntaxhighlight lang=c"C">
if (i=0)
printf("iは0");
91 行
if文でよくある間違いの1つに、
if文の後に誤った;を付加することがある。
<syntaxhighlight lang=c"C">
if (i==0);
printf("iは0");
103 行
if文には次の2通りの形式がある。
* if形式
<syntaxhighlight lang=c"C">
if (式)
111 行
 
* if-else形式
<syntaxhighlight lang=c"C">
if (式)
123 行
*if-else if-...-else形式
上の2つの形式を組み合わせて次のように連続して記述することもできる。
<syntaxhighlight lang=c"C">
if (式)
137 行
 
なおif文に限らないが、一般に文はブロックであってもかまわない。
<syntaxhighlight lang=c"C">
//例 if文の使用例
#include<stdio.h>
160 行
なお、WindowsのVisual C系のコンパイラではscanfが使えなく、上記のコードのままではエラーになるので、かわりにscanf_sという命令を使用します。
 
<syntaxhighlight lang=cpp"C"pp>
//例 if文の使用例
// Visual C 用のコード
196 行
==== if文の書き換え ====
if文は、0が偽、0以外が真であることを用いて、次のように簡潔に書き換えることができる。
<syntaxhighlight lang=c"C">
if(i!=0)
//↓
208 行
==== if文のネスト ====
if文の中にif文を入れることを、ネストまたは入れ子という。
<syntaxhighlight lang=c"C">
//例 if文のネストの使用例
#include "stdio.h"
225 行
WindowsのVisual C系コンパイラでは、scanfが利用できないので上記のコードはエラーになり利用できません。Visual C では、代わりに scanf_s という命令を使用します。
 
<syntaxhighlight lang=cpp"C"pp>
//例 if文のネストの使用例
// Visual C 用
247 行
 
なお、上の(非Visual C系のコードの)例は &&演算子 を用いて、次のように簡潔に書き換えることができる。
<syntaxhighlight lang=c"C">
// 例 if文で&&演算子を用いる。
#include "stdio.h"
338 行
switch文の記述は次のようになっている。
*switch-case-...-default文
<syntaxhighlight lang=c"C">
switch (整数式){
case 整数定数式:
354 行
break文の書き忘れに注意してください。なお、あえてbreak文を書かなくてもよく、その場合をフォールスルーと呼びます。
 
<syntaxhighlight lang=c"C">
//例 switch文の使用例
#include<stdio.h>
387 行
while文の記述は次のようになっている。
*while文
<syntaxhighlight lang=c"C">
while(式)
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 while文の使用例
#include<stdio.h>
409 行
==== 無限ループ ====
無限ループとは、文の実行が無限に繰り返されることである。
<syntaxhighlight lang=c"C">
while(1)
421 行
 
;例
<syntaxhighlight lang=c"C">
// 無限ループ
#include<stdio.h>
448 行
ウィンドウズのVisual C系コンパイラの場合、下記のコードのように、scanfをscanf_sに変えてください。(なお、scanf_sの3つめの引数(下記の例では「10」)の数字は、記憶するデータ数です。)
 
<syntaxhighlight lang=cpp"C"pp>
// Visual C系コンパイラ用
// 無限ループ
485 行
do-while文の記述は次のようになっている。
*do-while文
<syntaxhighlight lang=c"C">
do
491 行
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 do-while文の使用例
#include<stdio.h>
517 行
for文の記述は次のようになっている。
*for文
<syntaxhighlight lang=c"C">
for(初期化式; 前実行式; 後実行式)
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 for文の使用例
#include<stdio.h>
537 行
==== for文のネスト ====
for文の中にfor文を入れることを、ネストまたは入れ子という。
<syntaxhighlight lang=c"C">
// 例 for文のネストの使用例。九九を表示する。
#include<stdio.h>
570 行
goto文及びラベルの記述は次のようになっている。
*goto文
<syntaxhighlight lang=c"C">
goto 識別子;
</syntaxhighlight>
*ラベル
<syntaxhighlight lang=c"C">
識別子:
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 goto文の使用例
#include <stdio.h>
603 行
continue文の記述は次のようになっている。
*continue文
<syntaxhighlight lang=c"C">
continue;
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 continue文の使用例
#include <stdio.h>
631 行
break文の記述は次のようになっている。
*break文
<syntaxhighlight lang=c"C">
break;
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 break文の使用例
#include <stdio.h>
660 行
return文の記述は次のようになっている。
*return文
<syntaxhighlight lang=c"C">
return 式;
</syntaxhighlight>
 
<syntaxhighlight lang=c"C">
//例 return文の使用例
#include <stdio.h>