iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++的程序流程结构你了解多少
  • 427
分享到

C++的程序流程结构你了解多少

2024-04-02 19:04:59 427人浏览 泡泡鱼
摘要

目录前言1 选择结构1.1 if语句(和C没啥不一样)1.2 三目运算符1.3 switch语句2 循环结构2.1 while 循环语句2.2 do…while循环语句

前言

C/C++支持最基本的三种程序运行结构:顺序结构选择结构循环结构

在这里插入图片描述

顺序结构就是顺着写代码,不想多说。

1 选择结构

1.1 if语句(和C没啥不一样)

作用:执行满足条件的语句

if语句的三种形式:

单行格式if语句

语法:

 if(条件){条件满足执行的语句}
#include<iOStream>
using namespace std;
int main()
{
	//用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
	//1.用户输入分数
	int score = 0;
	cout << "请输入一个分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	//2.判断
	if (score > 600)
	{
		cout << "恭喜您考上了一本大学" << endl;
	}
	system("pause");
	return 0;
}

多行格式if语句

语法:

if(条件){条件满足执行的语句}else{条件不满足执行的语句}
#include<iostream>
using namespace std;
int main()
{
	//1.用户输入分数
	int score = 0;
	cout << "请输入一个分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	//2.判断
	if (score > 600)
	{
		cout << "恭喜您考上了一本大学" << endl;
	}
	else
	{
		cout << "您没有考上一本大学,请再接再厉" << endl;
	}
	system("pause");
	return 0;
}

多条件的if语句

语法:

 if(条件1){条件1满足执行的语句}else if(条件2){条件2满足执行的语句}... else{都不满足执行的语句}
#include<iostream>
using namespace std;
int main()
{
	//1.用户输入分数
	int score = 0;
	cout << "请输入一个分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	//2.判断
	if (score > 600)
	{
		cout << "恭喜您考上了一本大学" << endl;
	}
	else if (score > 500)
	{
		cout << "恭喜您考上了二本大学" << endl;
	}
	else if (score > 400)
	{
		cout << "恭喜您考上了三本大学" << endl;
	}
	else
	{
		cout << "您没有考上一本大学,请再接再厉" << endl;
	}
	system("pause");
	return 0;
}

嵌套if语句:在if语句中嵌套使用if语句,达到更精确的条件判断

#include<iostream>
using namespace std;
int main()
{
	//1.用户输入分数
	int score = 0;
	cout << "请输入一个分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	//2.判断
	if (score > 600)
	{
		if (score > 1000) { cout << "恭喜您考到了地球之外" << endl; }
		if (score > 800) { cout << "恭喜您考到了清北" << endl; }
		else { cout << "恭喜您考上了普通一本大学" << endl; }
	}
	else if (score > 500)
	{
		cout << "恭喜您考上了二本大学" << endl;
	}
	else if (score > 400)
	{
		cout << "恭喜您考上了三本大学" << endl;
	}
	else
	{
		cout << "您没有考上一本大学,请再接再厉" << endl;
	}
	system("pause");
	return 0;
}

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;
	//用户输入
	cout << "请输入小猪A的体重:" << endl;
	cin >> num1;
	cout << "请输入小猪B的体重:" << endl;
	cin >> num2;
	cout << "请输入小猪C的体重:" << endl;
	cin >> num3;
	cout << "小猪A的体重为:" << num1 << endl;
	cout << "小猪B的体重为:" << num2 << endl;
	cout << "小猪C的体重为:" << num3 << endl;
	//判断
	if (num1 > num2)     //A>B
	{
		if (num1 > num3) //A>C 
		{
			cout << "\n小猪A最重" << endl;
		}
		else             //C>A
		{
			cout << "\n小猪C最重" << endl;
		}
	}
	else                 //B>A
	{
		if (num2 > num3) //B>C
		{
			cout << "\n小猪B最重" << endl;
		}
		else             //C>B
		{
			cout << "\n小猪C最重" << endl;
		}
	}
	system("pause");
	return 0;
}

1.2 三目运算符

作用:通过三目运算符实现简单的判断

语法:

表达式1?表达式2:表达式3

解释:如果表达式1为真:执行表达式2,并返回表达式2的结果。

如果表达式1为假:执行表达式3,并返回表达式3的结果。

