c言語選択構造文

4146 ワード

よく使われるif elseとswitchをまとめます.その中でswitchのbreak知識点は筆記試験問題でよく試験される内容です.
if elseとelse if
C言語では、if else選択文をよく使用して、多くの対応する機能を実現します.この部分は簡単で学びやすいですが、基礎の基礎です.特に記録して、私の当初のようにプログラミングを学んで迷った初心者の参考に供します.
if-else文を直接使用する
int num;
scanf("%d",&num)
if(num==1)
{
   printf("you input is 1
"); } else      printf("you input is another
");

上のコードはnum=1であればyou input is 1を出力することを示す.そうでなければ、you input is anotherを出力します.
これは最も基本的な選択文です.ifまたはelse条件の後ろに文が1つしかない場合、カッコは書かないで書くことができ、つけないとインデントを覚えて、美観と規範のために、一般的に書きます.
二ネストif else、else if文の使用
まず次のコードを見てみましょう
#include
 
int main()
{
 
    int a,b,c;
 
    scanf("%d",&a);//  a
 
    if(a==0)  //  a  0,  ,
    {
        printf("welcome here
");         scanf("%d",&b); // b         if(b==5)   // b 5, , you intput is 5,         {             printf("you intput is 5
");         } else if(b>5) { printf("More than 5
"); }         else         {                  printf("Less than 5
");    // b>=5, Less than 5,         }     } //end for if(a==0)     else         puts("hello world"); }

 
1つのifはelseに対応し、ペアに注意する必要があります.コードを記述する際にif-elseを多く使用する場合は、対応するカッコを追加し、コードの可読性を高めることに注意してください.ifを使用した後,別の条件判断を必要としなければelseを使用しなくてもよい.括弧が多い場合は、混同しないように、右括弧}の後ろにどのセグメントに属する括弧かを注記します.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
switch-case
C言語では、switchの実行ルールは、caseの後の定数とswitchの後の式が一致しているかどうかを判断し、一致している場合はbreakが終了するまでcaseの後のプログラムコードを実行することです.
#include
 
int main() 
{
int num;
 
while(1)
{
    printf("******************************************
"); // printf("------------- ------------------
"); printf("------------1: hello-------------------
"); printf("------------2: world------------------
"); printf("------------3: welcome--------------
"); printf("------------4: ------------------------
"); printf("******************************************
"); printf(" :
");   scanf("%d",&num);  // switch(num) { case 1:     printf("hello
"); break;    //break switch , , switch, case 2:     printf("world
"); break; case 3:    printf("welcome
"); break; case 4:    sleep(1); // 1s exit(0); // default:   // 1,2,3,4 , switch break; } } return 0; }

分析:
1、switch case文のbreakについて説明します.breakは加算できるかしないかです.例えばcase 1の後ろにbreakがない場合、1を入力するとマッチングに成功します.
helloが印刷されます.次に自動的に下に進み、breakに遭遇するまでcase 2の後の文を実行します.case 2にbreakがない場合は、case 3の文を引き続き実行し、breakに遭遇して終了します.後ろにbreakがない場合は、switch case全体のプログラムが順次実行されます.
栗を挙げて、例えば次のプログラムです.
int n=10;

switch (n++)
{
	default:
		break;
	case 10:
		printf("123");
	case 5:
		printf("456");
		break;
	case 6:
		printf("789");
		break;
}

123456が出力されます.case 10:条件を満たすため、123を印刷するが、breakはなく、プログラムは引き続き実行され、456を印刷し、breakに遭遇した後に終了する.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2、exit(0)は正常にプログラムを実行して終了することを示す.    exit(1)は、プログラムが正常に実行されていないため、終了したことを示します.一般的に0は正常に終了し、0以外は異常です.
単一のプログラムでは機能しませんが、1つのプログラムで別のプログラムを呼び出すと、この戻り値は呼び出したプログラムの実行に異常があるかどうかを見ることができます.