estructura de flujo del programa

C/C++ admite los tres tipos más básicos de estructuras de ejecución de programas: estructura de secuencia, estructura de selección, estructura de bucle

  • Estructura secuencial: los programas se ejecutan secuencialmente sin saltos
  • Estructura de selección: según se cumplan las condiciones, se ejecutan selectivamente las funciones correspondientes
  • Estructura de bucle: ejecuta cíclicamente una determinada pieza de código según se cumpla la condición

seleccionar estructura

si declaración

Tres formas de sentencia if:

  • instrucción if de una sola línea
  • instrucción if de varias líneas
  • Instrucción if condicional múltiple

Instrucción if de una sola línea: if (condición de juicio) {código de ejecución}

#include <iostream>
using namespace std;

int main() {
    
    
	int score;

	cout << "请输入一个分数:" << endl;

	cin >> score;

	if (score >= 600)  // if条件后面不能加分号 
	{
    
    
		cout << "该分数已超过重点线,恭喜!" << endl;
	}

	system("pause");

	return 0;
}

Declaración if de varias líneas: if (condición de juicio) {código que se ejecutará si se cumple la condición} else {código que se ejecutará si no se cumple la condición}

#include <iostream>
using namespace std;

int main() {
    
    
	int score;

	cout << "请输入一个分数:" << endl;

	cin >> score;

	if (score >= 600)  // if条件后面不能加分号 
	{
    
    
		cout << "该分数已超过重点线,恭喜!" << endl;
	}
	else
	{
    
    
		cout << "该分数未超过重点线,还需继续努力!" << endl;
	}

	system("pause");

	return 0;
}

Declaración if multicondicional: if (condición 1) {la condición 1 satisface el código ejecutado} else if (condición 2) {la condición 2 satisface el código ejecutado}... else {ninguna condición satisface el código ejecutado}

#include <iostream>
using namespace std;

int main() {
    
    
	int score;

	cout << "请输入一个分数:" << endl;

	cin >> score;

	if (score >= 600)  // if条件后面不能加分号 
	{
    
    
		cout << "该分数已超过重点线,可喜可贺!" << endl;
	}
	else if (score >=500) 
	{
    
    
		cout << "该分数已超过一本线,恭喜!" << endl;
	}
	else
	{
    
    
		cout << "该分数未上线,还需继续努力!" << endl;
	}

	system("pause");

	return 0;
}

operador ternario

El juicio simple se puede realizar a través del operador ternario.

Sintaxis: expresión1 ? expresión2 : expresión3

Si el valor de la expresión 1 es verdadero, ejecuta la expresión 2 y devuelve el resultado de la expresión 2;
si el valor de la expresión 1 es falso, ejecuta la expresión 3 y devuelve el resultado de la expresión 3.

#include <iostream>
using namespace std;

int main() {
    
    
	int a = 10;
	int b = 20;
	int c;

	c = a > b ? a : b;  

	cout << c << endl;  // 结果为20

	a > b ? a : b = 100;  // 三目运算符返回的是变量,可以继续赋值

	cout << "a = " << a << endl;  // 结果为10
	cout << "b = " << b << endl;  // 结果为100

	system("pause");

	return 0;
}

declaración de cambio

La declaración de cambio se usa para ejecutar declaraciones de bifurcación multicondicionales; la expresión solo puede ser de tipo entero o de carácter cuando se juzga, y no se puede escribir como un rango numérico.
En comparación con la instrucción if, la instrucción switch tiene una estructura clara y una mayor eficiencia de ejecución.
Si no hay una declaración de interrupción en el caso, el programa continuará ejecutándose hacia abajo.

gramática:

switch(表达式)  
{
    
    
case 结果1: 
    执行代码;
	break;
	
case 结果2: 
    执行代码;
	break;
	
	...
	
default: 
    执行代码;
	break;
}
#include <iostream>
using namespace std;

int main() {
    
    
	int score;

	cout << "请输入电影评分:" << endl;
	cin >> score;

	switch (score)  // 表达式须为整型或字符型
	{
    
    
	case 10:
		cout << "非常经典的一部电影!" << endl;
		break;  // 如果没有break语句及时跳出,则程序会一直向下执行
	case 9:
		cout << "很不错的一部电影!" << endl;
		break;
	case 8:
		cout << "值得一看的一部电影!" << endl;
		break;
	default:
		cout << "这部电影不太行!" << endl;
		break;
	}

	system("pause");

	return 0;
}

