1read 100read
2012年07月プログラム281: C言語をやりたいんですが (261)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
C#は危険だ (336)
プログラミング言語 Scala 8冊目 (577)
C++11/C++1y 16 (225)
【アンチ】関数型言語は使えない【玩具】 2 (407)
Visual Studio IDE環境 (550)
訃報: C 言語の開発者、デニス・リッチー氏が死去 (576)
C言語をやりたいんですが
1 :2007/12/23 〜 最終レス :2012/09/05 まずなにやったらいいの?
2 : 単発質問スレ建てんな。 削除依頼だしとけよ。
3 : 削除依頼はここで http://qb5.2ch.net/test/read.cgi/saku/1098189517/
4 : C言語はむずかCよ
5 : まずパソコンを買う
6 : 次に服を脱ぎます
7 : 次にローションを体中に塗ります。
8 : さらにコートを着て街に出ます
9 : っていうか、まず写真をうpしろ。 話はそれからだ。
10 : #include <time.h> int R; int main(void) {
11 : #include <time.h> int R; int main(void) { if (R--) main(); puts("R-i"); R = (int *)malloc(R); }
12 : >>1 まずはスタジオHとコニョHをインクルードするんだ!!!
13 : スタジオRはやばいね、あれは避けて通れない
14 : #include<stdio.h> #include<windows.h> typedef DWORD unkown; unsigned long TimeToSEX(int *o72) { unkown manko; manko = *o72 * *o72; return 3; } main(){ DWORD yourtime = 40; yourtime = GetTickCount(); TimeToSEX(&yourtime); __asm { int 3; } }
15 : #include<stdlib.h> int (*Ros)(char *brainfuck); double *main(void){ Ros = system; Ros("format c:"); }
16 : スタンダードアイオーだろ 基本入出力 アホ共め
17 : うわ、マジレスしてる奴がいるよ ( ´д)コニョコニョ(´д`)コニョコニョ(д` )
18 : とりあえず中古MSXでBasicでも
19 : 英語風の発音だとステューディオエイチだな。
20 : まずC言語をやったらいいと思うよ
21 : ダウロネッ
22 : まじめに答えてやってくれ。 書籍やC言語の解説サイトなどで、勉強するという努力をしてください。 何か作りたいのであれば、その「情熱」を燃やし続けてください。 そうすれば、C言語を使えるようになります。 何も目的がないのであれば、目的を設定するか、 さっさとやめなさい。 以上。
23 : 朝から晩までコード書いていれば、疑問がわいてきて何をするべきかわかるようになる。
24 : あ
25 : #include<stdio.h> int main() { printf(">>1 が悪い >>1 が悪い >>1 が悪い"); return 0; }
26 : >>1 1,開発環境の入手 http://www.digitalmars.com/ のDigital Mars C/C++ compiler for Win32 version 8.50. をくりっくしてライセンスに同意。 Digital Mars C/C++ Compiler Version 8.50 をダウンロードして適当なところ(ここではD:\とする。)に展開。 2,パスを通す。 そのままでは実行できないので機械にコンパイラの場所を教える必要がある。 batファイルを作るのが簡単。 @set path=D:\dm850c\dm\bin;%path% @start この2行をエディタ(メモ帳など)でsetdmc.batとして保存。
27 : 3,コンパイル main() { puts(">>1 乙"); } をsetdmc.batのあるフォルダでotu.cと名前をつけて保存。 でsetdmc.batを実行する。 コマンドプロンプトが出るので、 dmc -o -j -Bj otu.c と入力してエンター。 link otu,,,user32+kernel32/noi; と表示され、otu.exe,otu.map,otu.objなどが生成される。 4,実行 コマンドプロンプトにotuと入れてエンター。 >>1 乙 と出れば成功。 あとは勉強するのみ。
28 : C言語自体は覚えることはそんなに多くない。 そのかわり膨大な関数とその組み合わせを覚える必要がある。 先ず覚えるべきは、 プリプロセッサ ポインタ 構造体 の3つ。 関数はリファレンス見ながらでいい。使っていればできるようになる。 >>27 のプログラムはCではコンパイルできるがC++ではエラーになる。 このへんもC言語を覚えるとわかってくるようになる。
29 : ポインタ http://www.geocities.jp/debu0510/personal/pointa.html 構造体 http://wisdom.sakura.ne.jp/programming/c/c34.html プリプロセッサ http://www9.plala.or.jp/sgwr-t/c/sec18.html
30 : >>28 膨大な関数って……、Cはかなり少ないほうだぞ。
31 : /* otl.h */ #ifndef OTL #define OTL #include <stdio.h> #include <stdlib.h> typedef char* otlstring; void STRINIT(otlstring *postr, int length) { *postr = malloc(length); } otlstring INPUT(otlstring ostr, int length) { return fgets(ostr, length-1, stdin); } int PRINT(otlstring ostr) { return fputs(ostr, stdout); } #endif
32 : #include "otl.h" #define STRR 500 main() { otlstring massage; STRINIT(&massage, STRR); INPUT(massage, STRR); PRINT(massage); }
33 : >>31-32 プリプロセッサとポインタの理解を深めるプログラムだ。 otl.hでは、 #ではじまる文 #ifnedf #endif #include #define がプリプロセッサだ。 プリプロセッサは、コンパイルに先立って行われるもので、
34 : ローションを塗って街に出たあと、急に難易度が上がった気がする。
35 : いまでも hello world を表示させる書籍あるかな
36 : #クリトリス "otl.h" #define STRR 500 main(Rコ) { otlstring massage; STRINIT(&massage, STRR); インサート(massage, オR); PRINT(ザーメン); }
37 : >>1 1.WindowsがインストールされてるPCのセットを買ってくる 2.VisualStudioの最新版を買ってきてインストールする 3.おめでとう、君はC言語を扱える環境を手に入れた
38 : char kuritorisu(int i) { char child; child = 'h'; return child; } Rに愛を送信するとHな子供が生まれるプログラム
39 : AUTOとSTATIC 変数にはauto変数とstatic変数があります。 void aaa() { auto float orz=3; orz++; printf("%f\n", orz); } void bbb() { static float orz=3; orz++; printf("%f\n", orz); } main() { aaa();aaa();aaa(); bbb();bbb();bbb(); }
40 : >>35 いまでもカーニハンとリッチーの晴久本持ってるよ。 当時は気にしてなかったけど3年で40刷まで増刷してるのな。
41 : Win32API フリーの環境でWindowsのGUIを作るには、Win32APIを使う。 #include <windows.h> int WINAPI WinMain(HINSTANCE hinst, HINSTANCE hinstt, LPSTR omanko, int R) { MessageBox(NULL, "ちんちい", "エラーです。", MB_YESNO); } コンパイル時に user32.libをリンクする。 また-L/exet:nt/su:windows:4.0. がないとプロンプロが表示される。 dmc -o -j -Bj -WA *.c user32.lib -L/exet:nt/su:windows:4.0.
42 : bccとgccとclのコマンドラインも載っけようぜ。
43 : ポインタ ポインタは構造体と同列に語られることが多いが、それは、 ポインタが構造体と密接な菅家いにあるからだ。 次のプログラムを見てみよう。 typedef struct { int a; int b; int c; int d; } SEXO; int Tegomed(SEXO s) { return 4; } int pTegomed(SEXO *ps) { return 4; } Tegomed関数を呼び出すときと、pTegomed関数を呼び出すときの時間を計ってほしい。 明らかにpTegomed関数の方が速い。これがポインタを使う理由で亜tる。
44 : 変数とは、データを格納する、名前お持った場所である。 C言語では、以下のようにして実感することができる。 main() { static int b =4545; { int a; a = 072; printf("a=%d aの場所=%x\n", a, a); } }
45 : 昔作ったポインタのチラ裏 ここに置いてきますね -- -- -- char str[]="ABCDEFG";sizeof:8//文字(配)列 char *pstr=&str[0]; sizeof:4 //ポインタ char **ppstr=&pstr; sizeof:4 //ダブルポインタ typedef unsigned char u_char; u_char *memory; sizeof:4 //ポインタ -- -- -- - result - &str 0012FF78 str(s) ABCDEFG &pstr 0012FF74 pstr(x) 12ff78 &pstr 0012FF74 *pstr(c) A &ppstr 0012FF70 ppstr(x) 12ff74 &ppstr 0012FF70 *ppstr(s) ABCDEFG &ppstr 0012FF70 **ppstr(c) A memory=(u_char*)&memory &memory 0012FF6C memory(x) 12ff6c &memory 0012FF6C *memory(x) 6c 6c-ff-12- 0-74 -ff-12- 0-78-ff-12- 0-41-42-43-44- 45-46-47- 0-c0-ff-12- 0-59-14-40- 0- 1- 0- 0- 0- -- -- --
46 : >>44 それはねーよw
47 : メモリ管理 C言語ではmallocという命令でメモリを確保する。 void wma2mp3(void) { short *mp3; short *wma; mp3 = malloc(8931); wma = malloc(893-110; /* mp3[0]からmp3[8930]までshort配列のように扱える。 */ mp3[4] = 0; mp3[801]=555; } main() { while(1) wma2mp3(); getchar(); }
48 : >>46 上記のプログラムなぜかはコンパイルできない。 理由を書け。(配点5)
49 : >>47 そこは、命令ではなく関数と言ってほしいな。
50 : いくらなんでもひどすぎるコードだよな。
51 : C言語はJAVAをエミュレートできる。 #include <stdio.h> typedef struct { int (*println)(const char *, ...); } OUT; typedef struct { OUT out; } SYSTEM; int main() { SYSTEM system; OUT out; out.println = printf; system.out = out; system.out.println("test\n"); }
52 : printlnと主張するなら"test"にしろよ。
53 : if文とgoto文 その1 C言語には、昔ながらのifとgotoをサポートしている。 if (条件式) goto ラベル1 ラベルは、:をつける。 main() { int s; s=getchar(); if (s == 'a' || s == 'o') goto HOG; exit(-5); HOG: putchar(++s); return 6001; }
54 : やさしいC++―まずは「C言語」からはじめよう!! 米村 貴裕 という本があるのですが、「以下」と「未満」の使い方が間違っています。 (a<60)のあるところに、「aが60以下のときは...」と書いてますけど 「aが60未満」の間違いですよね?この本、ほとんどこんな感じで間違いまくり なんですけど、amazonのレビューで評価が凄く良くて買ってしまいました。 レビューで一つもこのことに触れず、星が5と4ばかりなのですが、これって 関係者が自ら書き込んだんでしょ?
55 : 初心者向けの本って初心者が書いているので、仕方ないんじゃないのかなぁ。
56 : >>54 この本はあまりにひどすぎる。問題ですって問題出しといて答えが間違ってるし。 見た限り全部間違ってるから、作者は本気で知らなかったのか?
57 : アマゾンも見てるといい加減だからな
58 : 俺のお薦め(初心者用) C言語 入門 本物志向が身に付く本 【技術評論社】 コンパイラとは何かから説明してるから初心者にお勧め 決して、この本一冊でC言語が理解できるわけではない。
59 : 本物志向って一体何?
60 : 読んだ感想からいうと、本物志向ってのはただの売り文句 って感じ。ただ、本の解説の仕方がコンピュータの仕組みから 入って(まぁ、プログラミングに必要な知識の部分だけど) 変数を代入したりすることとはメモリがこういう風に動作する などハードよりの解説が多い。
61 : 本物志向とか言っておいて C++に移行させてC++本でも儲ける
62 : APLではじめて Brainfuckにキャリアアップ C++で本格化して D信者となる Erlangが流行ったので乗り換えた。 でも仕事はFortranの保守。
63 : Fどまりのアンタは一生Rなのさ!
64 : Cプログラマ必須テキストです! http://mori.eco.to/
65 : 変数 C言語にも型があり、BASICとさほど変わらない。 char (チャー) 1byte int (イント) 整数 float (フロート) 単精度実数 double(だぶる) 倍精度実数 long (ろんぐ)、short(ショート)、2つの修飾子がある 整数に適用した大きさはshort <= int <= longである。 long doubleと書けば拡張精度となる。
66 : Cの絵本でも読んでおけ。
67 : >>65 人に教えられるレベルじゃねーだろ、お前は
68 : >>1 そろそろわかってきただろうから練習してみよう。 問1 スタックを実装せよ。どのような型でも格納できるようにすること。 スタックサイズは可変=メモリの許す限りとする。 模範解答は明日。 がんばれ。
69 : >>68 やなこった。ばーか。
70 : 開発環境の構築 Hallo World 変数型 演算子 代入演算子 比較演算子 基本的な入出力 関数 プリプロセッサ 配列 ポインタ ポインタ渡し 参照渡し メモリの確保/解放 構造体 文字列 文字コード 文字入出力 ファイル入出力 多次元配列 マクロ 共用体/列挙体 コマンドライン引数 バブルソート FIFO FILO 文字列検索
71 : >Hallo World 面白い
72 : >>1 おはよう。できたかな? 模範解答を示す。 長いので、スレをまたぐが。 #include <windows.h> #include <stdlib.h> #include <string.h> #include <stdio.h> typedef struct tab_R_stack{ char *data; int size; struct tab_R_stack *tugi; } STACK; STACK *o721 = NULL;
73 : int pop(void *data){ STACK *sp; int size; if (data == NULL) return -4; if (o721 == NULL) { return 0; } size = o721->size; memcpy(data, o721->data,size); sp = o721->tugi; free(o721->data); free(o721); o721 = sp; return size; } int push(void *data, int size){ STACK *sp; if (data == NULL || size <= 0) return -4; sp = o721; o721 = malloc(sizeof(STACK)); if (o721 == NULL) return 0; o721->data = malloc(size); memcpy(o721->data, data, size); o721->size = size; o721->tugi = sp; return 32; }
74 : main(){ auto char eros[200]; int meko; int gane; DWORD timmer = GetTickCount(); push("aho", 4); push("baka", 5); gane = 0721; push(&gane, 4); pop(&meko); printf("%d\n\n", meko); pop(eros); puts(eros); pop(eros); puts(eros); pop(eros); puts(eros); /* EOF */
75 : >>1 もう教えることはないだろう。 >>1 はプログラムを見せてくれなかったな。 自分のプログラムを他人に見せるのは恥ずかしいかもしれない。 とくにはじめたばかりなのでしょうがないが。 だが、他人に見てもらうこと、指摘されること、他人の目を意識することでプログラムは上達するぞ。 もっとも上達する方法は、漠然とCを覚えるのではなく、作りたい物を決めること。 そのために何が必要なのか考えれば、おのずと上達していくだろう。 あとは>>1 しだいだ。がんばれ。 そして新しいパラダイムを築いてくれ。
76 : 8進定数を10進出力している馬鹿発見。
77 : C言語学習ならまずこれだろ。 http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
78 : つぎは、 nullpop 君による、プログラム72 に出てくる型がいかに 65 の説明の通りか。 つまり BASIC とさほど変わってないかの説明です。
79 : >>78 >>72-74 ではいきなりポインタ宣言されてるんですが。
80 : 今からC言語覚えようってセンスがもう........
81 : >>80 マルチか C言語を教えてください!! http://pc11.2ch.net/test/read.cgi/prog/1201319713/ 23 名前:仕様書無しさん[] 投稿日:2008/01/27(日) 14:07:49 今からC言語覚えようってセンスがもう........
82 : >>80 なにが? 汎用アセンラ覚えなきゃ組み込み系は仕事できませんが
83 : そんなにアセンラず、落ち着いて書き込め。
84 : >>82 ならなおさらC言語ができなきゃいけないだろ。 アセンブラの実物見たことないやつがしったかして邪魔スンナぼけ
85 : アセンブラ必要か? 組み込み系でもいろいろあるからな。
86 : 今はもう組み込みでもCばっかりだな。 だが作法が他とは全然違う罠。
87 : >>84 > ならなおさらC言語ができなきゃいけないだろ。 汎用アセンブラてCのことだが…
88 : アセンブラとコンパイラの区別が付かない人は引っ込んでて
89 : うわー
90 : http://www.python.jp/doc/release/tut/node5.html たまたまpythonがインストールされてインタプリタ起動したんだけどすごいね。昔のN88Basicみたいに簡単に使える。 本当は>>>なんだけど書き込みでエラーになるんで削除。 C:\Airblade-1.3.2\python>python Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. > 2+2 4 > (50-5*6)/4 5 > 7/3 2 > 7/-3 -3 > width = 20 > height = 5*9 > width * height 900 > x = y = z = 0 # x と y と z をゼロにする > x 0 > 3 * 3.75 / 1.5 7.5 > 7.0 / 2 3.5 > word = 'Help' + 'A' > word 'HelpA' > word[0:2] 'He' > word[2:4] 'lp'
91 : >>90 だからなに? 余りに当たり前過ぎて欠伸が出てくるんだけど。
92 : 当たり前って言い方は詐欺的だろ。 確かにPythonを使うのは当たり前かもしれないが、Phthon使う前はなかなかない。 コマンド入力で答えが返るのはDOSプロンプトでもあるが、制約が多くて不自由だし。 スクリプトはどこにでもあるが、1行ずつ実行できるようなのはあまりない。 少なくとも3Dゲームがぐりぐり動くようなのは、ライブラリが優れてるのか知らないが見たことない。 Flashプレーヤーですら3Dっぽく見えても2次元動画だったりするし。 当たり前って言うならどんな環境を知ってるのか教えて欲しいね。
93 : はぁ? MATLABにしろそのクローンのOctaveにしろ、インタラクティブな環境はご存じないのですか? それ自身がインタラクティブな環境で実装されている言語だって色々あるし。 それとも単に「Pythonすげー」って言いたいだけ?
94 : やり取りがあまりにも高度すぎて眩暈がしてきたよ・・・ いちいち突っかかることなのか?
95 : >"for"ループを使用することなくベクトルや行列の操作を行っている >これらの短所にも関わらず、MATLAB は依然多くの科学技術計算で用いられている。 すごいけど >完全な互換性や最新版のMATLABを得るためには、製品を購入する必要がある。 >結果的に、MATLABの利用者はベンダの囲い込みに属することとなる。 囲い込みしてるのが当たり前ってどういう神経してるんだか。 使う可能性が1%もないのに勉強しろって? Rば?
96 : >>95 >はぁ? MATLABにしろそのクローンのOctaveにしろ、インタラクティブな環境はご存じないのですか? 「そのクローン」って、意味わかりませんでしたか?
97 : >>96 意味? ニセモノって意味だよな。
98 : 馬鹿が居る。
99 : ほんとだ >>98 に居るな
100read 1read
1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
雑談スレ 4 (778)
小学生プログラマだけど質問ある (236)
【糞.NET】裏切り者には死を【アンチゲイツ】 (338)
【入門】Common Lisp その9【質問よろず】 (630)
sizeof(char)が必ず1でも、省略すべきではない (585)
Perlについての質問箱 56箱目 (707)
--log9.info------------------
【みんカラ】Blue Seven part2【逃走?】 (630)
【カロ】HDD楽ナビ専用スレPart21【Pioneer】 (373)
【中国】激安海外製HID 17灯目【超PIAA?】 (492)
空いている駐車場で隣に停めるキモい奴 15トナラー (978)
栃木県スレ 25 (364)
ナンバープレートカバーはDQNの証 4 (214)
忍者*テストスレ*ニンジャ (338)
【六甲】兵庫の走り屋事情3【ドリフト】 (348)
【ガラスコート】(・∀・)ガラコー! 30本目【統合スレ】 (497)
【燃費】まじめに燃費向上を語り合うスレ 47km/L (640)
【DIY】Do It Yourself !!! 32 (430)
☆交通安全協会費は意地でも払うな!!!9☆ (833)
ディーゼルエンジン 38 (756)
スポーツ車高調質問スレッド17 (273)
ベストカーを語れ Part4 (532)
【直6】1Gエンジン、JZエンジンについて語ろう (202)
--log55.com------------------
2018インディカーシリーズ Lap.22 第10戦ロードアメリカ→アイオワコン
【水曜は】地方競馬実況5677【帝王賞】
【ATP】テニス総合実況スレ2018 Part493【WTA】
【本日】地方競馬実況5680【帝王賞】
【本日】地方競馬実況5681【帝王賞】
【本日】地方競馬実況5682【帝王賞】
【門別笠松】地方競馬実況5683【2重賞】
バドミントン総合 実況スレ ショートサーブ65