( ^ω^)ブーンはC言語を知らないようです

このエントリーをはてなブックマークに追加
1以下、名無しにかわりましてVIPがお送りします。
( ^ω^)ブーンはC言語を知らないようです


第一話「C言語開発環境を整えよう」


寒くなってきたわ〜

ホンマ寒いわ〜

こういう日はコタツでPCに限るお




・・・・
2以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:07:55.42 ID:sX5+zTgx0
VIPアパートにて


('A`)「お帰り〜」

(;^ω^)「お!?  何でお前がいるんだお?」


だるそうな顔の奴はドクオという。

対して豚みたいな僕はブーンって言うお


( ^ω^)「あ、カギ閉め忘れてた」

このドクオ勝手に入りやがって。
3以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:09:03.98 ID:sX5+zTgx0
( ^ω^)「で、何してるお、タイピング練習?」

('A`)「お前じゃねえんだから・・・プログラミングだよ、C言語の」

(;^ω^)「ドクオ、プログラム書けたのかお?!」


信じられん・・・
どう見ても頭悪そうなのにお・・・


('A`)「お前もやってみるか?」

ドクオの言葉を考える必要は無かった

( ^ω^)「もちろんやるお!!」
4以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:10:03.98 ID:sX5+zTgx0
('A`)「まあこのプログラムをコンパイルしてからにしようぜ」

( ^ω^)「コンパイルってなんだお?」


このドクオ外国語まで使いやがって


('A`)「じつはプログラムを書いただけじゃPCは理解してくれないんだ」

('A`)「PCが理解できる言語は0と1だけだ」

('A`)「人が書いたプログラムを1と0の言語に変換する翻訳機みたいなものだな」

( ^ω^)「そんなモン持ってないお」
5以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:11:34.06 ID:sX5+zTgx0
プログラムなんて書いたこともないし

第一難しそうだし

( ^ω^)「メモ帳しか持ってないし」

('A`)「十分だ、メモ帳があれば、まあサクラエディタでもあれば少しはましになるだろ」


そういってドクオを着々と準備を進めていった。


('A`)「ちなみにコンパイラはここからダウンロードできる⇒ttp://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=nchc&filename=MinGW-5.1.3.exe&31144305

('A`)「インストールする際に、どのコンパイラをインストールするか聞かれるから」

('A`)「CとC++、出来れば全部チェックしといてくれ」

誰に話しかけてんだ、このニート
6以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:12:00.37 ID:Rjo/HpYW0
変数をやっと理解した俺が通りますよ

てかプログラミングスレかと思った
7以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:12:18.39 ID:pOk/PxPq0
支援
8以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:12:31.74 ID:sX5+zTgx0
(;^ω^)「インストール終わったお、これからどうすれば良いお?」

('A`)「環境変数を設定しないといけない」

('A`)「まずはコントロールパネルを開いてくれ」

(;^ω^)「開いたお」


('A`)「次にシステムをクリックして・・・」

('A`)「詳細設定のタブをクリック、そして環境変数のボタンをクリックしてくれ」

('A`)「;C:\MinGW\bin\をPATHの欄に付け加えるんだ」


( ^ω^)「おっおっできたお」


('A`)「ニコニコにも説明があるからアカウント持ってる奴は見てみるといいだろう⇒http://www.nicovideo.jp/watch/sm975200


9以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:13:14.25 ID:sX5+zTgx0
('A`)「次にコンパイルの方法を教える」


('A`)「DOSプロンプトを開いてくれ」



(;^ω^)「ん?そんなものないお、コマンドプロンプトなら在ったお」


('A`)「実はXP、2000より前のOSはコマンドプロンプトがDOSプロンプトという名前になってるんだ」


( ^ω^)(確か、ドクオのPCは95だったような気がするオ)



('A`)「コマンドプロンプトが表示されたらcd ../../ と入力してくれ」



('A`)「入力したらgccと入力してみてくれ」


( ^ω^)「なんかファイルがインプットされてないって出たお・・・」
10以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:14:28.37 ID:sX5+zTgx0
( ^ω^)「なんかファイルがインプットされてないって出たお・・・失敗かお?」



('A`)「いや、成功だ、まだ何も作ってないからな」




('A`)「なんかだんだん長くなってくるな・・・」



('A`)「今日はここまでにするかな」

(;^ω^)「ちょっと待つお、C言語についてほとんどならってないお!!」



('A`)「慌てると負けだ」


第一話 終了
11以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:15:48.54 ID:sX5+zTgx0
第二話「文字列の出力」


('A`)「さて、まずはprintf関数に付いて教えるかな」


( ^ω^)「プリントフ?」



('A`)「プリントエフだ読み方はまちがえないようがいいぞ」

12以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:18:01.53 ID:sX5+zTgx0
('A`)「こんな感じにテキストエディターに入力してくれ」


#include <stdio.h>

int main(void)
{

printf("ブーンの彼女は土人形");

return 0;

}


(;^ω^)「ツンって土人形なのかお?」



('A`)「さあな、次にこのファイルを保存しよう」


('A`)「Cファイルの直轄に入れておくと分かりやすいぞ」


ファイルの保存→Windows XP(C:)
13以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:19:03.54 ID:u1klSX080
CをやめてDelphiに移った俺だけどちょっと見ていく
14以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:19:21.87 ID:1A3kR7Mf0
「1週間でマスター!内藤式C言語」
15以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:19:27.38 ID:sX5+zTgx0
('A`)「コンパイルはさっき言ったように」

gcc ファイル名.c

('A`)「で、OKだ」


( ^ω^)「ドクオ先生質問です」


('A`)「なんだ」


( ^ω^)「printfって何?」


('A`)「画面上に文字を出力する関数のことだな、ちなみに文の一番後ろには ; をつけろよ」;


( ^ω^)「わかったお!!」;
16以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:20:00.14 ID:/RUij4rY0
がんばれ
17以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:20:27.21 ID:sX5+zTgx0
('A`)「他にも int main や return 0; なんてもんがあるがアレはほっといていいぞ、初心者プログラムにはアレを絶対書く!!」


('A`)「それだけ覚えとけ」




〜〜〜〜〜〜〜〜〜〜〜今日のおさらい〜〜〜〜〜〜〜〜〜〜〜〜



#include <stdio.h>

int main(void)
{

printf("ブーンの彼女は土人形"); ← 画面に文字列を出力

return 0;

}
18以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:20:54.08 ID:Rjo/HpYW0
なあ、Cpad使ったほうがよくね?と初心者が言ってみる
19以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:21:10.55 ID:sX5+zTgx0
ちなみに

#include <stdio.h>

int main(void)
{

return 0;

}

をの中にプログラムを書くと覚えておく(実際はそうではないが分かりやすくするために)

初心者プログラムではこの書き方だけで十分

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


( ^ω^)「次回は何をやるお?」


('A`)「変数でもやるかな、計算プログラムを作るぞ」



第二話終了


20以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:22:42.94 ID:sX5+zTgx0
なんか結構少なかったな〜


次回は変数から関数の単元くらいまで行く予定です。

おそらく明後日には書き終わるので。
21以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:23:38.51 ID:GLCffqFl0
今日は終わりですか?
22以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:23:44.16 ID:kMilYtUg0
まぁ、楽しみにしててやるよ。
23以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:24:12.27 ID:OmyX1L5TO
意外としっかりしてるww
24以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:24:41.34 ID:sX5+zTgx0
質問とかあったらお願いします。


変数に付いてチョット説明するとしたら


数値(文字列)を格納する箱ってよく言われますね
25以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:25:41.17 ID:sX5+zTgx0
ちなみにMinGWは無料ですんで。

26以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:26:50.19 ID:PnkQ+FnDO
これはど素人の俺にはなかなか興味部会スレだ。
27以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:30:43.85 ID:sX5+zTgx0
課外授業

・変数に付いて


変数と言うものは先ほど言った通り「数値を格納する箱」です。


int a;


とすると a という名前の箱が用意されたことになります(int)


これを応用して
28以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:32:25.66 ID:sX5+zTgx0
#include <stdio.h>

int main(void)
{

int a; ←変数aを用意

a = 0; ←aに0を代入する

a = a + 1; ←aに1を足す

printf("%d",a); ←aを値を表示

return 0;

}

といったことが出来ます


29側近中の側近 ◆0351148456 :2007/12/09(日) 17:32:53.33 ID:e6yHIiVY0
(っ´▽`)っ
いきなり関数ポインタなんてやってみませんか?
30以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:33:11.77 ID:Rjo/HpYW0
\と/って同じ?
31以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:33:43.93 ID:sX5+zTgx0
>>30

同じですバックスラッシュのことですよね?
32以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:34:10.97 ID:Rjo/HpYW0
そうそう
ありがとう
33以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:34:14.51 ID:kMilYtUg0
見てるだけで吐きそうになってきたぜ!
34以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:34:38.37 ID:sX5+zTgx0
>>33

漢方薬をお薦めします
35以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:36:19.13 ID:Sbc8NFnq0
printfか・・・
はろーわーるどとかおもいだした
36以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:36:25.34 ID:Rjo/HpYW0
>>34
なつき度下がるだろうが!
37側近中の側近 ◆0351148456 :2007/12/09(日) 17:38:25.66 ID:e6yHIiVY0
(っ´▽`)っ
間違い探し☆間違いはどこだ?

#include <string.h>
int func1(
  int *a,  /* 配列 */
  int Length /* 配列のサイズ */
){
  /* 配列の全メンバを初期化 */
  memset(a, 0, sizeof(a));

  /* 中略 */

  return 0;
}
38以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:39:13.73 ID:1A3kR7Mf0
>>37
(っ´▽`)っ             ←こいつ
間違い探し☆間違いはどこだ?

#include <string.h>
int func1(
  int *a,  /* 配列 */
  int Length /* 配列のサイズ */
){
  /* 配列の全メンバを初期化 */
  memset(a, 0, sizeof(a));

  /* 中略 */

  return 0;
}
39以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:39:14.05 ID:4+nn64j5O
こういう物語形式だと分かりやすくていいな
40側近中の側近 ◆0351148456 :2007/12/09(日) 17:39:56.33 ID:e6yHIiVY0
>>38
(っ´▽`)っ
大正解☆(っ´▽`)っの存在自体誤りなんだよ☆
41側近中の側近 ◆0351148456 :2007/12/09(日) 17:40:35.75 ID:e6yHIiVY0
>>38
(っ´▽`)っ
でも、かわいいでしょー☆
42以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:41:25.65 ID:Rjo/HpYW0
>>37
俺がわかるわけないというところかな
43以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:43:00.29 ID:OmyX1L5TO
>>37
それを受け取った配列を0クリアする関数にすんの?
44側近中の側近 ◆0351148456 :2007/12/09(日) 17:44:24.29 ID:e6yHIiVY0
>>43
(っ´▽`)っ
そうだよー☆
「全ての」メンバを0クリアするんだよー
45以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:45:52.92 ID:LKoNBdhLO
ポインタの
46以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:46:02.38 ID:JmbPFyJm0
C言語分かったつもりになってるけど実用的なプログラムは何一つ組めないぜ
47以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:46:05.07 ID:OmyX1L5TO
携帯だからめんどくせww
聞いといて悪いな
48以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:46:46.84 ID:u1klSX080
CUIしか作れないしポインタが理解できないから捨てた・・・
そんな軽い気持ちだからDelphiもモノになってねぇ
49以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:46:54.04 ID:LKoNBdhLO
失礼。
ポインタのサイズは8バイト固定っすから(ry
50以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 17:46:54.83 ID:QEaFU/zqO
たったこれだけかよ
せめて関数まで書いてから立てたらいいのに
51側近中の側近 ◆0351148456 :2007/12/09(日) 18:06:47.01 ID:e6yHIiVY0
>>49
(っ´▽`)っ
正解!これだと最初の8バイト分しか初期化されません☆
memset(a, 0, sizeof(int) * Length);
が正しい☆
52以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:09:45.02 ID:QN+SBvAC0
内藤がC言語を習いたい動機がわかんなかったな
エロゲー作りたい!とかそういう熱意があった方が良かったんでないかい
53以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:12:02.48 ID:94wKAqsd0
パフォーマンスの都合上やることもあるだろうけど、数値をバイト列と見なして初期化するのは、イマイチ気に入らない。
54以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:22:20.99 ID:RvrWIsnw0
>>51
せんせー、配列が1つだけしかないとどうなるんですか?
intは4バイトなんで、8バイト初期化するとおかしなことに?
55以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:25:01.39 ID:GLCffqFl0
なんかいきなり高度な方々がいらっしゃったので自信なくしたお
56側近中の側近 ◆0351148456 :2007/12/09(日) 18:25:40.37 ID:e6yHIiVY0
>>53
(っ´▽`)っ
確かに!
memset(a, 1, sizeof(int) * Length);
これで、全メンバに1が設定されると勘違いするやつもいるしね☆
57側近中の側近 ◆0351148456 :2007/12/09(日) 18:29:42.07 ID:e6yHIiVY0
>>54
(っ´▽`)っ
memset(a, 0, sizeof(int) * Length);
これは、
(int型変数1個分のサイズ)×(配列メンバ数)分初期化するという意味だよ。
intが4バイトであろうが8バイトであろうが16バイトであろうが、変わらない。
この書き方は実行環境に依存しないやりかただね。
58以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:44:05.84 ID:1uIIPoXJO
私ならsizeof(int)でなくsizeof *aを使うだろうな
59以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:44:38.19 ID:qoLml0c40
これはプログラミングスレ…なのか…?
60以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:45:14.25 ID:NAHyB27y0
え,64bit環境だったのか
61側近中の側近 ◆0351148456 :2007/12/09(日) 18:45:40.69 ID:e6yHIiVY0
>>58
(っ´▽`)っ GJ☆
62以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:46:22.76 ID:94wKAqsd0
#define NumberOf(x) (sizeof(x)/sizeof(*x)) を思い出した。
63以下、名無しにかわりましてVIPがお送りします。:2007/12/09(日) 18:46:47.67 ID:ZJPoOHFH0
これ、C言語わからないやつ置いてけぼりにもほどがあるな
64以下、名無しにかわりましてVIPがお送りします。
>>63
>>1による初心者向けの講習

終了

Cによるプログラミングスレに移行中  ←今ここ