入門02

本文为C++初学者提供了一个简单的编程入门实例,通过使用cout进行基本的文字输出操作,介绍了C++程序的基本结构和语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++によるプログラミング入門2
coutを使った出力

 こんにちは。前回は、プログラムについての一般的な話をしました。今回は、簡単なプログラムを書いてみます。
 はじめてプログラムを書く人は、市販の業務用ソフトやゲームソフトを想像するかもしれませんが、売り物になるようなプログラムを書くことは並大抵ではありません。まず、はじめは、じみ~で、おもしろくないものから始めなくてはなりません。そのうち楽しくなると思いますから、少しがんばってみましょう。

 この業界の人は大抵ある有名なプログラムからはじめます。私たちもそれにならいましょう。おそらく単独では世界でもっとも有名なプログラム(ただし、バリエーションは少しあります)です。

//hello.cpp
#include <iostream>
using namespace std;

int main()
{
    cout << "hello" << endl;
}

 もし、すでにC++のコンパイラ(処理系)を持っているなら、上のソースコードを入力(すべて半角英数字です)し、コンパイル+リンクし、実行してみてください(endlの最後の「l」は小文字のエルです)。(Borland C++とVisual C++ .NETの場合の簡単な説明は、付録1を見てください。)実行結果は、画面に「hello」と打ち出されるだけです。なんと、つまらない、、、と思う、思わないは個人の自由ですが、普通はこんなプログラムから入門していくのです。(ちなみに、現在、現役ばりばりのプログラマの多くも、はじめは、こんなプログラムのお世話になっているはずです。)

Fig.1 hello.cppをコンパイル+リンクして作ったhello.exeの実行画面


 プログラムの説明をします。

 1行目は、「//」ではじまっていますね。「//」ではじまる部分は、行末までがコメントと呼ばれ、プログラムの実行とはなんの関係もないものです。(当然、コメントは削除しても、プログラムの動作に影響はありません。)プログラム中には、このような形でコメントを書くことができるのです。
 ここではプログラムの名前hello.cppをコメントとして書いただけです。(注:私の使っている処理系(Borland C++ 、Visual C++)ではC++のソースは「ファイル名.cpp」とします。ここでcppが拡張子と呼ばれるものです。皆さんは自分の処理系が要求する拡張子をつけてください。)このタイプのコメントは「//」ではじまっているので、ほかの行でも「//」を見つけたらこれは、そのあとに書いてあることはただのコメントだと思ってください。

 2行目「#include <iostream>」は、「標準的な入出力に関して必要な情報を取って来い」という程度の意味です。プログラムによっては標準的な入出力をしないものもあります。しかし、たいていは標準の入出力をするので、この行は基本的にいつも書くことになります。

 3行目「using namespace std;」は、「プログラム中でいろいろなものの名前を簡単に書くため」と思っておいてください。そう言われてもなんのことかわからないと思いますが、とりあえず、「おまじない」と思っておくのがよいと思います。詳しい意味は次回に説明します。とにかく、最初は、「C++のプログラムには(普通)このような行(2行目3行目)が頭にある」と思っておいてください。

 4行目は空行ですね。見やすさのために1行空けたのです。

 5行目の「int main()」はこれからプログラムの「中心部分(本体)」が始まるという「合図」です。C++のプログラムの中心部分はいつもここから始まります。ここはそういうものなんだと、理解してください。この「int main()」が支配している範囲は「中カッコ」で示されます。それが6行目の「」と8行目の「」なのです。

 したがって、「プログラム中心部分の中身」は7行目の「cout << "hello" << endl;」だけなのです。coutの前が少しあいているのは見やすさのためです。今回は、この行の意味がわかればよいのです。もう少しですね。
ということで、7行目を説明しましょう。実は、coutは画面を表わし、<<は「そこへ押し込め」などの意味です。したがって、

 cout << "文字列"

