タグ

C言語に関するyshlのブックマーク (63)

  • CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita

    CPPでプログラミングする記事です。 みなさんれっつCPPプログラミング! CPPって何だよC++じゃねーのか じゃねーんだよ。悪かったな。 いや、まあ、C++に入門する記事を期待したみなさんには申し訳ない限りです。でもBoostとかにもCPPは結構使われているので、知っていて損は無いと思います。 C言語には、マクロという機能があります。これは構文解析の前(プロプロセス時)に行なわれる単純な字句展開機能で、例えば、 // 「#define 名前 値」という形式で宣言する #define MAC 42 // ソースコードにその名前が現れると、値に置換される MAC // 関数みたいにもできる #define F(x) x + 20 // 関数みたいに呼び出す F(22)

    CPP(コンパイルしない方の関数型なC言語)プログラミング入門。とりあえずFizzBuzzまで - Qiita
    yshl
    yshl 2014/04/26
  • はてなブログ | 無料ブログを作成しよう

    また作りたいレシピ 2024年5月第3週 「五月病」という言葉を忘れ去っていたことに気が付いた。もうすぐ5月も終わってしまう、なんということだ。ぐったり気味だった1週間の、また作ると確信したレシピです。 ・生ピーマンの肉みそ 去年、グルメ番組で見かけた生ピーマンと肉味噌の取り合わせが気になり…

    はてなブログ | 無料ブログを作成しよう
  • はじめてのにき(2012-02-07)

    _ やきもき @landonnoll さんが24時間で発表するとかあと数分で公開するぜとか言いまくってたので、 気になって困る感じだった。 それほど期待してたわけでもないし、それほど自信作でもないものの、過去の傾向からするとそれなりに良さそうだなあ、くらいの微妙なラインだったから、あと数分とか言われるとリロードしちゃうじゃないか…と1時間以上リロードしてるはめに。 @inaniwa3 さんもおめでとうという感じ。 ゴルファーとしてはちゃんとワンライナーで勝つべきで見習うべき… (00:36)

  • http://homepage1.nifty.com/herumi/diary/1112.html

  • 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光

    この文章はTarkastele kokoさんのブログを訳したものです。精度の高い訳ではありませんので原文などと一緒に読まれることを勧めます。内容はate bitさんが作ったC64のデモにインスパイアされたTarkastele kokoさんがC言語1行で音楽を作り始めた。チャットで数人にこの成果を発表したところGoogle+とか広がって、Javascriptのソフトができてノン・プログラマも参加してきて大きな塊が形成されてハックしあう感じでノウハウが溜まってきた。もしかしたら将来、僕らがやっていることを数学的に説明してくれたら嬉しいな。 >>>それでは文 1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? Tarkastele koko 原文 http://bit.ly/rmkvno このごろ、音楽のような何かを音響合成するとても短いプログラムでいろいろな実験をしていた。私は

    1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ? - 閉村観光
  • H8マイコンで記号プログラミングをやってみた - くろの雑記帳

    __[]={(((('$'-' ')<<('$'-' '))|('!'-' '))<<('('-' '))|((('#'-'!')<<('$'-' '))|(' '-' ')), (((('$'-' ')<<('$'-' '))|('('-' '))<<('('-' '))|((('&'-' ')<<('$'-' '))|('!'-' ')), (((('('-'!')<<('$'-' '))|(' '-' '))<<('('-' '))|((('('-'!')<<('$'-' '))|(' '-' ')), (((('('-'!')<<('$'-' '))|(')'-' '))<<('('-' '))|((('#'-'!')<<('$'-' '))|(' '-' ')), (((('$'-' ')<<('$'-' '))|('.'-' '))<<('('-' '))|((('&'-' '

    H8マイコンで記号プログラミングをやってみた - くろの雑記帳
  • http://homepage1.nifty.com/herumi/diary/1009.html

  • #include の魔力 - Cube Lilac

    何気なく呟いた言葉が確変状態になっていました。 それで、反応を眺めていると「何をやってるか分からない」と言うものがいくつかあったので、一応簡単な補足説明を載せておきます。 #include は指定したファイルの内容をその位置に追加します。 1, 2, 3, 4, 5, 6, 7, 8, 9,例えば、上記の内容を hoge.csv と言う名前で保存して、 int hoge[] = { #include "hoge.csv" }; と記述すると、(プリプロセスが終了すると)以下のように記述した事と同じになります*1。 int hoge[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, }; このように、#include を利用することによって、内容が変化しない*2データ配列などの定義を自力で打ち込んだりコピペしたりせずに済むようになります(なることがあります)。s/int/co

    #include の魔力 - Cube Lilac
    yshl
    yshl 2010/09/12
  • test/hello_ruby.rb at f24f802bfb24492b0e79167aae399385db54b5e8 · shinh/test

  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
    yshl
    yshl 2009/11/07
  • 0.00278%くらいの確率で通るコード - カメヲラボ

    悪い意味で頭がおかしい http://golf.shinh.org/p.rb?simple+octagon+tesselation 参戦者が少なくて寂しかったのですが、1人2人でも手を抜かずに! というわけで、CとRubyで酷いことをやってしまいました。 C(119B) i,j,k; main(a,n) { for( n%=33u; i<n; putchar( ++j+a>n-fmax(k=n%4*3-(i>9?n+~i:i)/3*3,0) ? j=!++i,10 : " #"[j>k&&a^j%3&1] ) )a=i%3<1; } Ruby(105B) i=0;eval'(1..n-[k=n%4-[i,n-i+=1].min/3,0].max*3-a=i%3&1).map{|j|putc" #"[j>k*3?a^j%3&1:0]};puts;'*n=id%33グレイコードの時も使われた、

    0.00278%くらいの確率で通るコード - カメヲラボ
    yshl
    yshl 2009/06/23
  • KDSETLED - Google 検索

    manpages.debian.org › bullseye › manpages-ja › console_ioctl.4.ja.html KDSETLED: LEDを ... カーネル 1.1.54 以前は、LED はそれぞれのキーボードフラグの状態を反映するだけで、KDGETLED/KDSETLED もキーボードフラグを変更するだけであった。

  • Underhanded C Contest - Wikipedia

    The Underhanded C Contest was a programming contest to turn out code that is malicious, but passes a rigorous inspection, and looks like an honest mistake even if discovered. The contest rules define a task, and a malicious component. Entries must perform the task in a malicious manner as defined by the contest, and hide the malice. Contestants are allowed to use C-like compiled languages to make

    yshl
    yshl 2009/02/27
  • C/C++の<strike>Digram</strike> Digraphでした。すみません。 - 簡潔なQ

    ネタがないので、Digraphの話でも。 昔、ISOなんたらという文字コードで使えない記号があったため、Trigraphという機能がCに実装された。 なんか、'??'に文字を続けると何かできるらしい。まあ別の文字に化けるとかなんとか。 ところがこれが恐ろしい機能で、プリプロセッサで処理すんだか知らないけど、プログラムのどの位置でも動いた。ので "Hello, world??"とかやると死亡。 あまりに酷いので今は代わりにDigraphという規格があって、 '<%' '%>' で '{' '}' '<:' ':>' で '[' ']' '%:' で '#' の代わりができる。 DigraphはTrigraphと違い、トークンレベルで認識される。つまり、lexのファイルに並列してリストしてある。 だから、文字列トークン内でDigraphが化けるなどの現象は発生しない。 まあ、何が言いたいかとい

    C/C++の<strike>Digram</strike> Digraphでした。すみません。 - 簡潔なQ
    yshl
    yshl 2009/01/10
  • Account Suspended

    Account Suspended This Account Has Been Suspended

    yshl
    yshl 2008/12/03
  • The Quine Page (self-reproducing code)

    One day, several years ago, I came across an article in an old Byte on "self-reproducing programs".  I was a curious lad, and looked to see what the article was about.  It said, "Listing 1 is a C program which duplicates itself. When the program is run it produces (on the standard output) a file containing an exact copy of its own source code".  I was hooked immediately--these guys must be geniuse

  • k.i.h.p - messageboard

    > digraph で <: が [ の意味になるので……なったからといってどうしようもないですね…ううむ digraphなんてものがあったんですか。初めて知りました。 これさえあればこんな感じでいけます。(最後の行に余計なものが増えましたが。) #include <stdio.h> #define X printf((char*)((int)&"\0ひだまりスケッチx365"[0] #define _ 1 + 1)) int main(void){ return ///////////////////////////////////////////////////////////////// X / _ / X <: "来週も見てくださいね!" ///////////////////////////////////////////////////////////////

  • 2008-07-13

    ゆの in language なんか意外に簡単だった。何も面白くないけどどうぞ。 X | _ | X <: 来週も見てくださいね 来週も見てくださいね: @echo ひだまりスケッチ×365 $@ $ ls Makefile $ make ひだまりスケッチ×365 来週も見てくださいね $ ゆの in language 趣旨に反してるのばかり組んでるのは自分の能力不足ですはい。 HQ9Y+とは、プログラミング言語HQ9+の拡張版。 Hで"Hello world!"を出力、 Qで自身のソースコードを出力、 9で『99 Bottles of Beer』の歌詞を出力、 Yで"ひだまりスケッチ×365 来週も見てくださいね!"を出力、 +でアキュムレータに1を加える。 また、未知の文字が命令として与えられた場合は、なにも出力せず、その文字に次の文字(文字コードが1大きい文字)の実行内容を割り当てる

    2008-07-13
    yshl
    yshl 2008/07/13
    Cのマクロ、HQ9Y+、Makefile。前日にWhitespace。
  • 逆数を求めるトリッキー(?)なコード - Smalltalkのtは小文字です

    ちょっと前に arton さんのところの「トリッキーなコード」というエントリーを受けて、id:kmt-t さんによる 反応 で引き合いにだされた、逆数を求める C++ のコード。 #include <stdio.h> #define FP_ONE_BITS 0x3F800000 float p, r; p = 1234.121234f; int i = 2 * FP_ONE_BITS - *(int *)&p; r = *(float *)&i; r = r * (2.0f - p * r); printf("inv expected %20.10f approx %20.10f\n", 1/p, r);=> inv expected 0.0008102932 approx 0.0008049050これをその場では読み下せなかったのが、なんだか無性にくやしかったのを、最近、Eclipse

    逆数を求めるトリッキー(?)なコード - Smalltalkのtは小文字です
    yshl
    yshl 2008/07/04
  • 銀河の歴史がまた1ページ - 2003.10.01

    関数の中で関数を実装 関数の中で関数を定義するとゆーと、関数の中でクラスを実装して、そのメンバ関数を書くとゆー簡単な手法しか思い付かなかった。 正直なところ、lambdaはテンプレートの嵐すぎて、魔法にしか見えません。 // // 関数内関数のテスト。 // 関数の中では関数を定義することはできないが、 // 関数の中でclassは定義できるので、static member functionで書こう, // // 2003.10.01 first edition // #include <iostream> int main() { class inner { public: static void func() { std::cout << "うはおkkkkkwwwww" << std::endl; } }; inner::func(); return 0; } // // end of

    yshl
    yshl 2008/07/04
    トリッキーなコード