IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 还在为C语言中的for while switch if语句而感到困惑吗?在这帮您轻松解决。 -> 正文阅读

[C++知识库]还在为C语言中的for while switch if语句而感到困惑吗?在这帮您轻松解决。

总所周知C语言中有除顺序结构外的循环和选择结构,在这就是要介绍循环和选择结构。

if语句

if语句常和else放在一起使用并且它们也可以组合成if else来一块使用下面就用一些简单的代码来介绍它们的用法。

int main()
{
?? ?int a = 1;
?? ?if (a == 1)//这一句的意思是如果a的值是1就执行打印 ?你好
?? ??? ?printf("你好\n");// ?\n表示换行 ? ?
?? ?return 0;
}

想要执行 if 语句就要让 if 后面的( a==1)中的 a==1 条件成立即a==1的逻辑为真在C语言中0表示假,非0表示真。下面是if 和else组合在一起用

int main()
{
?? ?int a = 1;
?? ?if (a == 1)//这一句的意思是如果a的值是1就执行打印 ?你好
?? ??? ?printf("你好\n");// ?\n表示换行 ? ?
?? ?printf("hello\n");
?? ?return 0;
}

下面是if? ? ?else if? ? ?else放在一起使用的情况?

int main()
{
?? ?int a = 1;
?? ?if (a == 1)//这一句的意思是如果a的值是1就执行打印 ?你好
?? ??? ?printf("你好\n");// ?\n表示换行 ? ?
?? ?else if (a == 2)
?? ??? ?printf("hello\n");//如果a等于2就打印hello
?? ?else
?? ??? ?printf("你好hello\n");//如果a既不等于1也不等于2就打印 你好hello
?? ?return 0;
}

下面的代码向我们展示了if? ? ? else if? ? ?else可以多写,即可以在 if 和?else if 之间添加 if 语句当然也可以添加 else if 语句在最后的 else上面。并且这就涉及到了 if 和 else 的匹配问题。在下面我们来谈一谈。

int main()
{
?? ?int a = 1;
?? ?int b = 2;
?? ?if (a == 1)//这一句的意思是如果a的值是1就执行打印 ?你好
?? ??? ?printf("你好\n");// ?\n表示换行 ? ?
?? ?if (b == 2)
?? ??? ?printf("b==2\n");//这个if是与下面的else if和else匹配在一起的
?? ?else if (a == 2)
?? ??? ?printf("hello\n");//如果a等于2就打印hello
?? ?else
?? ??? ?printf("你好hello\n");//如果a既不等于1也不等于2就打印 你好hello
?? ?return 0;
}

不知道正在读文章的你觉得下面代码的结果是什么呢?

int main()
{
?? ?int a = 2;
?? ?int b = 1;
?? ?if (a == 1)
?? ??? ?printf("你好\n");
?? ? ? ?if (a == 2 && b == 1)
?? ??? ? ? ?printf("nihao\n");
?? ?else
?? ??? ?printf("你好nihao\n");
?? ?return 0;
}

可能有人会觉得上面的程序会输出 你好nihao 但很遗憾结果是 nihao 这是为什么呢?原因是 else 会和与它最近的一个? if 相匹配并且 else if 也是如此

这里还要提醒一下正在阅读的您注意不要把a==1写成了a=1否则就会将a的值变成1且该表达式的值为真,使得条件成立,且在下面要介绍的循环语句中有可能会造成死循环

switch语句

switch 和 case常放一起使用

switch语句的执行过程首先是执行switch(变量)中的变量然后根据变量的值去和case后面的值匹配,如果值相同就进入这个case语句。

例如

int main()
{
	int a = 1;
	switch (a)
	{
	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号 的结果。注意在每一条case句的后面要空一格在添上成立的条件且条件的后面要加上冒号,否则就是语法错误!在后面的break语句可以添加也可以不添加,但成的结果会是不一样的。有break语句意味着执行到了break时会跳出switch语句到达大括号的外面,如果没有break就会接着执行下一个case语句,也就是说如果上述代码没有break就会在打印了 1号后还会打印2号,3号直到break或结束才会停止。在上述代码中的default的意思是如果case后面的条件没有一个满足就会执行default后面的结果,且case后面的条件只能是char整型不能是浮点型。注意default可以在switch中的任意一个位置。

还有break可以在switch和循环语句中。

在讲完了选择结构后接下来是循环结构

while语句

int main()
{
	int a = 0;
	while (a<10)//循环继续的条件
	{
		printf("%d\n", a);
		a++;//使a的值加一
	}
	//以上的代码结果是0 ~9的数
	return 0;
}

while的条件也是以真假值来判断的和上述的 if 语句一样。

while循环的执行过程是先进行条件判断再执行循环体,当循环体的内容执行了一次后就会再进行条件判断,如果条件成立就又会执行一遍循环体内的内容,之后再进行条件判断如果条件不成立就不再执行。

在这里还要讲解一个continue关键字这个关键字的作用是跳过此次循环进入下一次循环。例如

int main()
{
	int a = 0;
	while (a<10)//循环继续的条件
	{
		a++;
		if (a == 5)
			continue;
        printf("%d\n", a);
	}
	return 0;
}

上述代码的结果是1 2 3 4 6 7 8 9 10 continue 的作用就如上述所述在a的值为5时直接又回到了条件判断而没有输出5。

while和break


int main()
{
	int a = 0;
	while(a<10)
	{
		if (a == 5)
			break;
		a++;
		printf("%d ", a);
	}
	return 0;
}

break是用来跳出循环的,所以上述代码的结果是 1 2 3 4 5.注意break不能单独和if放一起,一定要在循环中或switch语句中!

你能用你刚学习的知识去判断下面的程序结果吗?

int main()
{
	int a = 0;
	while (a<10)//循环继续的条件
	{
		printf("%d\n", a);
		if (a == 5)
			continue;
		a++;//使a的值加一
	
	}
	return 0;
}

上述代码的结果是 0 1 2 3 4 5 5 5 5 5 5 5......也就是说在a的值为5的时候由于存在continue导致该循环不断的进入下一次循环,但a的值却又没有增加就造成了死循环。

没有作对的你也不用灰心,只要记住了不会再犯这个错误就好了。

和while一样的还有一个do while循环

int main()
{
	int a = 1;
	do
	{
		printf("%d\n", a);
		a++;
	} while (a <= 10);
	return 0;
}

该循环的结果是1 2 3 4 5 6 7 8 9 10。do while 和while循环其实没有很大的区别最主要的区别是do while是先执行循环体内的内容再去进行条件判断,而while是先进行条件判断再去执行循环体内的内容!

for循环

for循环的括号中有三个表达式for(表达式1;表达式2;表达式3)

int main()
{
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}

该代码的结果是0 1 2 3 4 5 6 7 8 9

for循环的执行过程和while循环是不一样的for循环是先进行表达式1再进行条件判断,如果条件成立就进行循环体内的内容,然后再执行表达式3之后再进行表达式2,如果表达式2成立就进行循环体中的内容,之后进行表达式3,再是表达式2如果表达式2不成立就不再执行循环。

continue和break在for循环中的区别

int main()
{
	int a = 0;
	for (a = 1; a < 10; a++)
	{
        
		if (a == 5)
			continue;
		 printf("%d ",a);
	 }
	return 0;
}

上述代码的结果是 1 2 3 4 6 7 8 9。?

break在for中

int main()
{
	int a = 0;
	for (a = 1; a < 10; a++)
	{
		 
		if (a == 5)
			break;
		printf("%d ", a);
	 }
	return 0;
}

上述代码的结果是1 2 3 4.

这说明了continue会结束本次循环进入下次循环,而break是结束了整个for循环,且如果有两个for循环嵌套的话是会结束离它最近的一个for循环

int main()
{
	int a = 0;
	int b = 0;
	for (a = 1; a < 10; a++)
	{
		for (b = 1; b <= 3; b++)
		{
			if (b == 2)
				break;
			printf("%d ",b);
		 }
	 }
	return 0;
}

上述代码的结果是9个1这说明了当b等于2时就跳出内部的那个for循环而不跳出外面的,说明break跳出离它近的那个for循环。

while中的一个continue和for中的一个continue区别

int main()
{
	int a = 0;
	int b = 0;
	for (a = 1; a < 10; a++)
	{
		printf("%d ", a);
		if (a == 5)
			continue;
	 }
	return 0;
}

上述的代码结果是1 2 3 4 5 6 7 8 9.和while不一样,在while中上述代码会死循环,而在for中并不会,这是因为while和for的执行过程不同。

好了,到这里就结束了,谢谢您的阅读。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:19:45  更:2022-01-17 11:19:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:03:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码