| tag |
o <p align="right">右寄せ</p> , <font color=red>赤文字</font>
o <!-- コメント -->
o <dl>
<dt>言葉 A<dd>言葉 A の意味
<dt>言葉 B<dd>言葉 B の意味
</dl>
o <a href="bookmarks.html">bookmarks へのリンク</a>
o <a href="bookmarks.html#news>bookmarks.html の news というテキストへのリンク</a>
<a name="news">リンクされる news の設定</a>
o <ul>
<li>・リスト1</li>
<li>・リスト2</li>
<ul>
o A <blockquote>A に対しての引用</blockquote>
o <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr><th>タイトル A</th><td>123</td></tr>
</table>
cellspacing ; 枠太さ、cellpadding ; 枠とテキストとのマージン
<table border="1">
<tr><th rowspan="3">A</th><td>1</td></tr>
<tr><td>2</td><td>3</td>
</table>
----- -------
| |1| 上記の例 |__A__| 下記の例
|A|2| rowspan |1|2|3| colspan
| |3| -------
-----
<table border="1">
<tr><th colspan="3">A</th</tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
</table>
o <pre>そのままの表示</pre>
|
|---|---|
| 表記記号 | --> スペース |
| reference | http://www.web296.com/ webつくろードットコム(web296.com) Web制作専門検索エンジン |
| http://www.zdnet.co.jp/help/tips/html/index.html ZDNet エンタープライズ ヘルプデスク: Tips for HTML |
|
| http://www.soho-union.com/series2/index.html WEBのツボ || すべての企業ウェブマスターのために |
|
| http://kansai.pm.org/images/party/index.html JPEG LIST |
|
| http://www.asahi-net.or.jp/%7Ewv7y-kmr/memo.html 備忘録 |
|
| http://homepage.mac.com/toda/html/ 簡単で正しいHTMLの書き方 |
|
| http://techstyle.jp/ :::TechStyle::: HTML Table の参考になる |
|
| http://www.postgresql.jp/misc/event/LW2002/guide_lw2002.html 日本PostgreSQLユーザー会: LinuxWorld デモ・展示内容 HTML Table の参考になる |
|
| http://www.asahi-net.or.jp/%7Ebd9y-ktu/ HTMLコーディングチェック(HTML check) |
|
| ../../HeartLand/1068/b/html_memo.html HTMLに関する役に立たない覚書き |
|
| http://aks.dyndns.org/lmsanalog.php3 LMS一覧 table の参考になる |
|
| http://www.d1.dion.ne.jp/%7Eroute/emacs/emacs-intro/dot_emacs.html dot.emacs |
|
| http://www2.wbs.ne.jp/%7Eskaga/ Shu's Home |
|
| http://www.ne.jp/asahi/minazuki/bakera/html/hatomaru.html.ja.jis HTML鳩丸倶楽部 ☆ 水無月ばけらのHTML蘊蓄サイト |
|
| http://openlab.ring.gr.jp/k16/htmllint/reference.html Another HTML-lint : References |
|
| http://www.suplex.gr.jp/%7Ehourin/ Hiroyuki HOURIN |
|
APOP 対応の POPサーバに接続しメールヘッダを取り込み Subject を標準出力に出力するサンプルプログラム。 以下、松本さんからのパクリ |
|---|
|
通常の POP3 だと, Net::APOP.start ... を Net::POP3.start ... に変えます。 参考にしたのは、 http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=net%2Fpop.rb で、POP サーバからメール全体をとって来る例等が載ってます。 http://www.ruby-lang.org/ から, ドキュメント ==> Ruby 1.6 リファレンスマニュアル ==> 添付ライブラリ ==> net/pop.rb と たどれば到着します。
#!/usr/local/bin/ruby
#
require 'net/pop'
require 'kconv'
Net::APOP.start( 'pop.server', 110,
'user', 'password' ) do |pop|
if pop.mails.empty? then
print "no mail.\n"
else
i = 1
pop.mails.each do |m|
header = m.header.gsub( "\r\n", "\n" ).gsub( "\n[ \t]+", "" )
print i, ": "
header.each_line do |l|
print Kconv::toeuc(l).gsub("Subject: ","") if l =~ /^Subject:/
end
i += 1
end
end
end
|
#!/usr/bin/sh <=== シェルの宣言
for i in *.txt <=== 繰り返し命令
do <=== ブロック開始
nkf -s $i > $i.sjs
done <=== ブロック終了
| キーバインド | |
|---|---|
| C-a | 行頭にカーソルを移動する |
| C-e | 行末にカーソルを移動する |
| C-h | 1文字削除 |
| C-f | カーソルを1文字進める |
| C-b | カーソルを1文字戻る |
| C-p | コマンドヒストリを戻る |
| C-n | コマンドヒストリを進む |
| C-r | ヒストリの検索を行う |
| M-f | カーソルを1単語進める |
| M-b | カーソルを1単語戻る |
#includemain() { printf("Hellow, World!\n"); }
| ANSI | American National Standard Institute 米国規格協会が決めた標準規格に準拠している |
|---|---|
| Compile コンパイル方法 | $ gcc -o welcome welcome.c welcome.c という名前のソースファイルを welcome という名前の実行ファイルにコンパイルする |
| \n | 改行 |
|---|---|
| \a | アラーム |
| \t | タブ |
| \r | 復帰(カーソルを1番前に移動;エスケープシーケンスの後の文字に上書きされる) printf("ABC\rxx"); => xxC |
| \b | バックスペース(カーソルを半角前に移動;エスケープシーケンスの後の文字に上書きされる) printf("ABC\bx"); => ABx |
| 数値 | 整数 | 10進数・8進数・16進数 |
|---|---|---|
| 実数 | 小数点形式・指数形式 | |
| 文字 | 1文字('A') | |
| 文字列 | 1つ以上の文字の集まり("ABC") | |
| 型指定子 | 扱えるデータの範囲 | |
|---|---|---|
| 整数 | int | -2147483648 〜 +2147483647 |
| 実数 | float | 約-10(+38乗と表現したいのだが)〜+10(+38乗と表現したいのだが) 浮動小数点形式(普通の小数点を扱うときに使う) |
| double | 約-10(+308乗と表現したいのだが)〜+10(+308乗と表現したいのだが) 倍精度小数点形式 | |
| 文字 | char | -128 〜 +127 |
| int;integer , char;charcter | ||
| 種類 | 型 | 意味 | 使用例 | 結果 |
|---|---|---|---|---|
| 整数 | %d | 整数を10進で表示 | int a=10; printf("%d",a); | 10 |
| 実数 | %f | float を小数点形式で表示 | float b=1.2345; print("%f",b); | 1.2345 |
| %lf | double を小数点形式で表示 | double c=1.2345; printf("%lf",c); | 1.2345 | |
| 文字 | %c | 1文字表示 | char d='x'; printf("%c",d); | x |
| 文字列 | %s | 文字列を表示 | char* e="Happy"; printf("%s",e); | Happy |
| printf("%d",total); | %d;変換書式(total のデータ型に見合うもの) , total;変数名 | |||
| 変数の中身だけを表示 | printf("%d",total); |
|---|---|
| 文字列だけを表示 | printf("Hello"); |
| 変数の中身と文字列両方を表示 | printf("合計:%d",total); |
| 複数の変数の中身を表示 | printf("%d:%d",total,average); |
| 算術演算子 | + , - , * , / , % |
|---|---|
| %:余りを求める演算子(整数にしか使えない) 5÷2=2、5%2=2 C言語で数値を計算するには、整数÷整数=整数 という法則がある(余りを計算しない) | |
| 代入演算子 | = |
| 演算子 | 使用例 | 意味 |
|---|---|---|
| != | a!=b | a と b は等しくない |
| == | a==b | a と b は等しい |
| 演算子 | 使用例 | 意味 | |
|---|---|---|---|
| && アンパサンドアンサンド | A&&B | A式もB式も真 | 論理積 (AND) |
| || パイプパイプ | A||B | A式かB式か一方が真 | 論理和 (OR) |
| ! エクスクラメーションマーク | !A | 式の反転 | 否定 (NOT) |
| 真逆の意味 | |||
| if(i==0) i が 0 なら真 | if(!(i==0)) i が 0 以外なら真 | ||
| 優先順位 | 演算子の種類 | 結合法則 | |
|---|---|---|---|
| 高い ↑ | | | | | | | | | | | | | ↓ 低い | 一次演算子 | ( ) , -> , [ ] | 左 → 右 |
| 単項演算子 | ++ , -- , * , & | 右 → 左 | |
| 乗法演算子(算術) | * , / , % | 左 → 右 | |
| 加法演算子(算術) | + , - | ||
| 関係演算子 | < , > , <= , >= | ||
| 関係演算子 | == , != | ||
| 論理 AND | && | ||
| 論理 OR | || | ||
| 代入演算子 | = , += , -= , *= , /= , %= | 右 → 左 | |
| 演算子 | 使用例 | 意味 | 算術演算 | 代入演算 |
|---|---|---|---|---|
| ++ インクリメント | a++ , ++a | aに1加える | a=a+1 | a+=1 |
| -- デクリメント | b-- , --b | bから1引く | b=b-1 | b-=1 |
#includemain() { printf("Welcome\n"); printf("To\n"); printf("C language\n"); }
#includemain() { int data1, data2, total, average; printf("データ1? "); scanf("%d", &data1); //%d 変換書式、&変数名(変数名の前に & がつく) printf("データ2? "); scanf("%d", &data2); //" "の中は変換書式だけしか書けない total = data1 + data2; average = total / 2; printf("合計:%d\n", total); printf("平均:%d\n", average); }
#includemain() { int ten; printf("何点ですか? "); scanf("%d", &ten); if(ten >= 50 && ten <= 100) //ifの後ろには、;セミコロンをつけない { printf("よくできました\n"); } else { printf("がんばりましょう\n"); } }
#includemain() { int no; printf("ご注文は? "); scanf("%d", &no); switch(no) //switch条件式の後ろには、;セミコロンはつかない { case 1: //caseの後ろには、:コロンをつける printf("180円です\n"); break; case 2: printf("220円です\n"); break; case 3: case 4: //異なった商品で同金額の場合は、caseを並べるのみ printf("360円です\n"); break; default: // printf("入力ミスです\n"); //defaultは処理なしにするなら、省略可能 break; // } }
#includemain() { int sum = 0, val; printf("好きな数値は? "); scanf("%d", &val); //条件式の後ろには、;セミコロンはつかない while(val != 0) //val !=0;繰り返す条件が先にきている。=> 前判断 { //(最初から"valが0じゃない"条件を満たしていなければ、1回も処理を行わない) sum = sum + val; //複合代入演算子(sum += val;でも可);C言語独特の記述方法 //条件を満たしている間(valが0じゃない間)繰り返しをしなさい printf("好きな数値は? "); scanf("%d", &val); } printf("合計:%d\n", sum); }
#includemain() { int sum = 0, val; while(1) { printf("好きな数値は? "); scanf("%d", &val); if(val == 0) //ループを抜ける条件(終了条件) { //(valが0であれば、繰り返しを抜けなさい) break; //break; 無限ループを抜け出す式 } sum = sum + val; } printf("合計:%d\n", sum); }
#includemain() { int i; for(i=0; i<5; i++) //条件式の後ろには、;セミコロンはつかない { //i=0(初期処理); i<5(条件式); i++(後処理) printf("i の2乗:%d\n",i*i); } }
#include//おまじない int keisan(int x); //keisan関数のプロトタイプ宣言(prototype;原型、試作品) main() //main関数 { //始まり int data, ans; // 整数型の変数dataとansを宣言 printf("データは? "); scanf("%d", &data); // キーボードからdataに数値を受け取る ans=keisan(data); // keisan関数を呼出し、戻り値をansに代入 // 実引数(data)をkeisan関数の仮引数(X)へコピー printf("ans:%d\n",ans); // ansの表示 } //終り int keisan(int x) //keisan関数;仮引数(x)はmain関数の実引数(data)からコピーされる { //始まり int y; // 整数型(int)の変数 y を宣言 y=x*x; // x の2乗の計算結果を y に代入 return(y); // 呼出し元に制御と戻り値(y)を戻す } //終り
- ユーザ作成関数は、、、
- 変数の有効範囲(関数の中で変数宣言すると関数の中だけで有効である)
- 呼出し側の引数=実引数、呼び出された側の引数=仮引数、戻す値=戻り値
- 「関数名の前に戻り値の型指定子(int keisanのint)を書く」という決まりがある
- main関数は、OSに制御を返します。戻り値がないので型指定子「void(UNIX系では
認識しないので省略?)」を書きます。
voidは戻り値の必要がない場合、型指定子のかわりに使ってください。
voidはmain関数以外の関数でも使えます。- 「関数のプロトタイプ宣言」=main関数以外のユーザ作成関数には必ず書く。
コンパイル時に「戻り値の型と引数の型のチェック」(データ型である)、さらに
引数の数のチェックを行う。
#includemain() { //配列の宣言方法 int d[5] = {10,20,30,40,50}; //int 型指定子、d 配列名、[5] 要素数 int i; for(i=0;i<5;i++) printf("d[%d]:%d\n",i,d[i]); }
- 配列の特徴
- 連続して領域が確保される。まとめて名前がついている。
#includemain() { int i=0; int d[5]; printf("数字を入力してください。終了=0\n"); scanf("%d",&d[i]); while(d[i]!=0 && i<4) { i++; scanf("%d",&d[i]); } printf("入力された数字を表示します。\n"); for(i=0;d[i]!=0 && i<5;i++) printf("%d\n",d[i]); }
#includevoid main() { int a; int *p; a = 10; //値格納用 p = &a; //アドレス格納用 printf(" a = %d \t", a); printf("&a = %d \n",&a); printf(" p = %d \t", p); printf("*p = %d \n",*p); }
- ポインタ
- 今までのプログラム => 領域に対して名前からアクセスする => 変数名を使う
- ポインタを使用したプログラム => 領域に対してアドレスからアクセスする => ポインタ変数を使う
- 変数=値を格納、ポインタ変数=アドレスを格納
- &演算子=変数のアドレスを取り出す
- *演算子=ポインタ変数のアドレス先の値を取り出す(*p;pがポインタ変数であることを示す演算子)
#includevoid sub(int *p); void main() { int a = 10; printf("Before a = %d \n", a); sub(&a); //&a アドレス printf("After a = %d \n", a); // ↓↑ } //アドレスをコピーすることで実引数に対して直接処理をかけることができる // ↓↑ void sub(int *p) //*p ポインタ変数 { *p = *p + 100; }
#includevoid sub(int *p); void main() { int d[3] = {10, 20, 30}; sub(d); //配列の先頭アドレス } void sub(int *p) //ポインタ変数 { int i; for(i=0; i<3; i++) { *(p+i) = *(p+i) + 100; printf("*(p+%d) = %d \n", i, *(p+i)); } }
#include//おまじない #include //おまじない void main() //プログラムスタート { //始まり char text[6], buf[128]; // 文字型の配列textとbufを宣言 int length; // 整数型の変数lengthを宣言 printf("<5文字>\n"); // 5文字以内で入力を促す printf("メッセージ:"); // キーボードから scanf("%s", buf); // bufに文字列を受け取る length = strlen(buf); // bufの文字数を数え、lengthに代入 if(length <=5) // lenngthが5以下? { // Yesの始まり strcpy(text, buf); // textにbufを代入 printf("%d:%s \n", length, text); // lengthとtextを表示 } // Yesの終り else // Noの始まり printf("%d:入力ミス\n", length); // lengthとエラーメッセージを表示 } //終り /* 構文重要項目 ● キーボードからデータを受け取る際、データを格納すべき正式な配列にいきなり入れるのではなく、まず は作業領域に一度入れておき、そこで文字数を数え、条件を満たしていれば正式な入れ物に代入する char text[6]; 要素数は必ず \0(NULL文字)を含んだ数を書く「扱いたい文字数+1」 scanf("%s", buf); 第2引数は「格納する領域のアドレス」(配列名は配列の先頭アドレスを表す) (bufに文字列を取り込む際、最後に NULL文字を付加してくれる) printf("%d:%s \n", length, text); 変換書式が %sだった場合に限り(第2引数が文字列の場合)、配列名を書く (「第2引数で指定した配列の先頭から NULL文字を見つけるまで表示」という動きをする) strlen関数 文字列の長さを求める関数。文字数を数えてくれる。これを使って、条件にあっているかどうか調る。 引数は文字数を調べたい文字配列(配列名)(string) 戻り値は文字配列の文字数( NULL文字は文字数に含まない) strcpy関数 文字列の内容を代入する */
#include//おまじない #include //おまじない void main() //プログラムスタート { //始まり char passwd[5]="1209", buf[128]; // 文字型の配列 passwd(初期化)と bufを宣言 int i, flag = 0; // 整数型の変数 iと flag(初期化)を宣言 for(i=0; i<3; i++) // 3回繰り返す { // 繰り返しの始まり printf("Code Number :"); // キーボードから scanf("%s", buf); // bufに文字列を受け取る if(strlen(buf)==4) // bufの文字数が4文字以内か? if(strcmp(passwd, buf)==0) // passwd と bufが等しいか? { // Yesの始まり flag = 1; // flagに1を代入 break; // ループを抜ける } // Yesの終り } // 繰り返しの終り if(flag == 1) // flag が1か? printf("success!\n"); // success! と表示 else // それ以外 printf("miss!\n"); // miss! と表示 } //終り /* char passwd[5]="1209"; 初期化したい文字列を " " で囲む。NULL文字を含んだ形で初期化がされる。 if(strcmp(passwd, buf)==0) それぞれの配列の中に入っている文字列の内容の比較 (戻り値;比較した文字コードの差 => 等しければ0、等しくなければ0以外の値) */
#includevoid main() { char s1[10], s2[10]; int i; printf("なにか文字を入れてごらん:"); scanf("%s", s1); for(i=0; s1[i]!='\0'; i++) //文字列の最後にはNULL文字がつくので\0が見つかるまで配列の中の { //文字を一つずつコピーしていく s2[i] = s1[i]; } s2[i] = '\0'; //最後に NULL文字をつける printf("%s\n", s2); } /* 入力される文字数が9文字(NULL文字を入れて10文字)以内である事を前提 */
$Id: language.html,v 1.15 2003/11/07 15:35:57 sam Exp $