« ITアーキテクト | メイン | Microsoft Tech・Ed 2005 Yokohama »
June 10, 2005
C の演習の課題
C 言語入門者のための演習の課題を作ってみた。
【文字列の演習】
#include <assert.h>
// ここに適切な関数を追加して、「実行できるけど、実行しても何にも起きないように」してね。
// ・今あるコードを消すのはなし
// ・#include を追加するのも禁止
void TestIsSameString()
{
assert( IsSameString("abcde" , "abcde" ));
assert(!IsSameString("abcde" , "abcdefgh"));
assert(!IsSameString("abcdefgh", "abcde" ));
assert(!IsSameString("abcde" , "" ));
assert( IsSameString("" , "" ));
}
void TestCopyString()
{
char textBuffer[0x1000];
CopyString(textBuffer, "QWERTY");
assert(IsSameString(textBuffer, "QWERTY"));
CopyString(textBuffer, "");
assert(IsSameString(textBuffer, ""));
}
int main()
{
TestIsSameString();
TestCopyString();
return 0;
}
投稿者 Fujiwo : June 10, 2005 03:20 PM
トラックバック
このエントリーのトラックバックURL:
http://blog0.shos.info/cgi-bin/mt-tb.cgi/209
このリストは、次のエントリーを参照しています: C の演習の課題:
» spotify premium hack 2014 from spotify premium hack 2014
翔ソフトウェア (Sho's) Fujiwo の日記: C の演習の課題 [続きを読む]
トラックバック時刻: March 28, 2014 01:37 PM
» uberstrike generator no survey from uberstrike generator no survey
翔ソフトウェア (Sho's) Fujiwo の日記: C の演習の課題 [続きを読む]
トラックバック時刻: May 25, 2014 04:31 AM
コメント
すっ、すごい。確信犯だ。
投稿者 ytm : June 11, 2005 01:57 AM
ytm さん、こんにちは。
確信犯です。
テスト ファーストという言葉は一切使いません。
「関数作るときは、まずどんな関数なのかを呼び出し側のコードで明示しようね」のように説明してます。
投稿者 Fujiwo : June 11, 2005 03:58 PM
とても良い課題ですね。
知らないうちにテストファーストを実践しているし、assertについて理解できるし、Cのポインタと文字列の扱いも理解できるし。
投稿者 afukui : June 12, 2005 09:06 PM
afukui さん、こんにちは。
ありがとうございます。
今 C 言語のポインタを教える方法を、試行錯誤しているところなんです。
自分で使うのに比べて他人に使い方を教えるのは、3倍の理解が必要です (当社比)。
投稿者 Fujiwo : June 13, 2005 05:04 PM