C++勉強メモ2(数値、文字の入出力)
数値、文字の入出力1.本日の内容 (1) 数値をコンソールに入力し、計算結果を出力する。 (2) 文字列を入力し、それを文字を足して、表示する。2.内容 (数値をコンソールに入力し、計算結果を出力) (1) プログラムの基本的な書き方は、「C++勉強メモ1(Hellow worldの表示)」と同じ (2) 例://ファイル名:main.cpp //プログラム内容:数値をa,bを入力し、その足し算の結果を表示する。 //ーーーーーーーープログラム開始ーーーーーーーーーーー //ヘッダの宣言 #include <iostream> //名前空間の宣言 using namespace std; //メイン関数処理 int main(void){ // Your code here! //変数宣言 int a,b; //初期化処理 a=0; b=0; //a=を表示 cout<<"a="<<endl; //変数aにキーボードで入力 cin>>a; //b=を表示 cout<<"b="<<endl; //変数bにキーボードで入力 cin>>b; //a+bの計算結果を表示する cout<<"a+b="<<a+b; //0の値を返す。 return 0; } //ーーーーーーーープログラム終了ーーーーーーーーーーー実行結果:https://paiza.io/projects/-cWr_2U1D7lmk1LPdMRKAg?language=cpp(ブラウザだと、入力部分に、先に数値を入れて、実行を押す必要がある。) (3) 詳細説明 (a) 文字の入力用オブジェクト ・cin cin>>入力先の変数名; 数値や、文字列の入力に使用する。 coutと同様、標準名前空間(std)に含まれる、入力用オブジェクト。 cinも扱う場合も、coutと同様に、 ヘッダ(iostream)の宣言と名前空間(std)の宣言が必要 <<の向きが、coutとは逆になっている。 3.内容 (文字列を入力し、文字を足して表示) (1-1) 例(stringを使って文字列の入出力を行う)://ファイル名:main.cpp //プログラム内容:文字列を入力し、「入力された文字は、「入力した文字」です。」を表示する。 //ーーーーーーーープログラム開始ーーーーーーーーーーー//ヘッダ宣言 #include <iostream> #include <string> //名前空間宣言 using namespace std;//メイン処理開始 int main(void){ //オブジェクトの宣言 string s,t; //t:文字出力変数、s:文字入力変数 //処理開始 t="入力されたもじは、"; cout << "文字列を入力:"<<endl; cin >> s; cout <<t+s<<"です。"<<endl; return 0; }//ーーーーーーーープログラム終了ーーーーーーーーーーー実行結果:https://paiza.io/projects/2EHQhAzhdtSuKyw3MRwsyg?language=cpp (1-2)詳細説明 (a) ヘッダの宣言 ・#include<string> 文字列を扱うために、stringクラスを使用する。 このstringを使用するための、ヘッダ。 (b) オブジェクトの宣言 ・string s,t; stringクラスを使用し、sとtという名前で、stringクラスをオブジェクト化(オブジェクトを生成)している。 詳細は、クラスにて、別途記載予定。 string 文字列を入れる変数; で使用できること。 ヘッダ(string)の宣言、 名前空間(std)が必要ということだけ覚えておく。 参考:C++文字列クラス std::stringとは (2-1) 例(char型で、文字の入出力を行う。): //ファイル名:main.cpp //プログラム内容: //別の宣言方法で、下記2点の表示を行う。 //abc の出力 //入力した文字列の表示をする。 //ーーーーーーーープログラム開始ーーーーーーーーーーー //ヘッダのインクルード #include <iostream> //名前空間宣言 using namespace std; //メイン処理 int main(void){ // Your code here! //char型の変数宣言 char s1[]={'a','b','c','\0'}; //abcを入力 char s2[]="入力した文字"; char s3[]={}; //入力用変数 //文字列の出力 cout << "s1="<<s1<<endl; cout << "s2="<<s2<<endl; cin >> s3; cout << s3 << endl; //cout <<s2+s1<<endl; //これはできない。 } //ーーーーーーーープログラム終了ーーーーーーーーーーー実行結果:https://paiza.io/projects/nAayemuwxg6_JKz_4wQqSg?language=cpp(2-2) 詳細説明 (a) 変数宣言 ・char 変数名[] = {'a','b','c','\0'}; char型の場合、配列を使用して、文字を入れる。 {}でやる場合、1文字ずつ、入れる。 (あまり使わなそう) ・char 変数名[] = "文字列"; "で囲んだ部分を文字列として使用することができる。 ・char 変数名[] = {}; からの配列の変数を用意する。文字を入力することが可能。 (3) char型と、stringクラスの長所と短所 charの変数型、stringクラス、どちらを使用しても文字列の入出力は可能。 この二つは、長所と短所があるので、使い分けをする。 (a) char型の長所: ・必要とするメモリが少ない ・処理スピードが早い ・C言語の資産を受け継げる (b) char型の短所: ・処理が複雑 ・エラーが起こりやすい (c) stringクラスの長所 ・扱いが簡単で分かりやすい ・エラーを起こしにくい (d) stringクラスの短所 ・char型の配列に比べて余計なメモリが必要 ・char型の配列よりも処理スピードが遅い4.関連記事・C++勉強メモ1(Hellow worldの表示)・C++勉強メモ2(数値、文字の入出力)・C++勉強メモ3(名前空間とは) ・C++勉強メモ4(ポインタ)・C++勉強メモ5(クラス1)・C++勉強メモ6(クラスについて2_アクセス指定子) ・C++勉強メモ7(クラスについて3(ゲッターとセッター)) ・C++勉強メモ8(コンストラクタとデストラクタ) 5.参考にしている本1週間でC++の基礎が学べる本 (1週間プログラミング) [ 亀田 健司 ]価格:2860円(税込、送料無料) (2022/3/20時点)楽天で購入