2021-01-222日目にチェックインしてC ++を学ぶ


1つは、オペレーター

1.算術演算子

プラス/プラス記号(+)、マイナス/マイナス記号(-)、乗算(*)、除算(/)、剰余(%)、前後のインクリメント(++)、前後のデクリメント(–)

#include<iostream>
using namespace std;

int main()
{
    
    
	int a = 7, b = 2;
	double c = 7, d = 2;
	cout << "a =  " << a ;
	cout << ",b = " << b << endl;

	//1、加
	cout << "a + b = " << a + b << endl;

	//2、减
	cout << "a - b = " << a - b << endl;

	//3、乘
	cout << "a * b = " << a * b << endl;

	//4、除
	cout << "c / d = " << c / d << endl;

	//5、取余
	cout << "a % b = " << a % b << endl;

	//6、前置递增
	cout << "++a = " << ++a << endl;

	//7、后置递增
	cout << "b++ = " << b++ << endl;

	//8、前置递减
	cout << "--a = " << --a << endl;

	//9、后置递减
	cout << "b-- = " << b-- << endl;

	system("pause");
	return 0;
}

出力結果
ここに画像の説明を挿入

2.代入演算子

割り当て(=)、等しいの加算(+ =)、等しいの減算(-=)、等しいの乗算(* =)、等しいの除算(/ =)、モジュラスの等しい(%=)

#include<iostream>
using namespace std;

int main()
{
    
    
	double a = 2;
	int b = 9;  //赋值
	cout << "a =  " << a ;
	cout << ", b =  " << b << endl;
	

	//1、加等于
	a += 2;
	cout << "a =  " << a << endl;

	//2、减等于
	a -= 1;
	cout << "a = " << a << endl;

	//3、乘等于
	a *= 3;
	cout << "a = " << a << endl;

	//4、除等于
	a /= 2;
	cout << "a = " << a << endl;

	//5、取余等于
	b %= 2;
	cout << "b = " << b << endl;

	system("pause");
	return 0;
}

出力結果
ここに画像の説明を挿入

3.比較演算子

等しい(==)、等しくない(!=)、より小さい(<)、より大きい(>)、以下(<=)、以上(> =)

#include<iostream>
using namespace std;

//比较a、b大小,结果为真,则输出1,结果为假,则输出0;
int main()
{
    
    
	int a = 7, b = 9;  
	cout << "a =  " << a ;
	cout << ", b =  " << b << endl;
	

	//1、相等于
	cout << "判断 a = b \t输出结果为:"<<(a == b) << endl;

	//2、不等于
	cout << "判断 a != b \t输出结果为:" << (a != b) << endl;

	//3、大于
	cout << "判断 a > b \t输出结果为:" << (a > b) << endl;

	//4、小于
	cout << "判断 a < b \t输出结果为:" << (a < b) << endl;

	//5、大于等于
	cout << "判断 a >= b \t输出结果为:" << (a >= b) << endl;

	//6、小于等于
	cout << "判断 a <= b \t输出结果为:" << (a <= b) << endl;

	system("pause");
	return 0;
}

出力結果
ここに画像の説明を挿入

4.論理演算子

(!)、(&&)、または(| |)ではありません

0のC ++では、すべてがtrueです。

#include<iostream>
using namespace std;

//比较a、b大小,结果为真,则输出1,结果为假,则输出0;
int main()
{
    
    
	int a = 7, b = 9, c = 0;  
	cout << "a =  " << a ;
	cout << ", b =  " << b;
	cout << ", c =  " << c << endl;
	
	//1、非
	cout << "判断 !a \t输出结果为:" << (!a) << endl;
	cout << "判断 !c \t输出结果为:" << (!c) << endl;

	//2、与
	cout << "判断 a&&b \t输出结果为:" << (a&&b) << endl;
	cout << "判断 a&&c \t输出结果为:" << (a&&c) << endl;

	//3、或
	cout << "判断 a||b \t输出结果为:" << (a||b) << endl;
	cout << "判断 a||c \t输出结果为:" << (a||c) << endl;

	system("pause");
	return 0;
}

出力結果
ここに画像の説明を挿入

第二に、プログラムフロー構造

3つの最も基本的なプログラム実行構造:シーケンス構造、選択構造、およびループ構造

  • シーケンス構造:プログラムはジャンプせずに順番に実行されます

  • 選択構造:条件が満たされているかどうかに応じて、対応する機能が選択的に実行されます

  • ループ構造:条件が満たされているかどうかに応じて、特定のコードがループ内で繰り返し実行されます

1.構造を選択します

(1)ifステートメント
  • 単一行フォーマット:if (条件){ 条件满足执行的语句 }

  • 複数行フォーマット:if (条件){ 条件满足执行的语句 } else { 条件不满足执行的语句 };

  • 多条件:if (条件1){ 条件1满足执行语句 } else if (条件2){条件2满足执行语句 } ......else {都不满足执行语句 }

#include<iostream>
using namespace std;

