7月21日 「こうしろう,今日何するが?」と訊ねると,C言語の勉強をすると言う。「MindStorms飽きたのか?」,「なーん,MindStorms時間かかるから,今日はCをちょっと。」確かに中学生はお忙しいみたいだが,Cのプログラミングにカッコ良さを感じているようなところもあるのだろう。「C言語の勉強」はしばらく続きそうだ。
日経ソフトウエア2000年8月号の『データ処理は演算子と変数を覚えればバッチリ』に従い,演算子の勉強を進める。演算子はNQCで経験済みなのでスラスラと読み進める。つまったところは a = i++ と a = ++i の違いだ(典型的なところでひっかかってくれるので,私は書きやすくて助かる)。後置インクリメント演算子(a = i++)は,iの値をaに代入してからiの値を1つ増加させる。仮にiが3の状態でa = i++を実行するとaは3に,iは4になる。それに対し,前置インクリメント演算子(a = ++i)では,加算,代入の順で処理が実行されるので,a,iとも4になる。
まず,こうしろうが入力したサンプルプログラムが以下である。
#include <stdio.h>
main()
{
int a;
printf("今日の天気は?\n");
printf("晴れ=1 曇り=2 雨=3:");
scanf("%d",&a);
if(a == 1||a == 2)
printf("傘はいりません。\n");
else
printf("傘が必要です。\n");
return 0;
}
2つの値が等しいかどうかを判定する比較演算子(==)とOR(または)を表す論理演算子(||)を使っている。
7月28日 続いて構造体を学ぶ。
#include<stdio.h>
main()
{
/*構造体の宣言*/
struct book{
char name[100];
int yen;
}buybook[5];
/*変数の宣言*/
int id = 0;
int maxID,maxYen = 0;
while(id < 5){
printf("%d番目の本の"
"名前を入力してください: ",id + 1);
scanf("%s",buybook[id].name);
printf("%d番目の本の"
"金額を入力してください:",id + 1);
scanf("%d",&buybook[id].yen);
if(buybook[id].yen > maxYen){
maxID = id;
maxYen = buybook[id].yen;
}
id++;
}
printf("一番高い本は%d円の「%s」です。\n",
buybook[maxID].yen,buybook[maxID].name);
return 0;
}
本の名前とその価格を記憶する構造体bookを定義して,buybook[5]でbook構造の配列を作成する。本の名前と価格をscanf関数で受け取り,もっとも値段の高い本の添え字(id)をmaxID に代入し,その価格をmaxYenに保存している。
「構造体,わかったか?」とこうしろうに説明を求めると,なんか「もちゃもちゃ」とした説明をしている。「構造体を使うとさ,例えば名刺,名刺には住所や会社名,名前,…といろんな情報があるだろ。こんな情報のかたまり,つまりレコードを扱うのに便利なんだよ。」,「はい」と良いお返事のこうしろうに,C言語身につくかもしれんなと期待が湧く。
自然言語でもコンピュータ言語でも,言語の獲得はまず,まねることから始まるのだろうが,こうしろうの妹ほのちゃん(2才9カ月)は最近変な言葉ばかりをまねて,周囲に笑いとびっくりを与えている。まず,私の口真似で「おーい」,こうしろうの真似で「わしは」,かずの真似で「こりゃ,なんじゃ。」まるでおとっつあんのようだ。極めつけは妻の真似で「ごくらく,ごくらく。」お人形を横に寝かしては「極楽,極楽」とほのは言っている。こっちの学習は,ほっておこう。面白いからいいや。(解説:とても気持ちのいい時,今風に言うと「いやされているとき」に極楽,極楽と言います。年配の方がよく使うのですが,ということは私の妻は…,む,やばい。やめておこう)
第61話 C言語の勉強は続きそうだ
あなたにお薦め
今日のピックアップ
-
不要な製品の購入を強いられる、ブロードコムのVMware買収で悪影響
-
米GitHubが「Workspace」を開始、ソフト開発の課題をAIが自動解決
-
Core Ultra搭載の「dynabook R9」、35時間駆動の実力
-
パスワード管理や不正サイト対策はEdgeもChromeも充実、複数機器の同期は選べる
-
コメント関連が使いやすくなった新Acrobat Reader、「クイックツールバー」に集約
-
M3搭載「MacBook Air」とM2搭載モデルを比較、外付けディスプレー2台接続も試す
-
有名人になりすまして投資広告を掲載、SNSで接触してみた結果
-
NECが受注したe-Govのガバクラ移行が大幅遅延、構築手法の途中変更が影響か
-
IIJ公式サイトのPVがある日突然13倍に、バズったわけでも炎上したわけでもない裏側
-
アリババのデジタル人材育成プログラム、世界の起業家や若者4千人以上にノウハウ提供
-
縦長のWebページ全体を画像で保存、メニューから選べるEdgeがChromeより便利
-
「四重苦」で伸び悩む日本市場、なぜ海外スマホメーカーが開拓に本腰を入れるのか
注目記事
おすすめのセミナー
-
「仮説立案」実践講座
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
CIO養成講座 【第35期】
業種を問わず活用できる内容、また、幅広い年代・様々なキャリアを持つ男女ビジネスパーソンが参加し、...
-
改革リーダーのコミュニケーション術
プロジェクトを成功に導くために改革リーダーが持つべき3つのコミュニケーションスキル—「伝える」「...
-
パワポ資料が見違える「ビジネス図解」4つのセオリー
インフォグラフィックスとは、形のない情報やデータなど伝えたいことを分かりやすい形で表現する技法で...
-
間違いだらけの設計レビュー
本セミナーでは、現場で多く見られる間違ったレビューの典型例を示し、そうならないための現場の改善策...
-
オンライン版「なぜなぜ分析」演習付きセミナー実践編
このセミナーでは「抜け・漏れ」と「論理的飛躍」の無い再発防止策を推進できる現場に必須の人材を育成...
-
問題解決のためのデータ分析活用入門
例えば「必要な人材育成ができていない」といった課題に、あなたならどう取り組みますか? このセミナ...
-
業務改革プロジェクトリーダー養成講座【第16期】
3日間の集中講義とワークショップで、事務改善と業務改革に必要な知識と手法が実践で即使えるノウハウ...
注目のイベント
-
日経クロステックNEXT 関西 2024
2024年5月16日(木)~5月17日(金)
-
日経ビジネスCEOカウンシル
2024年5月16日(木)17:00~19:50
-
WEURO DIVERSITY & INCLUSION FORUM
2024年5月17日(金)13:00~17:30(予定)
-
VUCA時代に勝ち残る戦略的サプライチェーン構築に向けて
2024年 5月 24 日(金) 10:00~16:20
-
人手不足を乗り越える 日本の産業界成長のシナリオ2024
2024年5月30日(木)10:20~17:45
-
人的資本経営版:日経ビジネスLIVE 2024 Spring
2024年6月3日(月)~6月5日(水)
-
DX Insight 2024 Summer
2024年6月4日(火)、5日(水)
-
付加価値ある意匠デザインを実現するものづくり技術2024
2024年6月7日(金)10:30 ~ 17:00
-
WOMAN EXPO 2024
2024年6月8日(土)10:00~17:30
-
デジタル立国ジャパン2024
2024年6月10日(月)、11日(火)
おすすめの書籍
-
ソフトバンク もう一つの顔 成長をけん引する課題解決のプロ集団
ソフトバンクにはモバイルキャリア事業以外のもう一つの顔が存在する。本書ではキーパーソンへのインタ...
-
対立・抵抗を解消し合意に導く 改革リーダーのコミュニケーション術
本書は、改革リーダーに必須のコミュニケーション術を3つのスキルの観点からまとめ上げたものです。今...
-
もっと絞れる AWSコスト超削減術
本書ではコスト課題を解決するため、AWSコストを最適化し、テクニックによって削減する具体策を紹介...
-
優秀な人材が求める3つのこと 退職を前提とした組織運営と人材マネジメント
「学生に人気のコンサルであっても、大手企業であっても、せっかく獲得した人材が数年で辞めてしまう...
-
Web3の未解決問題
ブロックチェーン技術を主軸とするWeb3の技術について、現在の社会制度との摩擦と、その先にある新...
-
ロボット未来予測2033
ロボットの用途・市場はどう拡大していくのか。AI実装でロボットはどこまで進化するのか。技術の進展...