ViVi Home > 技術文書 > ポインタ入門 > 文字コード 演習問題


 

 

C/C++ ポインタ入門 > 文字コード 演習問題
Nobuhide Tsuda
Oct-2013

演習問題

※ 以下の問題に於いて、文字は ASCII エンコーディングであるものとする。

  1. void my_strdumpDec(const char *str) 引数で指定された文字列の各文字の文字コードを10進数で表示する関数を実装しなさい
  2. void my_strdumpHex(const char *str) 引数で指定された文字列の各文字の文字コードを16進数で表示する関数を実装しなさい
  3. bool my_isdigit(char ch) 引数の文字が数字('0' ~ '9')であれば true を、そうでなければ false を返す関数を実装しなさい
  4. bool my_isalpha(char ch) 引数の文字が英字('A' ~ 'Z', 'a' ~ 'z')であれば true を、そうでなければ false を返す関数を実装しなさい
  5. bool my_isalnum(char ch) 引数の文字が英字('A' ~ 'Z', 'a' ~ 'z')または数字('0' ~ '9')であれば true を、そうでなければ false を返す関数を実装しなさい
  6. bool my_isupper(char ch) 引数の文字が英大文字('A' ~ 'Z')であれば true を、そうでなければ false を返す関数を実装しなさい
  7. bool my_islower(char ch) 引数の文字が英小文字('a' ~ 'z')であれば true を、そうでなければ false を返す関数を実装しなさい
  8. char my_toupper(char ch) 引数の文字が英小文字('a' ~ 'z')だった場合は英大文字('A' ~ 'Z')に変換した文字を返しなさい。それ以外の場合は引数の文字をそのまま返しなさい
  9. char my_tolower(char ch) 引数の文字が英小文字('A' ~ 'Z')だった場合は英大文字('a' ~ 'z')に変換した文字を返しなさい。それ以外の場合は引数の文字をそのまま返しなさい
  10. ★★void my_toupper(char *str) 引数の文字列中の英小文字('a' ~ 'z')を英大文字('A' ~ 'Z')に変換しなさい。
  11. ★★void my_tolower(char *str) 引数の文字列中の英大文字('A' ~ 'Z')を英小文字('a' ~ 'z')に変換しなさい。
  12. int my_atoi(char ch) 以下の関数を実装しなさい。
    引数の文字が数字('0' ~ '9')であればそれを10進数に変換した値を返しなさい。数字でない場合は -1 を返しなさい。
  13. ★★int my_atoi(const char *src) 引数に文字列をとり、それが数字列で始まっていた場合は、 文字列を10進数に変換した値を返しなさい。数字以外で始まっていた場合は -1 を返しなさい。
  14. ★★★void my_getword(char *dst, const char *str) 引数 str に含まれる最初の英単語を dst に格納する関数を実装しなさい。英単語を含まない場合は空文字列を設定しなさい

 


前: |上:C/C++ ポインタ入門 |次: