分支语句和循环语句

C语言是一门结构化程序设计语言

C语言中有三种结构:

顺序结构,选择结构,循环结构

分支语句
  • if
  • switch
循环语句
  • while
  • for
  • do…while

语句:

C语言中用一个分号隔开的,就是语句

分支语句是一种选择结构

#include<stdio.h>
int main()
{
	int age = 0;
	(void)scanf("%d", &age);
	if (age < 18)
		printf("未成年\n");
	return 0;
}
#include<stdio.h>
int main()
{
	int age = 0;
	(void)scanf("%d", &age);
	if (age < 18)
		printf("未成年\n");
	else
		printf("成年\n");
	return 0;
}

C语言中规定0为假,非0为真

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
		if (b == 2)
			printf("hehe\n");
		else
			printf("haha\n");
	return 0;
}
//这段代码什么都不会打印 第二个else会在编译器中主动和第二个if靠近
//所以代码什么都不会打印,没有符号的条件。
#include<stdio.h>
int main()
{
	int age = 10;
	if (age == 5)
		printf("age==5\n");
	return 0;
}
//屏幕上什么都不会打印,因为age!=10;
#include<stdio.h>
int main()
{
	int age = 10;
	if (age = 5)
		printf("age==5\n");
	return 0;
}
//频幕上会打印age==5,因为把5赋值给了age,所以if后面的括号里面的值是真的,所以回打印要求的信息

为了避免上面第一个代码中的错误情况,写代码的时候可以把常量放在左边,这样就比较容易看的出来错误,也是一种比较好的代码风格。

判断一个数是奇数还是偶数

#include<stdio.h>
int main()
{
	int i = 0;
	(void)scanf("%d", &i);
	if (i % 2 == 0)
		printf("i为偶数\n");
	if (i % 2 == 1)
		printf("i为奇数\n");
	return 0;
}

输出1-100之间的奇数

#include<stdio.h>
int main()
{
	int i = 0;
	int count = 0;
	for (i = 1; i <= 100; i++)
	{
		if (i % 2 == 1)
		{
			printf("%d ", i);
			count++;
		}
	}
	printf("\n");
	printf("%d", count);
	return 0;
}
switch语句

switch适用于多分支语句

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch(day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("weekday\n");
		break;
	case 6:
	case 7:
		printf("weekend\n");
		break;
	default:
		printf("选择错误\n");
		break;
	}
}

需要强调的是,switch后面的必须是整形表达式,浮点型就会出错。

case 后面只能放常量表达式,必须是整形,也必须是常量。

#include<stdio.h>
int main()
{
	int n = 1;
	int m = 2;
	switch (n)
	{
	case 1:m++;
	case 2:n++;
	case 3:
		switch (n)
		{//switch允许嵌套使用
		case 1:	n++;
		case 2:m++;n++;	break;
		}
	case 4:m++;break;
	default:
		break;
	}
	printf("m = %d, n = %d\n", m, n);
	system("pause");
	return 0;
}
//结果是m=5,n=3;
循环语句
break和continue
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		printf("%d ",i);
		i++;
	}
	return 0;
}
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			break;
		printf("%d ", i);
		i++;
	}
	return 0;
}
//打印结果为1,2,3,4
//break永久的跳出循环,停止后期的所有循环,永久的终止循环
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		if (i == 5)
			continue;
		printf("%d ", i);
		i++;
	}
	return 0;
}
//打印结果是1,2,3,4,4,4,4,4...死循环
#include<stdio.h>
int main()
{
	int i = 1;
	while (i <= 10)
	{
		i++;
		if (i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}
//打印结果为2,3,4,5,7,8,9,10,11
//continue作用:continue用来终止本次的循环,当次continue之后的语句不再执行。
#include<stdio.h>
int main()
{
	int ch = getchar();
	putchar(ch);
	return 0;
}
//输入什么字符就会输出相应的字符
//EOF为end of file
#include<stdio.h>
int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF)
		putchar(ch);
	return 0;
}
//用ctrl+z来停下来。
发布了40 篇原创文章 · 获赞 38 · 访问量 2544

猜你喜欢

转载自blog.csdn.net/weixin_43831728/article/details/103948588