« ITアーキテクト | メイン | Microsoft Tech・Ed 2005 Yokohama »

C の演習の課題

c.gif
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;
}

コメント (4)

ytm:

すっ、すごい。確信犯だ。

ytm さん、こんにちは。

確信犯です。

テスト ファーストという言葉は一切使いません。
「関数作るときは、まずどんな関数なのかを呼び出し側のコードで明示しようね」のように説明してます。

とても良い課題ですね。

知らないうちにテストファーストを実践しているし、assertについて理解できるし、Cのポインタと文字列の扱いも理解できるし。

afukui さん、こんにちは。

ありがとうございます。
今 C 言語のポインタを教える方法を、試行錯誤しているところなんです。
自分で使うのに比べて他人に使い方を教えるのは、3倍の理解が必要です (当社比)。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年06月10日 15:20に投稿されたエントリーのページです。

ひとつ前の投稿は「ITアーキテクト」です。

次の投稿は「Microsoft Tech・Ed 2005 Yokohama」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35