分支与循环 if-switch ; for-while-do while

 if语句:

 语法形式:

if(表达式)

  语句 1              //多条语句加括号

esle

  语句2

 //else总是跟最近的if匹配

int main()   //偶数判定
{
	int a = 0;
	scanf("%d", &a);
	if (a % 2 == 0) 
	{
		printf("%d 是偶数\n", a);
	}
	else
	{
		printf("%d 是奇数\n", a);
	}

	return 0;
}

在C语言中0为假,非0为真

以上面代码为例如果输入值为10的话,满足10/2=0的条件为真,所以打印“偶数”,反之为假打印“奇数”

if语句的嵌套使用:

int main()
{
	int num = 0;
	scanf("%d", &num);

	if (num > 0)
	{
		if (num % 2 == 0)
			printf("偶数\n");
		else
			printf("奇数\n");
	}
	else
	{
		printf("非正数\n");
	}
	return 0;
}

switch语句

语法形式:

switch(表达式)

{

case 1:statement

case 2:statement

default:statement

}

int main()         
{
	int a = 0;
	scanf("%d", &a);
	switch (a % 3)
	{
	case 0:
		printf("整除\n");
		break;
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	}
		return 0;
}

需要注意的是:

1.  case和后面跟的数字一定要有空格,并且每个case结束后要加break才能跳出这个switch语句

2.  switch后的表达式必须是整形, case的值也必须是整形表达式

在使用switch语句时很可能遇到所有case都无法满足的情况,就需要用到default来应对

for循环

语法形式:

for(表达式1; 表达式2; 表达式3)

语句1;

for循环把初始化判断调整三部分整合到了一起,分别就是表达式1,2,3

并且都可以省略,但判断省略则恒成立

(非常适合生成从a ~ b的数字)

int main21() 
//for循环中的初始化,判断,调整可以省略
{
	for (int a = 1; a <= 10; a++)  //1.初始化   2.判断   3.调整
	{
		printf("%d ", a);

	}
	return 0;
}
int main()  //1-100之间3的倍数之和
{
	int a = 0;
	int sum = 0;
	for (a = 3; a <= 100; a += 3)  //因为是3的倍数直接从3开始,并每次++3
	{
		sum = sum + a;
	}
	printf("%d\n", sum);
	return 0;
}

while循环

语法形式:

while(表达式)

语句

int main18()  //打印1~10的数
{
	int a = 0;  //初始化

	while (a <= 9)  //判断  
	{
		printf("%d  ", a);
		//a += 1;  //调整
	}

	return 0;
}

do - while循环

语法形式:

do

{

语句;

}while(表达式);

先执行语句在判断内容

int main()  //生成1~10的数
{
	int a = 1;  //初始化
	do
	{
		printf("%d ", a);  //多太语句加{ }

		a++;   //调整
	} while (a <= 10);  //判断

	return 0;
}

break 和 continue

break是跳出本个循环, continue是跳过本次循环后再进行下一次循环

用while循环来举例

int main()  //while循环中的 break
{
	int a = 1;
	while (a <= 10)
	{
		if (a == 5)
			break;  //跳出循环,打印1 2 3 4 
		printf("%d  ", a);
		a++;
	}
	return 0;
}
int main()  //while循环中的 continue
{
	int a = 1;
	while (a <= 10)
	{
		if (a == 5)
			continue;  //跳过本次循环,打印死循环
		printf("%d  ", a);
		a++;
	}
	return 0;
}

go to语句

int main()
{
	printf("嘻嘻\n");
	goto next;
	printf("哈哈\n");  //goto语句把打印“哈哈”给跳过    //next只是名字可以改
next:
	printf("嘿嘿\n");

	return 0;
}

go to语句可以往前跳也可以往后,但尽量少用避免分不清反向

操作符

关系操作符 <  >  <=  >=  ==  !=

用来判断结果真假,通常返回0或1

多个关系操作符不易连用

int main()  //数字判断
{
	int a = 0;
	scanf("%d", &a);
	if (a == 0)        //等于
		printf("为零");
	else if (a > 0)    //大于
		printf("正数");
	else               //小于
		printf("负数");

	return 0;
}

关于等号== , 刚写可能会误写成赋值号=

可以写成3 == a

int main()
{
	int a = 0;
	if (a == 3)
		printf("haha\n");

	if (3 == a)  //以防把 == 号写错
		printf("eee\n");

	return 0;
}

条件操作符(三目操作符)

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d", &a);

	b = (a > 5 ? 3 : -3);  //a>5为真执行3, 为假执行-3

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

1.  逻辑取反 !

2.  逻辑与 &&

int main()  //逻辑与运算 &&
{
	int month = 0;
	scanf("%d", &month);
	if (3 <= month && month <= 5)
		printf("%d月,是春季\n", month);
	else
		printf("其他季节\n");

	return 0;
}

3.  逻辑或 ||

int main()  //逻辑或运算 ||
{
	int month = 0;
	scanf("%d", &month);
	if (month == 12 || month == 1 || month == 2)
		printf("%d月,是冬季", month);

	return 0;
}

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值