と書くと、「文字列を画面に押し込め」つまり「文字列を画面に出力せよ」という意味になるのです。
 また、endlは「改行」を表わし、「;」は「命令の終わり」を意味します。そのため、

 cout << ... << endl;

とすると、「出力の最後に画面に改行を押し込む」つまり「最後に改行する」という意味になるのです。
 以上をまとめると、「cout << "hello" << endl;」は、「画面にhelloと出力して、改行せよ」という命令になるのです。Fig.1を見てください。実際、そうなっていますね。

 はじめのうちは、あまり「どうしてだろう」と悩まずに多くのことを受け入れてください。そのうちいろいろなことがわかってきます。まず、上のプログラムをなんとか実行してみてください。コンパイル+リンク(ビルドなどということもあります。以下ではかんたんのため「コンパイル」とだけいうことにしますが、これはいつもコンパイル+リンクのことと思ってください。)時にエラーメッセージがでたら、おそらくタイプミスか何かでしょう。例えば、初心者は、よく「;」を忘れます。
 エラーが出たらなんとか直してコンパイルしてください。うまくいったら実行です。「hello」とでましたか?もし、うまくいったら、(あまりおもしろいプログラムではありませんが)自分で少しだけ改造したプログラムを書いてみてください。

 例えば、こんなのが出来るでしょう。

#include <iostream>
using namespace std;

int main()
{
    cout << "俺様はプログラマの卵だ!" << endl;
}

 出力する文字列を変えただけです。実際、実行すると「俺様はプログラマの卵だ!」と出力するはずです。ただし、日本語は「俺様はプログラマの卵だ!」だけで、他の部分は半角英数字で入力するのを忘れないでください。特に「"」などを全角文字で書いたりしないように気をつけてください。また、日本語の空白(全角の空白)を「""」の外に書くと、コンパイル時にエラーになります。しかし、これは普通見えない文字なので、初心者は、とても悩むことになります。これも気をつけてください。

 以上は、文字を出力するプログラムでしたが、数(字)も同様にできます。しかし、数だけを出力するときには「"」はいりません。この場合、数字はかならず半角で打ってください。また、次のように

//nenrei.cpp
#include <iostream>
using namespace std;

int main()
{
    cout << "私は" << 43 << "才です。" << endl;
}

<<をいくつもならべて使うこともできます。こうすると、「私は43才です。」と出力するプログラムになります(旧作のときは37才だったのに)。

Fig.2 nenrei.exeの実行

 今日はこの辺にしましょう。それではまた。

内容概要:本文针对国内加密货币市场预测研究较少的现状,采用BP神经网络构建了CCi30指数预测模型。研究选取2018年3月1日至2019年3月26日共391天的数据作为样本,通过“试凑法”确定最优隐结点数目,建立三层BP神经网络模型对CCi30指数收盘价进行预测。论文详细介绍了数据预处理、模型构建、训练及评估过程,包括数据归一化、特征工程、模型架构设计(如输入层、隐藏层、输出层)、模型编译与训练、模型评估(如RMSE、MAE计算)以及结果可视化。研究表明,该模型在短期内能较准确地预测指数变化趋势。此外,文章还讨论了隐层节点数的优化方法及其对预测性能的影响,并提出了若干改进建议,如引入更多技术指标、优化模型架构、尝试其他时序模型等。 适合人群:对加密货币市场预测感兴趣的研究人员、投资者及具备一定编程基础的数据分析师。 使用场景及目标:①为加密货币市场投资者提供一种新的预测工具和方法;②帮助研究人员理解BP神经网络在时间序列预测中的应用;③为后续研究提供改进方向,如数据增强、模型优化、特征工程等。 其他说明:尽管该模型在短期内表现出良好的预测性能,但仍存在一定局限性,如样本量较小、未考虑外部因素影响等。因此,在实际应用中需谨慎对待模型预测结果,并结合其他分析工具共同决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值