C语言条件判断语句和循环语句

目录

一、条件判断语句

1、if语句

2、if-else语句

[3、if-else if-else语句](#3、if-else if-else语句)

4、switch-case语句

二、花括号省略问题

三、循环语句

1、while循环

2、while循环中的break和continue语句

3、for循环

4、for循环中的break和continue语句

5、do-while循环


一、条件判断语句

条件判断语句就是根据代码中表达式的真假,来决定是否执行条件判断语句内部的语句

1、if语句

if语句的基本结构:

if(表达式){

语句1;

语句2;

......

语句n;

}

if语句的执行顺序就是:先判断if语句的那个表达式是真还是假,如果是真,就执行其内部的所有代码(就是从第一个语句执行到最后一个语句),如果表达式为假,就不执行内部代码

我们来看一个简单示例:

cpp 复制代码
#include <stdio.h>

int main() {
	int score;
	printf("请输入你的成绩:");
	scanf_s("%d", &score);
	if (score == 100) {
		printf("窝嘞个豆!");
	}
	return 0;
}

如果我们输入100,就会执行if语句内部的那个输出语句,像这样:

如果我们输入的不是100,那么if语句内部的代码就不会被执行:

2、if-else语句

if-else语句像是一个二选一的条件判断语句,其基本结构:

if(表达式) {

语句1;

......

}

else{

语句2;

......

}

当表达式是真的时,执行语句1所在的代码块内的所有语句,当表达式为假时,就执行语句2所在的代码块内的所有语句

我们来看一个简单的示例:

cpp 复制代码
#include <stdio.h>

int main() {
	int score;

	printf("请输入你的成绩:");
	scanf_s("%d", &score);
	if (score >= 60) {
		printf("你及格了!");
	}
	else {
		printf("你未及格!");
	}
	return 0;
}

看看输出:

3、if-else if-else语句

基本结构:

if(表达式1){

语句1;

......

}

else if(表达式2){

语句2;

......

}

else{

语句3;

......

}

①当表达式1是真时,执行语句1所在代码块内的所有语句,当表达式2是真时,执行语句2所在代码块内的所有语句,若两个表达式都为假,就执行语句3代码块内的所有代码(若存在表达式1和2均为真的情况,则程序指挥执行第一个代码块的内的所有代码

②else if部分可以有多个

看一个简单示例:

cpp 复制代码
#include <stdio.h>

int main() {
	int score;

	printf("请输入你的成绩:");
	scanf_s("%d", &score);
	
	if (score == 100) {
		printf("稀世奇才!!!!!!!!!");
	}
	else if (score <= 99 && score >= 80) {
		printf("你很优秀!");
	}
	else if (score < 80 && score >= 60) {
		printf("及格");
	}
	else {
		printf("你未及格!(微笑)");
	}
	return 0;
}

输出(其中一种):

4、switch-case语句

我们会根据switch的那个变量去寻找对应的case

例子:

cpp 复制代码
#include <stdio.h>

int main() {
	int a = 0;

	printf("请输入你的性别(0是男生,1是女生):");
	scanf_s("%d", &a);

	switch (a) {
	case 0 :
		printf("你是男生!");
		break;

	case 1 :
		printf("你是女生!");
		break;

	default:
		printf("你是沃尔玛购物袋!");
	}
	return 0;
}

看看结果:

二、花括号省略问题

①在C语言中的条件判断语句和循环语句中,如果其条件判断语句/循环语句的代码块中只包含一行代码,那么这个花括号是可以省略的

②如果条件判断语句/循环语句的代码块内只包含一个条件判断语句/循环语句,那么也可以当作只有一行代码来处理,可以省略

③上述两点知道可以省略花括号即可,在自己写代码的时候不建议省略花括号!!!

三、循环语句

1、while循环

基本结构:

while(表达式){

语句1;

语句2;

......

语句n;

}

当表达式为真时,执行其包含语句的代码块内的所有代码,执行完之后再次回到表达式进行判断,若还是真的就重复执行上述步骤,若是假的就结束循环

注:执行代码块内的内容后还需要返回表达式,这就意味着代码块内必须包含能改变表达式的操作的代码!(否则会出现死循环)

我们来看一个简单的例子:

cpp 复制代码
#include <stdio.h>

int main() {
	int number = 1;

	while (number <= 20) {
		printf("%d ", number);
		number++;
	}
	return 0;
}

这个代码实现了一个很简单的从1到20的输出:

2、while循环中的break和continue语句

①break语句:结束循环,直接跳出当前循环语句

②continue语句:结束当前循环,执行下一次循环

我们来通过两个代码来了解两者区别:

break的:

cpp 复制代码
#include <stdio.h>

int main() {
	int number = 1;

	while (number <= 20) {
		if (number == 10) {
			break;		//这里是break
		}
		printf("%d ", number);
		number++;
	}

	printf("\n");
	printf("程序已结束!");		//当number是10的时候,程序会跳出整个while循环,执行循环之后的语句
	return 0;

输出:

continue的:

cpp 复制代码
#include <stdio.h>

int main() {
	int number = 1;

	while (number <= 20) {
		if (number == 10) {
			number++;		//注意这里需要加一行,因为continue会跳过当前循环,也就是说当数字等于10的时候,第12行那个number++不会被执行!
			continue;		//这里是continue
		}
		printf("%d ", number);
		number++;
	}

	printf("\n");
	printf("程序已结束!");		//当number是10的时候,程序会跳出当前循环,所以while循环只会跳过输出10的那一步
	return 0;
}

看看结果:

3、for循环

基本结构:

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

语句1;

语句2;

......

语句n;

}

在for循环中,表达式1用于对循环变量进行初始化,表达式2是条件判断部分,判断循环是否继续执行,表达式3用于更新循环变量

执行顺序:先执行表达式1的代码,初始化循环变量,然后把循环变量放到表达式2中,判断是否为真,若为真就执行花括号内循环体的代码,执行完成后去执行表达式3,然后再次执行表达式2,看看是不是真,是真的再去执行花括号内循环体代码,直到表达式2为假,跳出循环

cpp 复制代码
#include <stdio.h>

int main() {
	int number;

	for (number = 1; number <= 20; number++) {
		printf("%d ", number);
	}
	
	return 0;
}

输出:

注:

①如果我们在int部分已经把number初始化好了,在for循环语句中的表达式1部分可以不写,像这样:

cpp 复制代码
#include <stdio.h>

int main() {
	int number = 1;

	for (; number <= 20; number++) {
		printf("%d ", number);
	}
	
	return 0;
}

②在for循环的表达式3中,number++和++number是一样的

③如果使用了这种方法:

cpp 复制代码
for (int number = 1; number <= 20; number++)

即我们在表达式1中完成了定义和初始化,那么如果在循环之外使用number是不可以的!

④如果在某个表达式内出现了多个式子,可以用逗号分割

4、for循环中的break和continue语句

break的:

cpp 复制代码
#include <stdio.h>

int main() {
	int number;

	for (number = 1; number <= 20; number++) {

		if (number == 10) {
			break;
		}
		printf("%d ", number);
	}
	
	return 0;
}

continue的:

cpp 复制代码
#include <stdio.h>

int main() {
	int number;

	for (number = 1; number <= 20; number++) {

		if (number == 10) {
			continue;
		}
		printf("%d ", number);
	}
	
	return 0;
}

5、do-while循环

简单示例:

cpp 复制代码
#include <stdio.h>

int main() {
	int number = 1;

	do {
		printf("%d ", number);
		number++;
	} while (number <= 20);
	
	return 0;
}

输出:

特点:do-while循环至少执行一次循环体

以上就是C语言条件判断语句和循环语句的全部内容:)