フローチャートとプログラムを使用したC言語での意思決定の概念
以下は意思決定ステートメントです-
- シンプル–ifステートメント
- if –elseステートメント
- ネスト–ifelseステートメント
- その他–はしごの場合
- switchステートメント
シンプル–ifステートメント
「if」キーワードは、論理条件が真の場合に一連のステートメントを実行するために使用されます。
構文
if (condition){ Statement (s) }
例
次の例では、数値が50より大きいかどうかを確認します。
#include<stdio.h> main (){ int a; printf (“enter any number:\n”); scanf (“%d”, &a); if (a>50) printf (“%d is greater than 50”, a); }
出力
1) enter any number: 60 60 is greater than 50 . 2) enter any number 20 no output
ifelseステートメント
if –elseステートメントはTrueまたはFalse条件を取ります。
構文
if (condition){ True block statement(s) } else{ False block statement(s) }
フローチャート
例
以下は、偶数または奇数をチェックするプログラムです-
#include<stdio.h> main (){ int n; printf (“enter any number:\n”); scanf (“%d”, &n); if (n%2 ==0) printf (“%d is even number”, n); else printf( “%d is odd number”, n); }
出力
1) enter any number: 10 10 is even number
ネストされたif-elseステートメント
ここで、「if」は別のif(または)else-
の中に配置されます構文
if (condition1){ if (condition2) stmt1; else stmt2; } else{ if (condition3) stmt3; else stmt4; }
フローチャート
例
次の例は、指定された数値から3つの数値のうち最大のものを出力することです-
#include<stdio.h> main (){ int a,b,c; printf (“enter 3 numbers”); scanf (“%d%d%d”, &a, &b, &c); if (a>b){ if (a>c) printf (“%d is largest”, a); else printf (“%d is largest”, c); } else { if (b>c) printf (“%d is largest”, b); else printf (“%d is largest”, c); } }
出力
enter 3 numbers = 10 20 30 30 is largest
その他–はしごの場合
これは多方向の決定条件です。
構文
if (condition1) stmt1; else if (condition2) stmt2; - - - - - - - - - - else if (condition n) stmt n; else stmt x;
フローチャート
例
次の例では、2次方程式の根を見つけます-
#include <math.h> main (){ int a,b,c,d; float r1, r2 printf ("enter the values a b c"); scanf (“%d%d%d”, &a, &b, &c); d= b*b – 4*a*c ; if (d>0){ r1 = (-b+sqrt(d)) / (2*a); r2 = (-b-sqrt(d)) / (2*a); printf (“root1 ,root2 =%f%f”, r1, r2); } else if (d== 0){ r1 = -b / (2*a); r2 = -b/ (2*a); printf (“root1, root2 = %f%f”, r1, r2); } else printf ("roots are imaginary”); }
出力
1) enter the values of a b c : 1 4 3 Root 1 = -1 Root 2 = -3
Switchステートメント
複数の決定の中から1つを選択するのに役立ちます。
構文
switch (expression){ case value1 : stmt1; break; case value2 : stmt2; break; - - - - - - default : stmt – x; }
構文
例
#include<stdio.h> main (){ int n; printf (“enter a number”); scanf (“%d”, &n); switch (n){ case 0 : printf (“zero”) break; case 1 : printf (‘one”); break; default : printf (‘wrong choice”); } }
出力
enter a number 1 One
-
C言語でのポインタと配列の概念を説明する
ポインタと配列 連続メモリ位置は、コンパイラによって配列のすべての要素に割り当てられます。 ベースアドレスは、配列の最初の要素の場所です。 たとえば、 int a [5] ={10、20,30,40,50}; 5つの要素は次のように格納されます- 「p」が整数ポインタとして宣言されている場合、配列「a」は次の代入で指すことができます- p=a or p=&a[0]; 「a」の各値には、p++を使用して1つの要素から別の要素に移動することでアクセスします。ポインターがインクリメントされると、その値は、ポインターが指すデータ型のサイズだけ増加します。この長さは「スケー
-
C言語のループ制御ステートメントとは何ですか?フローチャートとプログラムで説明する
ループ制御ステートメントは、一連のステートメントを繰り返すために使用されます。それらは次のとおりです- forループ whileループ do-whileループ forループ 構文は次のとおりです- for (initialization ; condition ; increment / decrement){ body of the loop } フローチャート ループのフローチャートは次のとおりです- 初期化は通常、ループ制御変数を設定するために使用される割り当てステートメントです。 条件は、ループがいつ終了するかを決定する関係式です。