ゼロからc++の選択ループ構造、演算子、初期vectorを学習する
構造を選択:
//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人のプレイヤーの攻撃をランダムにシミュレート
c++の演算子:
//一元演算子:++、--//二元演算子:+、-、*、/、%//三元演算子:?:
//i++と++iの違いに注意://i++と++iはi=i+1に等しいが、i++は元の値を返す++iは増加した値を返す//i++は左の値ではなく++iは左の値とすることができる
ビット演算子:ビットと&、ビットまたは|、ビット非~(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簡単な例:簡単な辞書プログラム、並べ替え単語のリストを確立する
出力a
camel
man
panama
plan
//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)<
//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