Day3-"if-else"

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~


<<:  Day10-CallBack

>>:  寝室的秘密授课(四):测试覆盖率 Test Coverage

Angular 深入浅出三十天:表单与测试 Day06 - 单元测试实作 - 登入系统 by Template Driven Forms

今天我们要来为我们用 Template Driven Forms 所撰写的登入系统写单元测试,如果...

企划实现(25)

在fragment里面使用元件 常常在写程序时会遇到再fragment抓不到元件的事情 用这个方式就...

【Day 29】适合和 React 搭配的第三方套件

lodash lodash 是一个 JS library,它提供了很多函式让开发者可以更方便的去处理...

# Day 14 Cache and TLB Flushing Under Linux (Q&A - II)

今天来复习 cache 相关的知识! 首先可以参考一下这篇:Day.8 Cache 的基本原理 ca...

Day 5 ( 入门 ) 指北针

指北针 教学原文参考:指北针 这篇文章会介绍如何使用「方位感测」搭配「显示箭头数字」积木,实作指北针...