C の超カンタンなことなら漏れに聞け
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG他の言語はHTMLしかできないが、例のスレがウイルスに犯されているのをみかねて、立ち上がった。
変数宣言、入力、出力、演算、条件文、繰り返し文、関数、ファイル処理、ポインタ、構造体、と入門レベルなら一通りできる。
あと構造体のチェイン、関数のポインタ、ビットシフト、共用体がわからんが、これもあと一ヶ月くらい勉強すればわかるだろう。
このスレでは、漏れが基礎レベルの質問に答える。しかし、俺様が5分以上考え込む難問は禁止だ。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNGまず、Cでは、「文字」と「文字列」は別の物として扱われる。
「文字」は一文字、「文字列」は配列を用意して、
そのなかにちまちま文字をはめ込んだものだ。
また、まぎらわしいことに、「文字列定数」とかいうものもある。が、いまはとりあえず、文字の入力についてだけ説明する。
とりあえず、次のコードをコンパイルして実行する。
#include <stdio.h>
int main(void)
{
int ch; // int 型の ch を宣言。
ch=getchar(); // getchar で一文字読み込み、ch に代入する。
putchar(ch); // putchar で、ch に読み込んだ文字を出力する。
}
上のコードを実行すると、プロンプトが出て、文字を入力するように待機しているので、たとえば A と入力しEnterを押せば
A
と出力される。
見た目はこれだけだが、
(1)なぜ ch をint で宣言したのか(なぜgetcharをintで受けるのか)
(2)もしAAと2文字入力してからEnterを押すとどうなるのか(バッファリングの問題)
(3)ch の中身は本当は何が入っているのか
など細かく見ていくとおもしろいのだが、入門スレなので大胆に省略する。
00061は
NGNG0007Kusakabe Youichi
NGNG> また、まぎらわしいことに、「文字列定数」とかいうものもある。
「リテラル」は「定数」って訳すと混乱する場合も多いので、
そう訳さない場合もけっこうありますよ。
> {
> int ch; // int 型の ch を宣言。
> ch=getchar(); // getchar で一文字読み込み、ch に代入する。
> putchar(ch); // putchar で、ch に読み込んだ文字を出力する。
> }
>
> 上のコードを実行すると、プロンプトが出て、文字を入力するように待機しているで、
プロンプトがでるってどんな環境の場合だろう?
たとえば A と入力しEnterを押せば
> A
> と出力される。
Enterはどこ行っちゃったの?
> (1)なぜ ch をint で宣言したのか(なぜgetcharをintで受けるのか)
なぜ変数名が「ch」なのか? てのも気になりますね。
0008デフォルトの名無しさん
NGNG糞壁は気にしないで、続けてね。
0009デフォルトの名無しさん
NGNG嬉々としてしゃしゃり出てくる7には、
ウザイを通り越してむしろ愛すら感じる(;´Д`)ハァハァ
0010デフォルトの名無しさん
NGNGうむ、Kusakabeが嬉々として食いつくタイトルだな。
ご苦労 >>1
0011>なぜ変数名が「ch」なのか?
NGNG>1
才能を感じる♪
0012Kusakabe Youichi
NGNG>「リテラル」は「定数」って訳すと混乱する場合も多いので、
>そう訳さない場合もけっこうありますよ。
わたしならこんなめんどうな回答はしませんね。
こう答えます。
13ペイジを見ればわかりますよ?:)
0013Kusakabe Youichi
NGNG> クソスレ立てる1はウザイが、
> 嬉々としてしゃしゃり出てくる7には、
「ききとしてしゃしゃりでて」きたことにすると、うれしいのですね? :)
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGはい、うざいけど気にせず続けてね。
0016Kusakabe Youichi
NGNG> 13ペイジを見ればわかりますよ?:)
「よ」の後ろがだめですね。(まるでMS-IMEユーザー)
0017デフォルトの名無しさん
NGNGvoid というのは「何も無い」という状態を、積極的に宣言するものだ。たとえば
int main() // () の中が空白
でも、引数無し、というのは見てわかるが、
int main(void) // () の中に void がある
とかいたほうが、
「引数はありませんよ」
と明らかに示しているのでわかりやすい。
また、もし間違えて、この関数を引数つきで呼んでしまったときは、コンパイラーで判断して、エラーを出せる。
また、関数の返り値が何も無い、ということを示すときにも使う。
(1)void foo (void) //foo という関数は、引数が無くて、返り値も無い
(2)int bar(void) // bar という関数は、引数が無くて、int 型の返り値を返す
このように使う。また、void 型の変数宣言というのもあるらしいが、そこまでよく読んでいないので省略。
ちなみに、ネットでvoidというハンドルを使う者もまれにいるらしい。これは「void」という名前ではない。
「名前」欄を空白にせずに、わざわざvoidと書き込むということは、
「名乗るほどの名前じゃありやせん」
という意味、つまり、2ちゃんでの「名無しさん」とかと同じ意味である。
0018Kusakabe Youichi
NGNG> 「よ」の後ろがだめですね。(まるでMS-IMEユーザー)
わたしがバカにするのはATOKだけですね。
0019デフォルトの名無しさん
NGNG他でやってください。
0020Kusakabe Youichi
NGNG> ちなみに、ネットでvoidというハンドルを使う者もまれにいるらしい。これは「void」という名前ではない。
そんなにこわがらなくてもー :)
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG不定は文字どおり、定まってない。決まっていない。
処理系依存は、(実装が)処理系によって違ってる。
ってことじゃないの?
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG不定というのは、本当に何がはいるかまったくわからない、ということ。
処理系依存は、ある特定の処理系だけつかうなら、その動作が予想できるけど、別の処理系に持っていったとき、どういう動作になるかわからないもの。
0026デフォルトの名無しさん
NGNG0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG同じ。しかし、「0」と書くより
「\0」
と書いたほうが「文字としての0」という雰囲気をもっている。文字列の終端を見つけたいときなど
「0まできたらループ終了」
とかいうコードを書くと
「この0はいったいなんだ?」
と一瞬迷う。「\0」にしておけば、文字としての0、つまり、文字列の終端がきたらループを抜けるんだな、とすぐわかる。
0030デフォルトの名無しさん
NGNG知らないので省略
>>28
ここ↓わかりやすいぞ
http://www2.airnet.ne.jp/sardine/complang/Forth.html
0031デフォルトの名無しさん
NGNGポーランド人じゃないので
そんな記法受け付けません。
0032デフォルトの名無しさん
NGNG「何もさしていない」って意味っしょ?
0033デフォルトの名無しさん
NGNGhttp://www.catnet.ne.jp/kouno/c_faq/c5.html#0
とりあえずFAQ読め。
0034デフォルトの名無しさん
NGNGヒープのを知らないのでは答えられないと思いますが。
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG>答えられないと思いますが。
なら、聞くなよ。
0037>33のリンク
NGNG0038デフォルトの名無しさん
NGNGナルをヌルとか言っているし。
0040デフォルトの名無しさん
NGNGじゃ、原文で読めよ。
http://www.eskimo.com/~scs/C-faq/top.html
0041デフォルトの名無しさん
NGNGsageるのなら書き込むなよ。
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNGsageをなんか勘違いしてないか?
0044デフォルトの名無しさん
NGNGsage == ネタ
これもな(w
0045デフォルトの名無しさん
NGNG君の脳内ルールを、ここで語られても困りますが。
0046デフォルトの名無しさん
NGNG君にはネタという言葉が通じないのかな?
0047デフォルトの名無しさん
NGNGナル null ほとんどの場合、0 と等価
ニル nil Lisp用語 なにも無いという意味
ヌル null ナルの日本人用読み方
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG間抜けなことを書いてしまったからネタということにしたいのでしょう。
追求しないのが大人の態度。
0052デフォルトの名無しさん
NGNG100点満点で10点
0054デフォルトの名無しさん
NGNG空(から)
0055Kusakabe Youichi
NGNG> このように使う。また、void 型の変数宣言というのもあるらしいが、
はつみみです。
0056Kusakabe Youichi
NGNG> In article >>16, Kusakabe Youichi/9 <[email protected]> wrote:
> > 「よ」の後ろがだめですね。(まるでMS-IMEユーザー)
>
> わたしがバカにするのはATOKだけですね。
わたしはATOKを馬鹿にしたりしたことはいちどもないですよ。
(使うやつは馬鹿だろうけど)
0058Kusakabe Youichi
NGNG> In article >>17, Kusakabe Youichi/17 <[email protected]> wrote:
> > ちなみに、ネットでvoidというハンドルを使う者もまれにいるらしい。これは「void」という名前ではない。
>
> そんなにこわがらなくてもー :)
「てもー」なのに「:)」が付いてるんですか?
0059デフォルトの名無しさん
NGNGほとんどの場合等価です。
0061Kusakabe Youichi
NGNG> NULLと'\0'ってどう違うんですか?
全然ちがうものですよ。
125ペイジ 「5.1.3 NULLと'\0'と0」 を読みましょう。
0062デフォルトの名無しさん
NGNG不定
0064デフォルトの名無しさん
NGNG不定なので比べようがありません。
0066デフォルトの名無しさん
NGNGhttp://dictionary2.goo.ne.jp/ej/voice/N/02060587.wav
これを何度も聞いてください。そのうち悟りを開けます。
0067デフォルトの名無しさん
NGNG本もってたらここで
わざわざ聞かないって。
0068デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNGということにしたいのですね? :)
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGifとgotoを使う。
0074デフォルトの名無しさん
NGNGではnullと不定は等価ではないということになります。
0075デフォルトの名無しさん
NGNGあ、そっか。Cにもgotoってあったんだったな。
それさえ使わない方法は無理だよね?
0076デフォルトの名無しさん
NGNG知らない。
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGその辺は曖昧です。あなたが不定ではないと思えば不定ではないし、不定であると思えば不定だということになります。
0081デフォルトの名無しさん
NGNGいえ、コンピュータ自体が曖昧なのです。人間が作った物ですから。
0082Kusakabe Youichi
NGNG> 本もってたらここで
> わざわざ聞かないって。
買えばいいのに。
0083Kusakabe Youichi
NGNG> whileもforも関数の再帰呼び出しも使わないで繰り返し処理を行う方法を教えてください。
回数分書く。
0084デフォルトの名無しさん
NGNGあほか。
0086デフォルトの名無しさん
NGNGはいそうです。コンピュータの機嫌を損ねないよう、くれぐれも気をつけてください。
0087デフォルトの名無しさん
NGNGようは、気の持ち様ということで。
0088デフォルトの名無しさん
NGNGいわれてみれば
それもあるな
0089デフォルトの名無しさん
NGNGループのアンロール。
先生にしてはまともな回答。
0090デフォルトの名無しさん
NGNGわかりました。ありがとうございました。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG繰り返し処理…
って質問してるからなぁ。
つーか、難癖付けるにしてももう少しエレガントにやっとくれ。
0094デフォルトの名無しさん
NGNGそれを言ったら、再帰もループと言えるのか?
0096デフォルトの名無しさん
NGNG0097Kusakabe Youichi
NGNG> 繰り返し処理…
> って質問してるからなぁ。
回数分繰り返してかくんだから「繰り返し処理」ですよ。
0098デフォルトの名無しさん
NGNG無限ループにしたい場合はどうするの?
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGインラインアセンブラでジャンプすればー
0101デフォルトの名無しさん
NGNG日本語書けとは言わないから、理解はしてくれ、偽カベさん。
91が「ループ処理を…なら不正解」と書いたのに対して、
「繰り返し処理…って質問してるからなぁ」と答えたんだが?
ついでに「難癖付けるにしてももう少しエレガントに」とも書いたな。
■ このスレッドは過去ログ倉庫に格納されています