C言が全く分からない俺を神が救ってくれるスレ

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
大学はいって始まったC言語とか言うのが全く分かりません。
誰か助けてください
2デフォルトの名無しさん:2011/11/10(木) 22:53:28.27
始まってもう半年以上経つのに、未だにcharとかなんとかが出て来たところで躓いてます...orz

どうやって勉強すればいいか教えてください
3デフォルトの名無しさん:2011/11/10(木) 22:54:38.07
ひたすら書いて試せ。以上。
4デフォルトの名無しさん:2011/11/10(木) 22:55:20.09
>>3
参考書買って写すだけで良いん?
5デフォルトの名無しさん:2011/11/10(木) 22:55:50.11
テキストに載ってるサンプルコードを動かして、いろいろいじって遊んでるうちに
分かってくるだろ。
6デフォルトの名無しさん:2011/11/10(木) 22:55:53.84
     ,.;'‐、____,:-;';:、.
   /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ.
  /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;ヽ.
  /;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:ヽ.
  i;:;:;:;:;:/ノ-'-''"ヽ;:;:;ヽ'''-ヽ、;:;:;:;:;|
  {;:;:;:;:ノ■■■   ■■■ヽ;:;:;}
  ヽ;:;{    _   _    |;:;:{
   };:;|三/ ●),. 、(● ヽ三 |〈
   ヽ| " ゙='"/:::ヾ='"゙  | }     __________
   { |∫ ∴ (,.、::,. )  ∵ |/    /
    ゝ::●. ...:人:人:::.....  ...!   < そーですワタスが変なおじさんです
    {;;ヽ:.:.:.:.:.:.:.<Ξ>:.::.:.:.:.:.:.:/;}    \
   / ヽ:.:.:.:.::.:.:.:.:.:.:.:.:.:.:/ \       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 /    |ヽ:.:.:.:.:.:.:.:.:.:/|    \
       ヽ ̄ ̄ ̄  /
        ヽ___/
7デフォルトの名無しさん:2011/11/10(木) 22:57:47.70
>>5
やっぱり数をこなすしかないのか...
楽しようとした俺が悪いんだな(ノД`)
8デフォルトの名無しさん:2011/11/10(木) 23:09:43.64
参考書を丸写しするんじゃなくて、自分なりにアレンジしてみたり
写したら改造してみるのオススメ
9デフォルトの名無しさん:2011/11/10(木) 23:13:29.25
>>8
本当に全く知識無さ過ぎて写すのだけでも苦痛なんよ...

改造なんて...(/_;)
10デフォルトの名無しさん:2011/11/10(木) 23:25:01.63
>>9
まあ、最初はな。
俺も本の一ページ分のコードを打ち込むだけで大変だった記憶があるわ。
たかだか数十行なんだけど。

おれは勉強じゃなくて趣味でやってたから初心者のときは異常にモチベーションが
高くて、休みの日は一日中で、平日も夜はずっとやるような感じだったから
コードを打ち込むだけで大変とかいう段階はあっという間に抜けたけど、
そうじゃなくて、たとえば週に2,3時間とか、そのくらいのペースだと半年たっても
つらいだろうね。
11デフォルトの名無しさん:2011/11/10(木) 23:27:22.79
写すってまさかデジカメで写してOCRにかけてるんじゃないだろう
ちゃんとノートに一字一句丹念に心を込めて書き写すんだ
同時に音読するのも良い
「しゃーぷいんくるーどすたじおえっち……」
12デフォルトの名無しさん:2011/11/10(木) 23:33:24.81
×本当に全く知識無さ過ぎて
○今までやる気が全く無くて

どうせ課題ができなくても出席だけしてれば単位くれるFラン大なんだろ?

わからないことを質問スレで聞けば誰かが教えてくれるが
教科書に書いてあることを教科書を読まずに教えて欲しいとはこれ如何に
13デフォルトの名無しさん:2011/11/10(木) 23:36:38.07
>>10
やっぱり興味がないと駄目なのかな...
そんなにPC見てると頭おかしくなりそう

>>11
ノートに書き写すのって意味あんのかな?

>>12
一応国立理系...
課題は全部コピーしてるわorz
まぁ仰るとおりです
やる気もないが
さすがにマズくなってきた
14デフォルトの名無しさん:2011/11/10(木) 23:40:04.69
プログラミング演習なんて選択でしょ?
15デフォルトの名無しさん:2011/11/10(木) 23:43:42.60
>>14
いや必修
明日も1,2限なんだ...
180分間地獄...
16デフォルトの名無しさん:2011/11/11(金) 00:11:18.96
単発質問スレは嫌われるものだが、変数までの説明はしてやってもいいだろ
まずC言語の基本の形
int main() {
    return 0;
}
これは下のように書いても同じ
int main()
{
    return 0;
}
これだけだと特になにもしないわけだ
17デフォルトの名無しさん:2011/11/11(金) 00:15:16.27
TVゲームによくあるHPを想像してほしい
プログラミングではHPの数字をどういう風に管理しているのか?
『変数』だ
変数とは、PCのメモリー上に名前をつけて、データを入れたり出したりできるようにした場所をいう
プログラミングの本ではデータを入れるための『箱』として解説される
HPの値はその時々によって変化するだろう?
変数に1を入れたり、2を入れたりすれば変数の持っている値は変わる
だから『変数』というわけだ
hpという変数ならhp=1 hp=2という具合だな

ただし、日本語が文末に。をつけるようにC言語では;をつける
だからhp=1;となる
そして、変数には『宣言』が必要だ
宣言なしにいきなりhp=1;とはできない
さきに、int hp;のようにする必要がある
18デフォルトの名無しさん:2011/11/11(金) 00:20:48.89
おお!ここまでは解るぞ
19デフォルトの名無しさん:2011/11/11(金) 00:26:04.25
int hp;
とは、数字を入れるための箱をhpという名前で用意しろということ
intは整数型といって整数しか入れられない箱を用意するんだ
int hp;と宣言しておくことでこれ以降でhpという箱に数字を入れたり出したりできる
ただし、出しても出しても変数の中は変化しないから注意が必要だ
20デフォルトの名無しさん:2011/11/11(金) 00:27:24.19
>>19
ふむふむ
21デフォルトの名無しさん:2011/11/11(金) 00:36:05.70
変数に数字を入れたら本当に入ってるか確かめたくなるよな
そこでprintf関数というものを使う
これにはいろんな使い方があるんだがとりあえず
int型の変数hpを表示する場合はこうだ
printf("%d", hp);

実際に変数に値を入れて
そのとおりに表示されるか試して欲しい

が、その前にint main()の前に
#include<stdio.h>
を加えて欲しい
これを入れることでprintf関数などいろんな関数(機能みたいなもの)が使えるようになる
C言語では使わないことはないというぐらいによく使うものだ
22デフォルトの名無しさん:2011/11/11(金) 00:38:07.49
>>21
ありがとうありがとう
ここまではモーマンタイだ
分かり易い(/_;)
23デフォルトの名無しさん:2011/11/11(金) 00:39:01.75
おっと、変数への代入を説明していなかったか
数学では=は等しいという意味だが、
プログラミングでは
hp=1;
というのは、hpに1を入れるという意味になる
24デフォルトの名無しさん:2011/11/11(金) 00:42:22.50
>>23
=の右側のを=の左に入れるんですね
25デフォルトの名無しさん:2011/11/11(金) 00:45:43.05
>>24
そういうこと
ああ、そうそう

int main()
{
    ここにプログラムを書く
return 0;
}

さあ、変数に値を入れて表示してみてくれ
わからなければ聞いてくれてかまわない
26デフォルトの名無しさん:2011/11/11(金) 00:56:07.50
>>25
さて、やろう
と思ったんですが
今PCでphoebe?とか何とか言うのを使ってるのですが、何かこれを使え!ってのはありますか?
visualC+とかなんとか....
27デフォルトの名無しさん:2011/11/11(金) 00:58:59.61
コンパイル出来ない(/_;)
28デフォルトの名無しさん:2011/11/11(金) 01:02:52.15
VisualC++はいろんなものが入っていて初心者にはわけわからんから別のにしたほうがいい
えーと、Cygwinとか?
大学の講義と同じのを入れるのが無難だよ
ま、インストールは別でやってもらうとして
http://codepad.org/というサイトでプログラミングをすぐに試せるからやってみ
LanguageにCを選んでC言語を書いてSubmitすれば
Outputのところに実行結果が表示される
やってみ
29デフォルトの名無しさん:2011/11/11(金) 01:05:55.74
とりあえず基礎から教えてやった方がいいよな?

//int型へのポインタpを宣言
int n=20,*p;
//pにnのアドレスを代入
p = &n;

//変数nに10を代入
*p = 10;

この時点で変数nは10になっている
これが分からなかったらもう諦メロン‥‥
30デフォルトの名無しさん:2011/11/11(金) 01:10:49.05
>>28
#include<stdio.h>
int main()
{
int hp;
int = 1;
printf("%d",hp);
return 0;
}

何回やってもエラーになります(ノД`)
31デフォルトの名無しさん:2011/11/11(金) 01:11:42.53
>>29
あばばばばばばわからん諦めれんんnおごごw
32デフォルトの名無しさん:2011/11/11(金) 01:13:13.04
あっ、デケター!
実行結果に

と出てきましたぞヽ(^o^)丿
33デフォルトの名無しさん:2011/11/11(金) 01:13:51.47
答えは

#include<stdio.h>

int main()
{
    int hp;
    hp = 1;
    printf("%d",hp);
    return 0;
}

int っていうのは宣言するときに使うだけ
int hp; でint型の変数hpを作ったら
hpを使えばいい

OK?
34デフォルトの名無しさん:2011/11/11(金) 01:15:27.02
>>30
intは型だから数字いれたりできないのな
int hp;(int型の変数hp)
つまりhp(変数)に数字をいれろ!
hp = 1;
35デフォルトの名無しさん:2011/11/11(金) 01:15:44.24
そう
36デフォルトの名無しさん:2011/11/11(金) 01:16:25.14
>>33
了解です!

あ、そういえば大学では
int main()

の()の中にvoidとか何とかを書けって言われたような...?
37デフォルトの名無しさん:2011/11/11(金) 01:17:14.36
int hp;
hp = 1;

int hp = 1;
と短くすることもできる

さらに、
int a;
int b;

int a,b;
としたり、

int a=1;
int b=2;

int a=1,b=2;
もできる
38デフォルトの名無しさん:2011/11/11(金) 01:17:51.78
>>37
ほうほう
39デフォルトの名無しさん:2011/11/11(金) 01:19:30.54
>>36
書いても書かなくても同じ
40デフォルトの名無しさん:2011/11/11(金) 01:19:34.03
>>36
書いちゃダメ
どうせ書くなら(int argc,char *argv[])にしとけ
コマンドラインで引数とらない限り関係ないが
41デフォルトの名無しさん:2011/11/11(金) 01:22:08.95
とりあえず書いとけば問題ないから!

みたいな風に言われたのに...orz
ナンテコッタイΣΣ( ̄◇ ̄;)

42デフォルトの名無しさん:2011/11/11(金) 01:23:13.64
わざわざ書く必要はないな
43デフォルトの名無しさん:2011/11/11(金) 01:23:59.99
>>42
わかりました
うわー
ほかにも意味ないこといっぱい書いてるんだろうなぁ....
44デフォルトの名無しさん:2011/11/11(金) 01:26:08.40
基本ぐらいならその辺のサイト見る方がいいんじゃね
45デフォルトの名無しさん:2011/11/11(金) 01:27:20.20
>>44
今探してたら苦Cとかなんとか言うのがあったんですが、これを頑張れば皆を見返せますか?
46デフォルトの名無しさん:2011/11/11(金) 01:28:15.62
int型のほかにchar型というのがある
char a = 'b';
これでchar型の変数aにbという文字を入れる
char型の変数は英数字1文字を入れることができる(日本語は無理)

これの表示は
printf("%c", a);


int型変数は%dで
char型変数は%cだ


char型変数の表示もやってみ
んじゃ俺は寝る
47デフォルトの名無しさん:2011/11/11(金) 01:30:18.11
>>46
そう...
このcharとかなんとかが出てきてついていけなくなったんですorz

わざわざ丁寧にありがとうございました!
頑張って勉強して教授をギャフンといわせれるように頑張ります!
お休みなさい!
48デフォルトの名無しさん:2011/11/11(金) 01:31:01.10
>>45
苦Cは正直あまりおすすめしない
49デフォルトの名無しさん:2011/11/11(金) 01:31:17.66
あ、あと参考までに学部学科教えてくれ
情報学部だよな?
50デフォルトの名無しさん:2011/11/11(金) 01:33:24.94
>>48
マジですか
うわあどうしよう

>>49
そうです情報工学部...
何でこんなとこ来たんだろう
51デフォルトの名無しさん:2011/11/11(金) 01:34:11.32
charで躓くってどういうことだよ
何が分からないのかいってみてみごらん
52デフォルトの名無しさん:2011/11/11(金) 01:36:55.53
int main のint も不要

main()
{
}

これで動く
53デフォルトの名無しさん:2011/11/11(金) 01:40:14.22
SkypeIDあるなら暇だしいつでも教えてあげるぞー
54デフォルトの名無しさん:2011/11/11(金) 01:42:25.54
>>52
えwまじですかw
スリムでかっちょええw

>>53
コミュ障なので...w
55デフォルトの名無しさん:2011/11/11(金) 01:43:07.66
main()
{
extern int printf(const char *format, ...);
int a=1;
printf("%d",a);
}
56デフォルトの名無しさん:2011/11/11(金) 01:44:03.70
俺もコミュ障だし大丈夫
あと>>52のやり方は確かに動くけどよくないその場しのぎ
57デフォルトの名無しさん:2011/11/11(金) 01:44:36.06
>>55
extern〜なんちゃらのとこがすでに意味不明でござるw
58デフォルトの名無しさん:2011/11/11(金) 01:45:09.10
void main()
{
}

通はvoid main()
59デフォルトの名無しさん:2011/11/11(金) 01:45:09.32
main()
{
}
は、実行には何の問題もないが
まず突っ込まれることだろう
60デフォルトの名無しさん:2011/11/11(金) 01:45:14.93
extern int printf(const char *format, ...);

これは型式であってそのまま使うもんじゃないぞ
61デフォルトの名無しさん:2011/11/11(金) 01:45:16.54
>>56
やっぱりintは書いておくに越したことは無いんですね(^-^;
62デフォルトの名無しさん:2011/11/11(金) 01:47:07.97
関数の頭につけてるのは関数の返り値の型
63デフォルトの名無しさん:2011/11/11(金) 01:47:36.87
int main(int argc, char** argv)
{
return 0;
}

いつもこう書く良い子ちゃん
64デフォルトの名無しさん:2011/11/11(金) 01:47:58.22
ぎょへー
なんか高度な話になってきたぞ
ふひひ
65デフォルトの名無しさん:2011/11/11(金) 01:49:53.34
>>61

int main()
{


return 0;
}


この書き方で統一させておいたらいいよ
66デフォルトの名無しさん:2011/11/11(金) 01:50:15.77
>>65
了解
これで行きます
67デフォルトの名無しさん:2011/11/11(金) 01:51:23.83
charで躓いてるってことは条件分岐とかも全くわからないの?
68デフォルトの名無しさん:2011/11/11(金) 01:51:54.60
駄目だー
苦Cっての見てもいろいろ有りすぎて何から手をつければ良いんだー
69デフォルトの名無しさん:2011/11/11(金) 01:52:29.92
>>67
yes
ifだのwhileだのforをまわすだのなんだの
やめてくれええええええええ
70デフォルトの名無しさん:2011/11/11(金) 01:54:08.35
おまえわざとわからないふりしてるだろ?w
71デフォルトの名無しさん:2011/11/11(金) 01:54:11.22
>>69
じゃあ例えば、画面上に「a」って1文字だけ出すプログラム書いてみてよ
72デフォルトの名無しさん:2011/11/11(金) 01:56:44.37
>>71
#include<stdio.h>
int main(){
int b = a;
printf("%d",b);
return 0;
}



どうでしょうか!
73デフォルトの名無しさん:2011/11/11(金) 01:57:38.00
>>72
残念
ではヒント

int ってのは整数を入れる箱
char ってのは文字を入れる箱
74デフォルトの名無しさん:2011/11/11(金) 01:59:55.58
>>73
あ....
最後のやつでしたねそういえば....


てことは
int b = a;を
char b = a;にして
%c
にすればいいわけですね!
75デフォルトの名無しさん:2011/11/11(金) 02:01:52.34
そういうこと
これでchar型の変数は扱える

でもそんな難しく考えなくても
#include<stdio.h>
int main(){
printf("a");
return 0;
}

で正解だったんだけどね
76デフォルトの名無しさん:2011/11/11(金) 02:04:35.29
>>75
あ、hello worldと同じなんですねorz

77デフォルトの名無しさん:2011/11/11(金) 02:05:08.06
じゃあ次にaという変数に3.14って値を代入して
その変数aを使って「πは3.14」って画面上に表示させてみてよ
78デフォルトの名無しさん:2011/11/11(金) 02:12:46.26
>>77
#include<stdio.h>
int main(){
int a = 3.14;
printf("π=%d");
return 0;
}

ですか?
てかwindows標準搭載のコマンドプロンプトでC打ち込めますか?
なんか今ほかのコンパイラとか言うやついろいろやってるけどインストールすら出来なくて...orz
79デフォルトの名無しさん:2011/11/11(金) 02:15:16.14
>>78
http://ideone.com/

ここ使うと良いと思う
プログラム書き込んで左のC選んでsubmit
一度そのプログラムいれてみて
間違ってるから多分エラーが出る
80デフォルトの名無しさん:2011/11/11(金) 02:18:38.97

printf("π=%d");

とりあえずこの部分はよく見たら何が間違いか自分でも気付くんじゃないかな?
このスレの前半部分でもちゃんと分かってたはず
81デフォルトの名無しさん:2011/11/11(金) 02:19:31.98
>>79
π =3........だ....と....
82デフォルトの名無しさん:2011/11/11(金) 02:20:38.14
>>80
intと%dは整数型...そういうことですか?!
83デフォルトの名無しさん:2011/11/11(金) 02:22:51.04
>>81
つまりintじゃ小数点のついた数はちゃんと表示されないってことだ
となるとやはり小数点の値用の箱が用意されてるはず
それがdoubleっていう物なんだよ
で、intでいう「%d」charでいう「%c」がdoubleの場合「%f」になる
もう一度入力してみて
84デフォルトの名無しさん:2011/11/11(金) 02:24:24.29
>>82
そういうこと

あと
printf("π=%d");
は凡ミスだと思うけど
printf("π=%d",a);
にしないとだめね
85デフォルトの名無しさん:2011/11/11(金) 02:24:34.14
>83
そんなことはない
自分で決めればいいじゃないか
固定小数点数とかもあるし
86デフォルトの名無しさん:2011/11/11(金) 02:25:24.38
>>83
π=-0.00000


ってなんなんだ....or
87デフォルトの名無しさん:2011/11/11(金) 02:26:39.10
なったああああああああ
π=3.140000

なんで0が4個ついてるか知らんがなりましたぜ!
88デフォルトの名無しさん:2011/11/11(金) 02:27:18.67
>>85
あくまでもC言語の導入部分の話なんだからそんなこと言うとこんがらがるんじゃね?
89デフォルトの名無しさん:2011/11/11(金) 02:29:32.47
>>87
それでおk

これで
整数は int →%d
一文字は char →%c
小数は double →%f

ってのはわかったよね?
90デフォルトの名無しさん:2011/11/11(金) 02:30:38.30
>>89
了解です!
これで明日のプログラミングのポイントがどーとかもバッチリです!
ありがとうございます!






...orz
91デフォルトの名無しさん:2011/11/11(金) 02:31:04.82
d decimal
c character
f floating point number
92デフォルトの名無しさん:2011/11/11(金) 02:32:46.39
>>91
ふ、浮動小数点....
93デフォルトの名無しさん:2011/11/11(金) 02:35:08.95
>>90

ここで補足
「%f」っていうのは便利なことに
自分がどういう表示をさせたいか、ってのも決めることが出来る
π=3.140000を
π=3.14
という表示にできるかどうかってのはこいつにかかってるわけだ

たとえばこの場合は
全体を4桁(小数点を含む)、小数点以下は2桁にしたいわけだから
%4.2fという風に%とfの間に挟んじゃう
94デフォルトの名無しさん:2011/11/11(金) 02:36:12.40
>>93
これは凄い
成る程良くできてるなぁ...
95デフォルトの名無しさん:2011/11/11(金) 02:39:52.37
>>94
じゃあ、変数a,b,cを使ってそれぞれに10,3,3.33を代入して
その変数を使って
「10割る3は3.33」って表示させてみて
この時「10割る3は3.330000」みたいにならないように
96デフォルトの名無しさん:2011/11/11(金) 02:42:03.99
>>95
や、ヤバい眠いですぞ...
自分でスレ立てたのに.
ようし!
少なくともこの課題をクリアするまではがんばるぞ!
少々お待ちを....
97デフォルトの名無しさん:2011/11/11(金) 02:43:07.24
>>96
これで最後ね
あと、プログラム書くところの右下、syntax highlightって所にチェック入れるとやりやすくなるよ
98デフォルトの名無しさん:2011/11/11(金) 02:46:58.24
>>97
出来ました!
結果は10/3=3.33です!
どうでしょうか?

#include<stdio.h>

double main(){

double a = 10,b = 3, c = 3.33;

printf("%2.0f/%1.0f=%4.2f",a,b,c);

return 0;

}
99デフォルトの名無しさん:2011/11/11(金) 02:49:07.27
>>98
まあよしとしようw

ただ、わざわざ整数型の数字をdoubleにする必要はなくて

#include <stdio.h>

int main()
{
int a = 10,b = 3;
double c = 3.33;

printf("%d/%d=%4.2f",a,b,c);

return 0;
}

これの方がよかったかな
ご苦労
100デフォルトの名無しさん:2011/11/11(金) 02:50:46.64
>>99
あ、わければよかったんですねw
くっっそーーー

でも楽しーー!
こんな初歩でもちゃんと動いたらめっちゃうれしいですw

こんな遅くまでありがとうございました(*゚▽゚)ノ
頑張って勉強します!
お休みなさい〜Zzzz
101デフォルトの名無しさん:2011/11/11(金) 02:51:15.19
>>98

あ、でも

double main{

}

これはだめだわ
プログラムに使われる数字がなんであれ
int main{


}
であることは変わらないから気をつけて
102デフォルトの名無しさん:2011/11/11(金) 02:52:10.52
>>101
始まりは絶対int....ってことですね
ってことはcharの時も
int main()


char a;
てことですよね?
103デフォルトの名無しさん:2011/11/11(金) 02:54:59.03
>>102
そういうこと
int main()
{
は何も悩まずそのまま書いちゃってdoubleだとかcharだとか悩むのはそれ以降ってことね

どうせ暇だしまたいつでも教えてあげる
104デフォルトの名無しさん:2011/11/11(金) 02:56:11.13
は?
double mainでも動くが
105デフォルトの名無しさん:2011/11/11(金) 02:56:16.90
>>103
了解です!
ほんとにありがとうございました(^_^)ゞ
ではではまたまた
   ∧∧        
  (*・ω・)  おやすみなせぇ
  _| ⊃/(___    
/ └-(____/     
 ̄ ̄ ̄ ̄ ̄ ̄ ̄      
  <⌒/ヽ-、___  
 /<_/____/ 
106デフォルトの名無しさん:2011/11/11(金) 02:57:51.53
>>104
でもdouble main()って書かれてる入門書見たら怒るんでしょ?
俺なら何も分からない時にそれでもいいと教えてくる講師からは学びたくないな
107デフォルトの名無しさん:2011/11/11(金) 03:14:18.97
PICとかだと
char main()とかだった気がする
108デフォルトの名無しさん:2011/11/11(金) 03:18:18.85
>>1
Stypiみたいな、リアルタイム共同編集機能があると便利なんだが、そういうサービスつてなかなか無いな。
109デフォルトの名無しさん:2011/11/11(金) 03:29:01.84
嘘を教えるのは教えないより害悪
110デフォルトの名無しさん:2011/11/11(金) 08:39:43.39
>>109
アンカー無しだとレス乞食と区別が付かないぜ。
111デフォルトの名無しさん:2011/11/11(金) 08:45:49.10
char b = a;
は間違い
これだとaという文字が変数みたいにも見えるだろう?

だから、文字はクォーテーションで囲んで'a'ってするんだ
ただし、複数の文字で'abc'みたいにはできない
112デフォルトの名無しさん:2011/11/11(金) 08:50:28.48
>>111
あれれ
char b = a;
も間違いだったのか
ありがとう
char b = 'a';か
よし
113デフォルトの名無しさん:2011/11/11(金) 08:55:40.81
実際charって配列にして文字列でしか使い道ないよなぁ
114デフォルトの名無しさん:2011/11/11(金) 09:01:39.81
じゃあ複数の文字はどうするんだとなるが
そこで文字列だ
文字列はダブルクォーテーションで囲んで"hello world"という具合だ
char hello[] = "hello world";

printfで文字列を表示するには%sを使う
やってみてくれ
115デフォルトの名無しさん:2011/11/11(金) 09:08:21.10
今から授業で今日は4限だから6時までPCさわれないでござる...orz

スマホで出来ますかね?
116デフォルトの名無しさん:2011/11/11(金) 09:11:36.96
#include<stdio.h>
int main(){
char hello[] = "hello world";
printf("%s",hello);
return 0;
}

結果
hello world
こうかな?
117デフォルトの名無しさん:2011/11/11(金) 09:11:40.51
無理じゃね
118デフォルトの名無しさん:2011/11/11(金) 09:31:13.43
>>115
よう昨日の俺だ
スマホでもできるけど打ち込むの面倒だからやめとけ
そんなに急いで詰めてやると頭爆発して嫌になるぞ
119デフォルトの名無しさん:2011/11/11(金) 09:33:16.09
>>118
おはようです(*゚▽゚)ノ

そうですね...
じゃぁ帰ってからは暇なのでそれから頑張りマスです(^_^)ゞ
120デフォルトの名無しさん:2011/11/11(金) 10:13:27.49
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
121デフォルトの名無しさん:2011/11/11(金) 11:03:01.23
>>113
共用体で使う

たとえば、int型のaという変数がある
int型変数は4バイトだ
変数aの持つこの4バイトの領域に対してint型変数としてアクセスするのはもちろんだが、
4つの要素を持つchar型の配列変数としてもアクセスしたいときに共用体を使う
つまり、違う型を持つ変数でメモリ領域を共有して使えるというものだ

まあ、共用体はごくまれに良く使うだけのものだから
滅多に使うことは無い
122デフォルトの名無しさん:2011/11/11(金) 11:12:05.93
まーったく駄目駄目だなあ

あの小憎たらしい人面魚以下だ
あいつがC言語でプレゼンをしたときにゃ度肝をキンッキンにしたぜ
水兵の異名を持つ能力者なんだけど、もしかして知らないとか?
123片山博文MZ ◆0lBZNi.Q7evd :2011/11/11(金) 14:44:57.56
>>121 ILP64ではsizeof(int) == 8。i8086では sizeof(int) == 2。
124片山博文MZ ◆0lBZNi.Q7evd :2011/11/11(金) 14:48:52.04
>>111
>ただし、複数の文字で'abc'みたいにはできない

俺のコンパイラはできちゃうんだよな。
125デフォルトの名無しさん:2011/11/11(金) 15:57:00.35
おや、人工痴能スレの糞コテさんじゃねーっすか
出張ご苦労

オッカムの剃刀って知ってますか?
たとえ正鵠を射る内容であっても不要である説明ならば
そぎ落とすことによって潤滑な意思疎通という目的が達せられるのです

目的を持って生きるには人生はあまりにも短い
先人の教えは二の轍を踏まぬよう若輩なる我らの道標となってくれる

先人は言う
同じ時間をすごし遊んだりはできないが
君たちが躓くであろう問題を知っているよ
126片山博文MZ ◆0lBZNi.Q7evd :2011/11/11(金) 16:38:35.11
>>125 含蓄あるお言葉おお其処に光を見たり。:-p
127デフォルトの名無しさん:2011/11/12(土) 12:49:20.46
ここのド底辺のF欄理系は今年十に分割コンパイルとc++でクラスとデザパタ、
簡単なschemeインタプリタぐらい書いてSICP解いとけ猿。
後は、pythonとscipyおぼえてデータマイニングや機械学習周りのアルゴリズムを覚えろ
128デフォルトの名無しさん:2011/11/12(土) 13:03:07.78
おまえのとこの糞な大学の糞な情報学科はvisualほげなんて、
馬鹿だかいパテントをとる馬鹿なツールを使っているあたりで、
まともな教授がプログラミングを教えているはずがない。有り得ない。あるわけがない。
サーバー管理の管理者も、そろいもそろって屑しかいない。ゴミしかいない。
あれほど教育用途に向いていないツールもそうそうお目にかかることができるものじゃない。
どーせ、エロゲとP2Pぐらいにしか使い道のない不要なOSの上で勉強をしているんだろうから、
さっさとubuntuを落としてきて、その使い道のない糞箱にインストールしてろ底辺
あと、英語は必須技能だから英語のリファレンスとマニュアルぐらいはスラスラ読めるようになっとけ
いっそK&Rも魔術師本も英語でスラスラと読めるようになっとけド底辺のゴミクズ
お前の周りにはゴミしかいないから4年後になっても自分がゴミだってことに気付かない。
周りの環境にゴミしかいないからゴミのまま、平均のウンコなレベルで卒業する
教授も教授でゴミの教育しかしていないからゴミだから仕方ないよね。のレベルで世の中にゴミを送り届ける。
だから人生を諦めてさっさと首括れ
129デフォルトの名無しさん:2011/11/12(土) 13:13:08.60
Windows向けの開発ならVisualほげほげがいいと思う
P2Pは別にWindowsに限ったことではない
Ubuntuはさすがにないわぁ
英語くらい読み書きできないと人生終わる
130デフォルトの名無しさん:2011/11/12(土) 13:18:11.99
とりあえず、今のうちから英語は読みなれとけ
教科書、参考書のなかで特に情報系と関係が深い分野で、尚且つ、
自分が興味を持てそうな分野はamazonの洋書で5星になっている聖書を買い揃えて、
寝る間を惜しんで熟読しとけド底辺の豚野郎。ああ、いっそのこと寝るな。
講義内容なんて自宅で自習して講義中に寝とけ。だいたいの教授なんて教える気がないから。
教授は馬鹿な学生になれて馬鹿向けの講義しかしない単位発行所で、
周りのほとんどもは平均レベルの馬鹿学生で馬鹿をやるために大学に来ているってことを肝に命じとけ。
131デフォルトの名無しさん:2011/11/12(土) 13:26:05.68
プログラミングの入門者がvisualほげなんて使ってどうするんだよ。馬鹿なの?死ねば?死ねよ
入門者はemacsやvimの、まともなエディタで書きなれた方が良いにきまってるだろ
そこの糞大学は、さっさと仕分けしろっての。
132デフォルトの名無しさん:2011/11/12(土) 13:54:04.47
IDEは初心者には難しいからな。
2chで、MSのサイトでVSが無料ダウソできるよって教えてもらって、インストールしても、
独学の初心者は起動した時点で途方にくれると思う。
コマンドラインなら超簡単。

しかし本格派を目指すなら最初の壁を乗り越えてIDEを使いこなすべきだけどね。
133デフォルトの名無しさん:2011/11/12(土) 14:23:03.49
何が本格派だバーカ。大学ってな教育機関が底辺コーダーを生み出すのか?
ターミナルとmakefileでシコシコやってた奴でも、IDEの使い方なんて、1、2日あれば十分だ
本格的ってのはc++みたいな言語の方だ
ただ、このド底辺のカスにc++を使いこなせるわけがないからトレンドにあったjavaでも使っとけ
そして新しい言語なんて、触ったことがなくっても、
だいたい1、2日ほどで習得してプロジェクトに投入されるんだ
メモリ管理が大変だからc++を習得しとけばjavaもc#も割とすぐに対応できるけど、
必要に迫られるまでは禿が書いた本でも斜めに読んで簡単な数値シミュレーションでもやっとけ
馬鹿学生が使いこなせずに時間だけを浪費してポートフィリオすら
作れないことを考えたらjythonが無難なツール
まだ学部1年の計算機学科なんだからIT土方よりR&Dの方面を目指せ
134デフォルトの名無しさん:2011/11/12(土) 16:07:12.17
今は時間が無限にあると思っているだろうけど、3年なんてあっという間だ。
今のうちから、いろんな研究室に顔を出しておいてまともな教授が居て、
まもともな研究がおこなわれている研究室を選別する必要がある
講義では気の良い教授かもしれないが、研究のサポート自体はウンコで、
まもともな成果なんてまったく出てない研究室なんていくらでもある
そういうゴミの掃き溜めみたいな教授もどきの元につかないためにも
早め早めに研究室を見学させてくれと頼んで中の様子を伺う必要がある
そんで、研究室の卒論を見せてもらえ。半期のレポートみたいな内容なら、その研究室には行くな
135デフォルトの名無しさん:2011/11/13(日) 17:48:37.21
間違ってもDirectXなんて特定企業の規格を学生のうちに触るなよ。仕事の幅が狭まるだけだから
CGやるにしても同じ触るならOpenGLのバインディングを覚えた方が利用できる範囲は広いぞ
情報系の学生が教育用途で学ぶって意味合いで優先順位を付けるなら
scheme > python > c > haskell > java > c++ > .net

ただ、cからの入門者がpythonを触ってもオブジェクト指向って何?状態
麻奈たん本とかeffective c++を斜めに読みながらOOPの感覚を掴んで
UMLとデザインパターンの良書を熟読しとけ
gitやmercurialみたいな分散型のバージョン管理システムの使い方と
TDDみたいな手法も一緒に覚えとけよ
そんで長期休暇中にはcでコンパイラやschemeインタプリタを実装して、
js+html5でテトリスやインベーダーなんかの簡単なゲームでも作れ
金を稼ぐことも重要な要素だからアフィなりECサイトでも構築しろ。
ただし、PHPやrubyはお勧めしない(c#やvbは恐らく最悪な選択肢だ。)
フレームワークが乱立しているし、このバブルがいつまで続くか分からない怪しい言語
学生時代の貴重な時間を無駄にする危険性がある。
後は、興味を持った専門分野のアイディアを形にする方法でも考えて、
実際にどうやって実装するかはgithubなりsourceforgeなりから設計や手法を拝借しとけ
136デフォルトの名無しさん:2011/11/13(日) 21:18:21.90
なにこの微笑ましいスレ。
137デフォルトの名無しさん:2011/11/13(日) 22:58:06.27
ピカピカのF欄理系もどきと就活で失敗したF欄理系もどきのやりとり
138デフォルトの名無しさん:2011/11/14(月) 07:58:38.54
痛々しいスレだな(嘲笑
139デフォルトの名無しさん:2011/11/14(月) 08:02:57.18
プロ野球選手になれなかったダメおっさんが、
ひっしに息子に地獄特訓メニューを強いる的な構図w(微笑ましいw
140デフォルトの名無しさん:2011/11/15(火) 03:51:08.11
そうか?文系のアホSEなんて、市場が飽和して淘汰されそうだぞ
141デフォルトの名無しさん:2011/11/16(水) 20:44:16.27
良スレの気配だったのに >>1 は去ったのか?
それとも自立して羽ばたいたのか?
142デフォルトの名無しさん:2011/11/19(土) 01:23:44.67
今日配列の値を書き換える関数のサンプルコードを書こうとして、

void pow2(int* out, int size)
{
for(int i=0; i < size i++)
{
out[i] = out[i]*out[i];
}
}

と書いてコンパイルエラーを修正するのに20分かかった。
2か所間違いがあるんだけど暇な人は見つけてみて。
143デフォルトの名無しさん:2011/11/19(土) 05:21:01.38
初心者はコンパイラの吐いたエラーメッセージやwarningを読まない
ラインが示されていても読まない。英語だと拒絶する。
printfデバッグや関数型マクロ、__FILE__,__LINE__,assert()と
マクロで条件分岐するのと使っているコンパイラのオプションぐらい覚えとけ
で、そのレベルだとIDEは荷が重いだけだからvim使っとけって

セミコロンが抜けてんのしか分かんね
cだとforループの頭で変数iを定義したらエラーだろうが、vc++使ってるだろうから通るだろうし
outが本当はdouble型だなんて本人にしかわからない
144デフォルトの名無しさん:2011/11/19(土) 08:57:49.95
>>143
ループ頭の変数定義とセミコロン忘れ。
正解です。さすがプロ。

Cの文法は初心者以下の知識しか持っておりません。
とあるスクリプト言語からDLLのエクスポート関数を使う練習をしたかったけど、
適当な例がなかったから仕方なく人のソースを参考に書いたものです。

cl /LD pow2.c

VC++では拡張子が.cだとC言語のソースとみなすらしいです。
http://support.microsoft.com/kb/132340/ja
145デフォルトの名無しさん:2011/11/20(日) 00:37:13.67
オライリーのヤドカリ本でも買って、基本的なデータ構造やアルゴリズムを片っ端から写経しとけ
146デフォルトの名無しさん:2011/11/20(日) 11:13:23.42
CCC
147デフォルトの名無しさん:2011/12/13(火) 03:35:08.38
>>78 学習目的なら、tinyCお勧め。かなりコンパクト
148デフォルトの名無しさん:2011/12/13(火) 22:53:00.94
>>135
OpenGLだの豪華なもん与えんじゃねぇよぼけ
学生ならフルスクラッチ
http://jsbin.com/ubiyay/3/edit#preview
こんな感じで、ライブラリやCanvasすら使わず
言語機能だけでポリゴン作れるようにならなきゃ話にならん。
149デフォルトの名無しさん:2011/12/13(火) 23:12:15.22
>>121
CPUが更新されただけで互換性がなくなるから、
そういう使い方しちゃだめってカーチャンに教えてもらわなかったのか?
150デフォルトの名無しさん
>>148
何やってるかと思ったらBitmapにして描画してるのか。
そんなんより Sleep作ってくれ。