c++中三目运算符如果后面的表达式是变量,则返回的是变量,并不是变量的值,也就是说可以继续对变量进行操作。

#include<iostream>
using namespace std;
int main()
{
	int a = 10;
	int b = 50;
	int c = 0;
	c = (a > b) ? a : b;
	cout << "c = " << c << endl;
	//在C++中三目运算符如果后面的表达式是变量,则返回的是变量,并不是变量的值,也就是说可以继续对变量进行操作
	(a > b ? a : b) = 100;
	cout << "a = " << a << endl;
	cout << "b = " << b << endl;
	system("pause");
	return 0;
}

1.3 switch语句

作用:执行多条件分支语句

语法:

switch(表达式){case 结果1 : 执行语句;break; case 结果2 : 执行语句;break; ... default : 执行语句;break;}break可以不加,不加break的时候程序会一直向下执行,即如果执行了结果2的执行语句,那么结果3、结果4...的执行语句都会被执行。switch(表达式)
{case 结果1 : 执行语句;break;
 case 结果2 : 执行语句;break;
 ...
 default : 执行语句;break;
}
break可以不加,不加break的时候程序会一直向下执行,即如果执行了结果2的执行语句,那么结果3、结果4...的执行语句都会被执行。

优点:结构清晰,执行的效率高;

缺点:case所接的结果必须是整型或者字符型,且不能判断区间。

#include<iostream>
using namespace std;
int main()
{
	int score = 0;
	cout << "请给电影打分:" << endl;
	cin >> score;
	
	switch (score)
	{
	case 10:cout << "经典" << endl; break;
	case 9:cout << "经典" << endl; break;
	case 8:cout << "较好" << endl; break;
	case 7:cout << "较好" << endl; break;
	case 6:cout << "一般" << endl; break;
	case 5:cout << "一般" << endl; break;
	default:cout << "烂片" << endl; break;
	}
	system("pause");
	return 0;
}

如果不加break的时候,执行效果如下:

在这里插入图片描述

2 循环结构

2.1 while 循环语句

语法:

while(循环条件){循环语句}

解释:只要循环条件的结果为真,就执行循环语句。

#include<iostream>
using namespace std;
int main()
{
	//在屏幕上打印0-9这10个数字
	int num = 0;
	while (num <= 9)
	{
		cout << num << endl;
		num++;
	}
	system("pause");
	return 0;

while 循环案例:

在这里插入图片描述

随机数的生成:C++产生随机数

#include<iostream>
#include<cstdlib> //可以不输入此行,iostream间接包含了这里的库头文件
#include<ctime>
using namespace std;
int main()
{	//srand(0)  不加此行或者使用它时,种子固定,所以产生随机数固定。
	//种子控制产生的随机数,所以只需要产生随机种子就可了。
	srand((int)time(0)); //利用当前系统时间产生随机种子,把0换成NULL也行。
	int num = rand() % 100 + 1; //rand:伪随机数,rand()%100生成0-99
	//cout << num << endl;
	int val = 0;
	while (1)
	{
		cin >> val;
		if (val > num)
		{
			cout << "您猜的数大于此数" << endl;
		}
		else if (val < num)
		{
			cout << "您猜的数小于此数" << endl;
		}
		else 
		{ cout << "恭喜您猜对了" << endl; break;
		}
	}
	system("pause");
	return 0;
}

2.2 do…while循环语句

语法:

do{循环语句} while(循环条件);

与while的区别:do…while会先执行一次循环语句,再判断循环条件。

#include<iostream>
using namespace std;
int main()
{
	//死循环,因为先执行了do里面的内容,所以while始终为真。
	int num = 0;
	do 
	{
		cout << num << endl;
		num++;
	} 
	while (num);
	system("pause");
	return 0;
}

do…while 练习案例:

在这里插入图片描述

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	int num = 100;
	int a = 0, b = 0, c = 0;
	do
	{
		a = num / 100;       //百位
		b = (num / 10 % 10); //十位
		c = num % 10;	     //个位
		if (pow(a, 3) + pow(b, 3) + pow(c, 3) == num)
		{
			cout << num << endl;
		}
		num++;
	} while (num < 1000);
	system("pause");
	return 0;
}

2.3 for循环语句

作用:满足循环条件,执行循环语句

语法:

