2---判断(if/switch)

if

1. 初识if

/*
时间:20180127
目的:学习 if 
*/
/*# include <stdio.h>

void main()
{
	if (3>2)
		printf ("AAAA\n");
	return 0;
}*/



/*
时间:20180127
目的:学习 if 的范围问题
*/
/*# include <stdio.h>
 
int main(void)
{
	if (1 >2)
		printf ("AAA\n");
	    printf ("BBB\n");
}
/*
	输出结果:
				----------------------------
				BBB
				----------------------------
	说明:         
				-------------------------------------------------------
				“printf ("BBB\n");”   语句不在  “if”  控制的范围
				---------------------------------------------------------
*/


/*
时间:20180201
目的:学习 if ...else.....用法
*/

# include < stdio.h >
int main()
{
	int i, j;

	scanf ("%d %d", &i, &j);

	if ( i>j )
		printf("i 大于 j\n");
	else
		printf("i 小于 j\n");

	return 0;
}



/*
时间:20180201
目的:学习 if ...else.....if.....else.....用法
*/
/* 使用格式如下:
if (1)
	A;
else if (2)
	B;
else if (3)
	C;
else
	D
*/


2. if 的2个使用例子

    2.1 grade_mark

# include <stdio.h>
int main (void)
{
	float score;      //score 分数
	printf ("请输入您的考试成绩:");
	scanf ("%f", &score);
	if ( score>100 )
		printf ("有意思!\n");
	else if (score>= 90 && score<= 100 )
		printf ("优秀!\n");
	else if ( score>=80 && score<90 )
		printf("良好!\n");
	else if ( score>=60 && score<80 )
		printf ("及格!\n");
	else if ( score>=0 && score<60)
		printf ("不及格!继续努力!\n");
	else
		printf (" 别闹!");
	return 0;
}

    2.2 order_number

/*
时间:2018.02.11
目的:比较三个数,得最大值
*/
# include <stdio.h>
int main (void)
{
	int a, b, c;
	int t;
	printf( "请输入三个数字(以空格分开)\n" );
	scanf( "%d %d %d", &a, &b, &c );

	if (a < b)
	{
		t = a;
		a = b;
		b = t;
	}
	if (a < c)
	{
		t = a;
		a = c;
		c = t;
	}
	if (b < c)
	{
		t = b;
		b = c;
		c = t; 
	}

	printf( "%d %d %d\n", a, b, c );
	getchar();
	return 0;
}

/*
反思: 1. 对这个方法的理解就是---拨乱反正----将对的数放在对的位置;
             2. 先将位置 “a” 的数分别与位置 “b” “c”的数进行比较,得到位置 “a”上该放的数;然后,位置 “b” 与位置 “c”上的数进行比较,得到位置 “b” 上该放的数
*/

3. if 常见错误

/*
时间:2018.02.13
目的:if ...else....语句容易出错的地方
*/

# include <stdio.h>
int main (void)
{
	if (1> 2)                                     // 这行的语句后不可加“ ;”,否则将导致 “else” 上一句变为 “ printf ("AA\n"); ”,也就是说判断语句 “else” 没有 “if” 来开头,造成语法错误
		printf ("AA\n");
	else if ( 3> 1)
		printf ("BB\n");
	else 
		printf ("CC\n");
	return 0;
}

/*
结果: AA

总结:1. “ if ()” 后不可加“ ;”,否则将导致 “else” 上一句变为 “ printf ("AA\n"); ”,也就是说判断语句 “else” 没有 “if” 来开头,造成语法错误

			 2. 3>2 成立,就不再执行 3>1的条件语句,尽管这个语句也是正确的

			 3. "else" 后不加判断的表达式,只有 “if” 后可加判断的表达式,只有 “if” 语句可以进行判断操作
*/
switch
/*
	时间:2018.03.07   18:15
	项目:电梯程序
*/
#include<stdio.h>
int main()
{
	int val;
	printf("请输入您要进入的楼层\n");
	scanf("%d", &val);

	switch (val)
	{
	case 1:
		printf("1层开!\n");
		break;
	case 2:		
		printf("2层开!\n");
		break;
	case 3:
		printf("3层开!\n");
		break;
	default:
		printf("还没盖到这一层!\n");
		break;
	}

	return 0;
}

/*
		心得:
					1.switch的判断:如这个程序 “switch(val)” 将 val 分别与 case后的 1 2 3 进行比较判断,一旦匹配,就执行下去,不再判断
					2.switch语句执行时,在大括号的内容,先判断找程序的入口
					3.break的作用,终止switch
*/


猜你喜欢

转载自blog.csdn.net/erlang_juan/article/details/80257709