標準入出力 - (2012/10/03 (水) 04:49:59) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*iostream
標準入出力を行う際
Cでは<stdio.h>を使用
C++では<iostream>を使用
(※今まで通りCのライブラリも使用可能。)&br()
以下のコードを書いて、Hello Worldと標準出力を行うプログラムを作成してみます。
#html2(){{
<pre class="brush: cpp;">
#include <iostream>>
int main() {
std::cout << "Hello World";
return 0;
}
</pre>
}}
一行目で<iostream>ライブラリをincludeします。
C++のライブラリは、末尾に「.h」をつけません。
これでCとC++のライブラリを区別しています。
*cout
std::cout が標準出力のコマンドです。
std::cout << "文字列"; や std::cout << 3+3;
とすることで、文字列や数値の計算結果を表示できます。
「<<」 は、出力演算子と呼び、文字列や、数式をcoutに送るという役割を果たします。
std::cout << 3+3 << "文字列" << a+b << 3+1.1;
とすれば、文字列を連結することも可能。
std::cout << "文字列" << std::endl
末尾にstd::endlを付け加えると改行する。
今まで通り\nでも改行可能だが、std::endlを使用した場合、改行に加えてバッファをフラッシュしてくれる。
改行なしでフラッシュしたい場合は、std::flushを使用する。
*cin
続いて標準入力。(ユーザーからキーボードから何か入力してもらうやつ)
下のコードを書いてみよう。
#html2(){{
<pre class="brush: cpp;">
#include <iostream>
int main() {
char str[64]
std::cout << "文字を入力してね。" << std::endl;
std::cin >> str;
std::cout << "あなたの入力した文字は "<< str <<" です!"<< std::endl;
return 0;
}
</pre>
}}
std::cin >> str;が標準入力の部分です。
「>>」は入力演算子と呼び、ユーザの入力した情報を指定した変数に格納します。
scanfの時は「&変数名」だったけど、
アドレス× 変数名○ になってます。
間違えないように。&br()
※cout、cinの便利な点 → %dや%sといった型の意識が不要
*問題
では問題行ってみよう。
**問1
ユーザに整数を2つ入力してもらい、最初に入力した数 + 次に入力した数 = 計算結果
とコンソールに表示してみよう。
**問2
ユーザに"1"を入力するよう標準入力を求め、"1"と入力されたらプログラム終了、それ以外は、もう一度入力させるプログラムを作成せよ。
※1 標準入力の受け取り先の型はint型にすること。
※2 int型に文字列が入力されても無限ループに陥らないようにすること。
**問3
std::の部分を省略してcoutやcinを機能させる方法がある。ぐぐってみよう。
**問4
iostreamのライブラリ関数の機能は他にもたくさんあるから調べてみよう。やってみよう。遊んでみよう。
#include(highlight)
*iostream
標準入出力を行う際
Cでは<stdio.h>を使用
C++では<iostream>を使用
(※今まで通りCのライブラリも使用可能。)&br()
以下のコードを書いて、Hello Worldと標準出力を行うプログラムを作成してみます。
#html2(){{
<pre class="brush: cpp;">
#include <<iostream>>
int main() {
std::cout << "Hello World";
return 0;
}
</pre>
}}
一行目で<iostream>ライブラリをincludeします。
C++のライブラリは、末尾に「.h」をつけません。
これでCとC++のライブラリを区別しています。
*cout
std::cout が標準出力のコマンドです。
std::cout << "文字列"; や std::cout << 3+3;
とすることで、文字列や数値の計算結果を表示できます。
「<<」 は、出力演算子と呼び、文字列や、数式をcoutに送るという役割を果たします。
std::cout << 3+3 << "文字列" << a+b << 3+1.1;
とすれば、文字列を連結することも可能。
std::cout << "文字列" << std::endl
末尾にstd::endlを付け加えると改行する。
今まで通り\nでも改行可能だが、std::endlを使用した場合、改行に加えてバッファをフラッシュしてくれる。
改行なしでフラッシュしたい場合は、std::flushを使用する。
*cin
続いて標準入力。(ユーザーからキーボードから何か入力してもらうやつ)
下のコードを書いてみよう。
#html2(){{
<pre class="brush: cpp;">
#include <iostream>
int main() {
char str[64]
std::cout << "文字を入力してね。" << std::endl;
std::cin >> str;
std::cout << "あなたの入力した文字は "<< str <<" です!"<< std::endl;
return 0;
}
</pre>
}}
std::cin >> str;が標準入力の部分です。
「>>」は入力演算子と呼び、ユーザの入力した情報を指定した変数に格納します。
scanfの時は「&変数名」だったけど、
アドレス× 変数名○ になってます。
間違えないように。&br()
※cout、cinの便利な点 → %dや%sといった型の意識が不要
*問題
では問題行ってみよう。
**問1
ユーザに整数を2つ入力してもらい、最初に入力した数 + 次に入力した数 = 計算結果
とコンソールに表示してみよう。
**問2
ユーザに"1"を入力するよう標準入力を求め、"1"と入力されたらプログラム終了、それ以外は、もう一度入力させるプログラムを作成せよ。
※1 標準入力の受け取り先の型はint型にすること。
※2 int型に文字列が入力されても無限ループに陥らないようにすること。
**問3
std::の部分を省略してcoutやcinを機能させる方法がある。ぐぐってみよう。
**問4
iostreamのライブラリ関数の機能は他にもたくさんあるから調べてみよう。やってみよう。遊んでみよう。
#include(highlight)
表示オプション
横に並べて表示:
変化行の前後のみ表示: