ゼロからc++の選択ループ構造、演算子、初期vectorを学習する

4806 ワード

構造を選択:
//if条件構造:
int a = 0;
int b = 0;
cout << "Enter two number"<< endl;
cin >> a >> b;
if (a > b)
cout << "max is "<< a << endl;
else if (a < b)
cout << "max is "<< b << endl;
else
cout << "Equal"<< endl;
//switch条件構造:
constexpr double cm_per_inch = 2.54;//インチあたりの定数の換算数を定義する
double length = 1;//長さ単位時インチまたはセンチメートル
char unit = 'a';
cout << "Enter a length followed by a unit (c or i): ";
cin >> length >> unit;
switch(unit)/switchカッコ内は整数、文字型または列挙タイプでなければなりません.文字列タイプではありません.
{
case'i'://case内の値は重複できませんが、複数のcaseで同じプログラムを実行できます.
cout << length << "in=="<< cm_per_inch*length << "cm";
break;//breakを追加していない場合、コンパイラはエラーを報告しません.特に注意してください.
case'c':
cout << length << "cm=="<< length/cm_per_inch << "in"<< endl;
break;
default://defaultは他の条件の前に置くこともできます
cout << "error unit"<< endl;
break;
}
//注意:switchは一般的に簡単な条件判断に用いられるのも一目瞭然で、ifはより複雑な条件判断に用いられる
ループ構造://while構造0-99の平方テーブルint i=0を計算して印刷します.while (i<100){cout << i//forループfor(int i=0;i<100;i++){cout<//标题:ゲーム中の2人のプレイヤーの攻撃をランダムにシミュレート
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

int main()
{   
	//  
	int hp1 = 100;       //player1
	int hp2 = 100;       //player2
	//   
	int attack1 = 0;     //player1
	int attack2 = 0;     //player2
	int randomNum;        //              
	srand(time(NULL));      //        rand                time(NULL)         
	//  srand     ,                  ,                         ,     
	while (hp1 > 0 && hp2 > 0)
	{
		//      1       2  
		
		randomNum = rand();      //    0-32767
		cout << "Random" << randomNum << endl;
		if (randomNum % 2 == 1)    //  
		{
			attack1 = (int)(5 + 10 * rand() / (RAND_MAX + 1.0)); //           RAND_MAX         , 32767
			attack2 = (int)(5 + 10 * rand() / (RAND_MAX + 1.0));

			hp2 -= attack1;
			hp1 -= attack2;
		}
		else        //  
		{
			attack2 = (int)(5 + 10 * rand() / (RAND_MAX + 1.0));
			attack1 = (int)(5 + 10 * rand() / (RAND_MAX + 1.0));

			hp1 -= attack2;
			hp2 -= attack1;
		}
	}
	//        
	cout << "player1:" << hp1 << endl;
	cout << "player2:" << hp2 << endl;
	
    return 0;
}

c++の演算子:
//一元演算子:++、--//二元演算子:+、-、*、/、%//三元演算子:?:
//i++と++iの違いに注意://i++と++iはi=i+1に等しいが、i++は元の値を返す++iは増加した値を返す//i++は左の値ではなく++iは左の値とすることができる
        int num1 = -5;
	int num2 = 2;
	num1 = num2++ - --num2;
	cout << num1 << "\t" << num2 << "
";
出力結果:0 2
ビット演算子:ビットと&、ビットまたは|、ビット非~(4&5)<int num=5;//5バイナリ0101.00数字左シフト3ビット0101000から10進数40 num=5<<3に変換されます.cout << num << endl;//出力40>:演算子右シフト(リロード)cout<<(64>>2)<初認識vector(ベクトル):
//Vectorインデックスによってアクセスできる順序で格納されるデータ要素vector類似配列のセット//vectorの初期化vector v_を事前に指定する必要はありませんi;//intタイプデフォルト0 v_i = { 1,3,7,2,9 };//遍歴for(int i=0;i簡単な例:簡単な辞書プログラム、並べ替え単語のリストを確立する
#include 
#include 
#include 
#include 
using namespace std;

int main()
{   
	vector words;
	for (string temp;cin>>temp;)
	{
		words.push_back(temp);
	}
	cout << "Number of words: " << words.size() << endl;
	sort(words.begin(), words.end());       //       

	for (int i = 0; i < words.size();i++)
		if (i == 0 || words[i - 1] != words[i])             //           
			cout << words[i] << endl;
	cin.get();
    return 0;
}
入力a man a plan a camel panama//入力ストリームvsを終了する方法についてctrl+z+enterを使用して入力ストリームを終了できます
出力a
        camel
        man
        panama
        plan