for(起始表达式;条件表达式;末尾循环体){循环语句;}
#include<iostream>
using namespace std;
int main()
{
	for (int i = 0; i < 10; i++)
	{
		cout << i << endl;
	}
	system("pause");
	return 0;
}

for中的表达式记得加;

for 练习案例

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{	//个位有7,%10==7
	//十位有7,/10==7
	//7的倍数, %7==0
	for (int i = 1; i <= 100; i++)
	{
		if ((i % 10 == 7) || (i / 10 == 7) || (i % 7 == 0)) 
		{
			cout << "敲桌子" << endl;
		}
		else { cout << i << endl; }
	}
	system("pause");
	return 0;
}

2.4 嵌套循环

用法:循环中再使用循环

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{	
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 10; j++)
		{
			cout << "* " ;
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

嵌套循环案例

在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{
	for (int i = 1; i < 10; i++)
	{
		for (int j = 1; j <=i ; j++)
		{
			cout << j << "*" << i << "="<< j * i <<	"\t";
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

3 跳转语句

3.1 break语句

作用:跳出选择结构(实际上只有switch语句用得到)或者循环结构。

具体而言也就三种:

  • 出现在switch语句:终止case、跳出switch
  • 出现在循环语句:跳出当前的循环
  • 出现在嵌套循环中:跳出最近的内层循环(此break所属循环)。

前两个很简单,只看第三个情况,对乘法口诀表的代码稍微进行修改即可:

#include<iostream>
using namespace std;
int main()
{
	for (int i = 1; i < 10; i++)
	{
		for (int j = 1; j < 10; j++)
		{
			cout << j << "×" << i << "=" << j * i << "\t";
			if (i == j)
			{
				break;
			}
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

3.2 continue语句

作用:跳过本次循环中余下的执行语句,直接执行下一次循环。

#include<iostream>
using namespace std;
int main()
{
	for (int i = 1; i <= 10; i++)
	{
		if (i == 3 || i == 7) { continue; }
		cout << i << endl;
	}
	system("pause");
	return 0;
}

3.3 goto语句

作用:可以无条件跳转语句

语法:

goto 标记;

解释;如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

#include<iostream>
using namespace std;
int main()
{
	cout << "1.xxxx" << endl;
	cout << "2.xxxx" << endl;
	goto Flag;
	cout << "3.xxxx" << endl;
Flag: cout << "4.xxxx" << endl;
	cout << "5.xxxx" << endl;
	system("pause");
	return 0;
}

一般不建议使用goto,因为标记太多,会导致代码及其混乱。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!     

--结束END--

本文标题: C++的程序流程结构你了解多少

本文链接: https://www.lsjlt.com/news/139306.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++的程序流程结构你了解多少
    目录前言1 选择结构1.1 if语句(和C没啥不一样)1.2 三目运算符1.3 switch语句2 循环结构2.1 while 循环语句2.2 do…while循环语句...
    99+
    2024-04-02
  • C++ 程序流程结构详解
    目录1.选择结构1.1 判断语句if1.单行if语句 if2.多行if语句 if...else3.多条件if语句 if...else if...else if ...else4.嵌套...
    99+
    2024-04-02
  • C++的程序流程结构是什么
    这篇文章主要介绍了C++的程序流程结构是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++的程序流程结构是什么文章都会有所收获,下面我们一起来看看吧。前言C/C++支持最基本的三种程序运行结构:顺序结构、...
    99+
    2023-06-29
  • 解析C# 程序结构
    目录C# Hello World 实例编译 & 执行 C# 程序在我们学习 C# 编程语言的基础构件块之前,让我们先看一下 C# 的最小的程序结构,以便作为接下来章节的参考。...
    99+
    2024-04-02
  • 深入了解C语言结构化的程序设计
    目录C语言是结构化的程序设计语言!if语句1:单分支结构2:多分支结构悬空elsewhile循环总结C语言是结构化的程序设计语言! 结构有三大类:顺序结构,选择结构,循环结构! 顺序...
    99+
    2024-04-02
  • C程序结构的入门
    目录C Hello World 实例编译 & 执行 C 程序在我们学习 C 语言的基本构建块之前,让我们先来看看一个最小的 C 程序结构,在接下来的章节中可以以此作为参考。 ...
    99+
    2024-04-02
  • C# 程序通用结构
    C# 程序由一个或多个文件组成。 每个文件均包含零个或多个命名空间。 一个命名空间包含类、结构、接口、枚举、委托等类型或其他命名空间。 以下示例是包含所有这些元素的 C# 程序主干。...
    99+
    2024-04-02
  • C语言的结构体你了解吗
    目录结构体内存对齐结构体传参结构体实现位段什么是位段位段在内存中的存储位段的问题总结结构体内存对齐 当我们创建一个结构体变量时,内存就会开辟一块空间,那么在创建结构体变量时内存到底是...
    99+
    2024-04-02
  • C++的原生数组你了解多少
    目录1.数组1.1 数组的声明格式1.1.1. 格式一1.1.2. 格式二1.2.数组的本质2. 数组遍历2.1. 常规2.2. C++ 11 遍历新语法2.2.1. 格式一2.2....
    99+
    2024-04-02
  • [Python] 程序结构与控制流
    1. 条件语句 if、else与elif语句用于控制条件代码的执行。条件语句的一般格式如下: if expression: statements elif expression: statements elif expres...
    99+
    2023-01-31
    结构 程序 Python
  • C#的程序结构是什么
    本篇内容主要讲解“C#的程序结构是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#的程序结构是什么”吧!C# 程序结构在我们学习 C# 编程语言的基础构件块之前,让我们先看一下 ...
    99+
    2023-06-17
  • NumPy在ASP编程中的应用,你了解多少?
    NumPy是Python中最常用的科学计算库之一。它提供了高效的多维数组操作和数学函数,是数据科学、机器学习和科学计算等领域中的重要工具。在ASP编程中,NumPy也有着广泛的应用。本文将介绍NumPy在ASP编程中的应用,帮助读者更好地...
    99+
    2023-07-02
    编程算法 索引 numy
  • Linux 关键字对于 ASP 程序员的重要性,你了解多少?
    在开发 ASP 网站时,我们经常使用的是 Windows 操作系统和 IIS 服务器。但是,在最近几年,越来越多的 ASP 开发者开始使用 Linux 服务器来部署他们的网站。这是因为 Linux 操作系统拥有众多的优点,比如高可靠性、高...
    99+
    2023-11-09
    面试 linux 关键字
  • Java流程控制之顺序结构
    目录1.关于顺序结构2.顺序结构简单图示3.示例助解Java中的流程控制语句可以这样分类:顺序结构,选择结构,循环结构。 1.关于顺序结构 JAVA的基本结构就是顺序结构,除非特别指...
    99+
    2024-04-02
  • Java程序顺序结构中逻辑控制语句详解流程
    目录一.顺序结构二.分支结构1.if语句2.switch 语句三. 循环结构1 .while 循环2. break3. continue4.for循环5.do while循环四.输入...
    99+
    2024-04-02
  • C++中类模板的应用你了解多少
    目录类模板应用数组类的封装Int的.hpp文件int的测试文件Person类的.hpp文件Person类的测试文件总结类模板应用 数组类的封装 属性: 1,T *pAddress 指...
    99+
    2024-04-02
  • PHP并发编程的数据类型,你了解多少?
    随着互联网应用的快速发展,越来越多的Web应用需要处理大量的请求和数据。对于PHP开发者来说,如何实现高效的并发处理是一个不可避免的问题。在这篇文章中,我们将会讲解PHP并发编程中的数据类型,以及如何使用它们来实现高效的并发处理。 一、P...
    99+
    2023-11-11
    并发 数据类型 分布式
  • 你对 Python 编程在 Linux 上的应用了解多少?
    Python 是一种高级编程语言,它在 Linux 操作系统上得到了广泛的应用。Python 是一种解释型语言,具有简洁的语法和强大的库支持,这使得它非常适合用于 Linux 上的各种应用。在本文中,我们将探讨 Python 在 Linux...
    99+
    2023-09-20
    git 编程算法 linux
  • 带你了解C++的IO流
    目录一、C语言的输入与输出二、C++中流的概念三、C++IO流1.C++标准IO流2. C++文件IO流 四、stringstream总结一、C语言的输入与输出 C语言中我...
    99+
    2024-04-02
  • JavaScript中有哪些结构的程序控制流
    本篇文章为大家展示了JavaScript中有哪些结构的程序控制流,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、if条件语句基本格式:if(表述式)语句段1;.....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作