//本例为高考分数查询系统
int main()
{
    
    
	int score = 0;
	cout << "请输入您的分数:" << endl;
	cin >> score;
	if (score > 500)
	{
    
    
		if (score > 600)
			cout << "恭喜您考上重点一本" << endl;
		else
			cout << "恭喜您考上一本" << endl;
	}
	else if (score <= 500 && score > 400)
		cout << "恭喜您考上二本" << endl;
	else
		cout << "很遗憾" << endl;



	system("pause");
	return 0;

}

出力結果
ここに画像の説明を挿入

(2)switchステートメント

複数の条件分岐ステートメントを実行する

switch(表达式)
{
    
    
	case 结果1:执行语句;breakcase 结果2:执行语句;break......
	default:执行语句;break}

#include<iostream>
using namespace std;

//本例为给电影评分
//观影后对电影进行评分,分别有1~5分
//5:非常好 4:很好 3:一般 2:不好 1:很差
//若输入其他数字,显示操作错误
int main()
{
    
    
	int mark;
	cout << "评分规则:5:非常好 4:很好 3:一般 2:不好 1:很差" << endl;
	cout << "请输入您的评分:";
	cin >> mark;
	switch (mark)
	{
    
    
	case 5:cout << "非常好"<<endl; break;
	case 4:cout << "很好" << endl; break;
	case 3:cout << "一般" << endl; break;
	case 2:cout << "不好" << endl; break;
	case 1:cout << "很差" << endl; break;
	default:cout << "操作错误" << endl;
	}


	system("pause");
	return 0;

}
  • スイッチの利点:明確な構造と高い実行効率

  • スイッチのデメリット:判断するときは整数または文字タイプのみであり、間隔ではありません

2.ループ構造

(1)whileループステートメント

ループ条件を満たし、ループ構造を実行します(ループ条件が真である限り、ループステートメントを実行します)

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

#include<iostream>
using namespace std;

//本例为打印1~9
int main()
{
    
    
	int num = 1;
	while (num != 10)
	{
    
    
		cout << "num = "<< num << endl;
		num++;
	}


	system("pause");
	return 0;

}

ここに画像の説明を挿入
質問の例システムはランダムに1から100までの数字を生成し、プレーヤーは推測を行います。推測が間違っている場合は、数字が大きすぎるか小さすぎるかをプレーヤーに促し、プレーヤーは次の場合にゲームを終了できます。推測は正しいです。

出力結果
ここに画像の説明を挿入

(2)do ... whileループステートメント

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

whileとdo ... whileの違い:do ... whileは、ループステートメントを1回実行してから、ループ状態を判断します。

(3)forループステートメント

for(起始表达式;条件表达式;末尾循环体){
    
     循环语句;}

#include<iostream>
using namespace std;

int main()
{
    
    
	int i;
	for (i = 1; i < 5; i++)
	{
    
    
		cout << "i = " << i << endl;
	}

	system("pause");
	return 0;

}

例: 1から数100まで数えます。数の1または10に7が含まれる場合、または数が7の倍数である場合は、テーブルにノックを印刷します。それ以外の場合は、数を印刷します。

#include<iostream>
using namespace std;

int main()
{
    
    
	int i;
	for (i = 1; i <= 100; i++)
	{
    
    
		if (i % 7 == 0)    //7的倍数
		{
    
    
			cout << "敲桌子" << endl;
			continue;
		}
		else if(i % 10 == 7) //个位数为7
		{
    
    
			cout << "敲桌子" << endl;
			continue;
		}
		else if (i / 10 == 7)  //十位数为7
		{
    
    
			cout << "敲桌子" << endl;
			continue;
		}
		cout << i << endl;

	}

	system("pause");
	return 0;

}

#include<iostream>
using namespace std;

int main()
{
    
    
	int i;
	for (i = 1; i <= 100; i++)
	{
    
    
		cout << "* ";
		if (i % 10 == 0)
			cout << "\n";
		

	}

	system("pause");
	return 0;

}

出力結果
ここに画像の説明を挿入

(4)ネストされたループ

いくつかの実用的な問題を解決するために、ループ本体にループのレイヤーをネストします

サンプルプリント九九九九

#include<iostream>
using namespace std;

int main()
{
    
    
	int i,j;
	for(i=1;i<=9;i++)
	{
    
    
		for (j = 1; j <= i; j++)
		{
    
    
			cout << i << "*" << j << "=" << i * j<<" ";
		}
		cout << endl;

	}

	system("pause");
	return 0;

}

出力結果
ここに画像の説明を挿入

3.ジャンプステートメント

(1)Breakステートメント

選択構造またはループステートメントからジャンプするために使用されます

ブレークを使用する場合:

  • switch条件ステートメントに表示されます

  • ループステートメントに表示されます。役割は、現在のループステートメントからジャンプすることです。

  • ネストされたループに表示され、最も近い内部ループステートメントからジャンプします

(2)ステートメントを続ける

ループステートメントで、このループ内の残りの未実行ステートメントをスキップし、次のループの実行続行します

(3)後藤文

無条件ジャンプステートメント

文法:goto 标记; // 如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

[注]学習コースは-ダークホースプログラムC ++チュートリアル

おすすめ

転載: blog.csdn.net/qq_42616280/article/details/112981952