|
一覧
検索
最新
ページへ戻る
履歴
FDIII-HC Starter Kit Guide Chapter1.4
のバックアップソース(No.5)
knowledge
:
FDIII-HC Starter Kit Guide Chapter1.4
のバックアップソース(No.5)
差分
を表示
現在との差分
を表示
FDIII-HC Starter Kit Guide Chapter1.4
へ行く。
« Prev
Next »
このページではFREEDOMライブラリを使用した場合のC言語について説明をします。~ 通常のC言語と若干異なる場合があります。 **基本 [#o84a22ef] ***2進数 [#ea68bb60] 私たちが普段使っているのは10進数です。 ***ビット [#y24bb3d4] ***バイト [#q364ee42] ***変数 [#ib843ca5] 変数は数値や文字を置いておく入れ物です。~ 使い始める前に「このようなデータを入れるこんな名前の入れ物を使います」と宣言しなければなりません。 #ref(variable1.png,100%) 「int型のデータを入れるaという名前の入れ物を使います」と宣言しています。 int型というのは4バイトの整数という意味です。~ ※システムによっては異なる場合があります #ref(variable2.png,100%) a=24; は変数aに24という整数を入れることになります。 ***データ型 [#n1ebdc94] 変数を宣言する際にはどのようなデータなのかを言う必要がありました。 この「どのようなデータなのか」というのを型と言います。 型には以下があります。 |char|1バイト|-128~127| |unsigned char|1バイト|0~255| |short|2バイト|-32768~32767| |unsigned short|2バイト|0~65535| |long|4バイト|-2147483648~2147483647| |unsigned long|4バイト|0~4294967295| |int|4バイト|-2147483648~2147483647| |unsigned int|4バイト|0~4294967295| ***fd_printf文 [#ua9b7908] 文字や変数の値などを表示する時に使います。~ 通常のC言語ではprintfと書きますが、FREEDOMライブラリではfd_printfと書きます。 #ref(printf1.png,100%) fd_printfの()内の"に挟まれた文字をそのまま表示しています。 ---- #ref(printf2.png,100%) aという変数の値を表示しています。変数の値は" "内の%dの部分に表示されます。%dの部分に何を表示するかを" "の後に,で区切って書きます。~ %dは整数を表示します。その他に以下があります。~ 但し使用するライブラリによって使用できるものは異なります。 |%d|整数を10進数で表示|5, -17 など| |%f|実数|0.3, 3.8 など| |%c|文字|'G' など| |%s|文字列|"Hello" など| |%o|整数を8進数で表示|12, 23 など| |%b|整数を2進数で表示|10, 1011 など| |%u|整数を符号なし10進数で表示|37,2093 など| |%x|整数を16進数で表示|1A, B89E など| ※FREEDOMライブラリのfd_printfでは%fを使用できません。 ---- #ref(printf3.png,100%) %とdの間に数値を入れるとその桁数で表示します。空いている桁にはスペースが入れられます。~ さらに数値の前に0を付けると空いている桁には0が入れられます。~ \n は改行です。その他に \r は復帰(同じ行の頭から再び表示する)になります。 **制御文 [#b3400d86] ***if文 [#c6144380] if文は「もし○○だったら△△する。それ以外だったら□□する」というような、条件によって実行することを分ける時に使います。 #ref(if1.png,100%) 「もし○○だったら△△する」というif文です。~ ()内の条件が成り立っている時は{}内の処理を実行します。成り立っていない時は何もしません。 main() { int a =10; if (a > 5) { a = a - 1; } } もし変数aが5より大きかったらaから1引くというプログラムです。 ---- #ref(if2.png,100%) 「もし○○だったら△△する。それ以外だったら□□する」というif文です。~ ()内の条件が成り立っている時はその直後の{}内の処理を実行し、成り立っていない時はelse後の{}内の処理を実行します。 main() { int a =10; if (a > 5) { a = a - 1; } else { a = a + 1; } } もし変数aが5より大きかったらaから1引いて、それ以外(aが5以下)なら1足すというプログラムです。 ---- #ref(if3.png,100%) 「もし○○だったら△△する、それ以外でもし●●だったら□□する、更にそれ以外は■■する」というif文です。~ 最初のifの()内の条件が成り立っている時はその直後の{}内の処理を実行し、成り立っていない時は次のelse ifへ行きます。else ifの()内の条件が成り立っている時はその直後の{}内の処理を実行し、成り立っていない時はelse後の{}内の処理を実行します。 main() { int a =10; if (a > 5) { a = a - 1; } else if (a < 0) { a = 0; } else { a = a + 1; } } もし変数aが5より大きかったらaから1引いて、それ以外(aが5以下)でaが0より小さかったらaに0を代入して、更にそれ以外(aは0以上,5以下)ならaに1足すというプログラムです。 ***for文 [#l1911408] 同じ処理を繰り返す時に使います。通常はカウンタを使って繰り返す回数を決めます。 #ref(for1.png,100%) 「iの初期値を0とし、iが5より小さい間は処理を繰り返す。ただし処理を1回行ったらiを1増やす。」というfor文です。~ 事前にカウンタを変数として宣言しておきます。 処理を行うごとにカウンタが0,1,2,3,4と増え5になったら繰返しを止めます。~ i++はi=i+1と同じ意味です。 main() { int i, a = 1; for (i = 0; i < 5; i++) { a = a * 3; } } a×3を5回繰り返す(3の5乗を計算する)プログラムです。 ***while文 [#of5e8829] 同じ処理を繰り返す時に使います。for文との違いは、繰り返す回数が決まっていない時に使うということです。 #ref(while1.png,100%) ()内の条件が成り立っている間は処理を繰り返し実行し、条件が成り立たなくなったら繰返しを止めます。 main() { int i; while (i < 1000) { i = i * 2; } } i×2を繰り返し、iが1000より少ない状態でなくなったら(1000以上になったら)繰り返しを止めるというプログラムです。 ***switch文 [#x577fb19] 変数や式の値によって処理を分けるときに使用します。 #ref(switch1.png,100%) 「変数・式が値1なら処理Aを実行、値2なら処理Bを実行、どれにも当てはまらなければ処理Cを実行する」というswitch文です。~ switch文の()内の変数又は式の値がcaseの後の値と同じならその直後の処理を行います。処理後はbreak;を書きましょう。忘れるとそのまま次の処理も行ってしまいます。defaultはどれにも当てはまらない場合です。 main() { char c = '+'; int a, m = 5, n = 3; switch(c) { case '+': a = m + n; break; case '-': a = m - n; break; default: a = 0; } } cが+ならmとnをたしてaに代入、cが-ならmからnを引いてaに代入、それ以外ならaに0を代入するというプログラムです。 [[FDIII-HC Starter Kit Guid]]に戻る
« Prev
Next »
FDIII-HC Starter Kit Guide Chapter1.4 のバックアップ一覧
FDIII-HC Starter Kit Guide Chapter1.4 のバックアップソース(No. All)
1: 2009-11-18 (水) 11:43:58
sho
2: 2009-11-18 (水) 14:27:18
sho
3: 2009-11-18 (水) 18:43:31
sho
4: 2009-11-19 (木) 12:22:09
sho
5: 2009-11-19 (木) 18:44:51
sho
6: 2009-11-19 (木) 19:02:53
sho
7: 2009-11-20 (金) 20:14:07
sho
8: 2009-11-24 (火) 20:09:36
sho
9: 2009-11-25 (水) 13:28:23
sho
10: 2009-12-10 (木) 16:01:23
sho
11: 2010-01-13 (水) 16:53:35
sho
12: 2010-01-18 (月) 13:15:15
sho
13: 2010-01-19 (火) 14:47:52
sho
14: 2010-01-19 (火) 15:11:59
sho
15: 2010-01-20 (水) 16:09:22
sho
16: 2010-01-20 (水) 19:11:15
sho
17: 2010-01-21 (木) 18:51:20
sho
現: 2011-02-02 (水) 19:28:16
eid7gud
Copyright© 1989,2024 BestTechnology Co.,Ltd.
メニュー
トップ
ニュース
お知らせ
新商品情報
更新情報
マニュアル類
技術情報
チュートリアル
FAQ
お問合せ
技術的なお問合せ
その他お問合せ
お見積り
ブログ
会社案内
ショッピング
ご利用案内
検索
カテゴリ 一覧
ロボットキット
Dynamixelシリーズ
マイコンボード
相撲ロボット
センサ
通信機器
お客様ページ