estructura de bucle

mientras sentencia de bucle

Sintaxis: while (condición de bucle) {código de ejecución}

El código se ejecuta siempre que el resultado de la condición del bucle sea verdadero.

#include <iostream>
using namespace std;

int main() {
    
    
	int num = 0;

	while (num < 10)  // 不能加分号
	{
    
    
		cout << num << endl;
		num++;
	}

	system("pause");

	return 0;
}

Número de narcisos:

#include <iostream>
using namespace std;

int main() {
    
    
	int num = 100;
	int a;
	int b;
	int c;

	cout << "三位数的水仙花数有如下几个:" << endl;

	while (num >= 100 && num <= 999) {
    
    
		a = num % 10;  // 个位
		b = num / 10 % 10;  // 十位
		c = num / 100;  // 百位

		if (a * a * a + b * b * b + c * c * c == num) {
    
    
			cout << num << endl;
		}

		num++;
	}

	system("pause");

	return 0;
}

hacer...mientras declaración de bucle

Sintaxis: do{ejecutar código}while(condición de bucle);

do...while ejecutará el código de bucle una vez y luego juzgará la condición del bucle.

#include <iostream>
using namespace std;

int main() {
    
    
	int num = 0;

	do
	{
    
    
		cout << num << endl;
		num++;
	} while (num < 10);  // 需要加分号

	system("pause");

	return 0;
}

para sentencia de bucle

Sintaxis: for (expresión de inicio; expresión de condición; cuerpo del ciclo final) {ejecutar código}

for(①起始表达式; ②条件表达式; ③末尾循环体){
    
    
	④执行代码
}
这段循环代码的执行顺序为:① -->-->-->-->-->-->-->...
for循环中的①②③可以放在for后面的括号内,也可以放在括号外,但括号内的两个分号不能少。
#include <iostream>
using namespace std;

int main() {
    
    
	for (int i = 0; i < 10; i++) {
    
    
		cout << i << endl;
	}

	system("pause");

	return 0;
}

El siguiente código tiene el mismo resultado que el código anterior:

#include <iostream>
using namespace std;

int main() {
    
    
	int i = 0;

	for (; ; ) {
    
    
		if (i >= 10) {
    
    
			break;
		}

		cout << i << endl;
		
		i++;
	}

	system("pause");

	return 0;
}

Imprime la tabla de multiplicar:

#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;
}

declaración de salto

romper

La instrucción break se usa para saltar fuera de una estructura de selección o una estructura de bucle.

Cuándo usar descanso:

  • Aparece en la declaración condicional del interruptor, la función es terminar el caso y saltar del interruptor.
  • Aparece en una declaración de bucle, la función es saltar fuera de la declaración de bucle actual
  • Aparece en bucles anidados, la función es saltar fuera de la instrucción de bucle interno más cercana

continuar

La declaración de continuación actúa sobre el ciclo, el propósito es omitir este ciclo y continuar ejecutando el ciclo siguiente.

#include <iostream>
using namespace std;

int main() {
    
    
	for (int i = 1; i < 100; i++) {
    
    
		if (i % 2 == 0) {
    
    
			continue;  // 可用于依据某些条件进行筛选
		}

		cout << i << endl;
	}

	system("pause");

	return 0;
}

ir a

La sentencia goto puede saltar incondicionalmente a la sentencia.

Sintaxis: goto etiqueta;

Si el nombre marcado existe, cuando se ejecuta la instrucción goto, saltará a la posición marcada.

No se recomienda utilizar la declaración goto en el programa, para no causar confusión en el flujo del programa.

#include <iostream>
using namespace std;

int main() {
    
    
	for (int i = 1; i < 10; i++) {
    
    
		if (i == 5) {
    
    
			goto FLAG;
		}

		cout << i << endl;
	}

	FLAG:
	cout << "程序结束!" << endl;

	system("pause");

	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_48158964/article/details/131481407
Recomendado
Clasificación