iT邦幫忙

2021 iThome 鐵人賽

DAY 3
0
自我挑戰組

C語言救救我系列 第 3

Day3-"if-else"

  • 分享至 

  • xImage
  •  

if(單一選擇敘述)就是當某個條件成立時,就去做下列執行條件,反之當條件不成立時,就不會做這些事,下面為示範。

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int i;
	int x;
	printf("請輸入正數數值\n");
	scanf("%d",&i);
	printf("\n");
	if(i>0) x=i; 
	printf("i = %d\n\n",i);
	printf("x = %d\n\n",x);
}

圖1
https://ithelp.ithome.com.tw/upload/images/20210910/20141711JTmCepWyjd.png


if-else(雙向選擇敘述),在單一選擇敘述時當條件不成立時我們就無法執行,因此雙向選擇敘述就可以執行當條件不滿足時的動作,下面為示範。

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int i;
	int x;
	printf("請輸入正數數值\n");
	scanf("%d",&i);
	printf("\n");
	if(i>0) 
	{
		x=i+1;
		printf("i = %d\n\n",i);
		printf("x = %d\n\n",x);
	} 
	else printf("輸入錯誤%d",i);
	
}

圖2
https://ithelp.ithome.com.tw/upload/images/20210910/20141711I4FajyENaX.png

圖3
https://ithelp.ithome.com.tw/upload/images/20210910/20141711uPuu6SACPX.png

如圖2所示,條件成立式會執行x=i+1,並將i與x的值印出

如圖3所示,利用if-else時在條件不成立時會執行else的動作將輸入的值印出,而不是執行if的動作


巢狀式選擇敘述為if-else 中在包含了if-else,一般常用於判斷上需要兩個以上的選擇條件時,雖然可用運算式來解決巢狀敘述,但因為這樣運算式會變得過於複雜,因此大部分還是會選擇巢狀敘述。

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int i;
	int x;
	printf("請輸入介於10~100的數值\n");
	scanf("%d",&i);
	printf("\n");
	if(i>10) 
	{
		
		if(i>100)
		{
			x=i+1;
			printf("超出範圍");
		}
		else
		{
			x=i-1;
			printf("i = %d\n\n",i);
			printf("x = %d\n\n",x);
		}
		
	} 
	else printf("超出範圍");
	
}

圖4
https://ithelp.ithome.com.tw/upload/images/20210910/20141711eHzMFAohaa.png

else-if並不是C語言的敘述,但它只是將if-else重新排序而已,因此在這並不會多做介紹。


switch-case(多向選擇敘述),除了用多個巢狀式if-else之外的選擇,多向選擇敘述可使程式碼看起來更清楚簡潔

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
	int i;
	int x;
	printf("請輸入成績\n");
	scanf("%d",&i);
	printf("\n");
	if((i>=0) && (i<=100)) 
	{ 
		switch(i%5)
		{
			case 1:
				printf("第一組"); 
				break;
			case 2:
				printf("第二組");
				break;
			case 3:
				printf("第三組");
				break;
			case 4:
				printf("第四組");
				break;
			case 0:
				printf("第五組");
				break;
			
		} 
	} 
	else
	{
		printf("輸入錯誤");
	} 
}

圖5
https://ithelp.ithome.com.tw/upload/images/20210910/20141711I49VqelIm2.png

圖6
https://ithelp.ithome.com.tw/upload/images/20210910/20141711Ws7gaMstH2.png

/images/emoticon/emoticon29.gif
Day3就到這啦BYE~


上一篇
Day2-"基本介紹+基本運算"
下一篇
Day4-"迴圈"
系列文
C語言救救我30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言