Google

東海大学理学部物理学科素粒子理論・安江研究室  

ホーム 最新情報 サイトマップ

C言語第2回

上へ C言語第1回 C言語第2回 C言語第3回 C言語第4回 C言語第5回 C言語第6回 C言語第7回 C言語第8回 Visual Studio 2005 VisualC++6.0 C言語教科書

PDFファイルの印刷

【学内】PDFファイルリーダーで印刷可能です。PDFファイルでの配布pdfのリンクをクリックしてください。現われる講義録をで印刷してください。

PDFファイル閲覧・印刷にはPDFファイルリーダーが必要です。
無償で使用できる高性能なPDF作成ソフト
第2回:C言語の構成要素(PDFファイルでの配布:c2.pdf)(Web版は更新されていません、pdfをご覧下さい)

目次

1.予約語

2.演算子

3.空白文字

4.定数

5.整数の大きさ

6.負の整数

7.間違った数を予言する

小数点の数

画面に現れない文字

10.printf関数:データに応じた型指定

プログラム例(repo2c)

第二回目レポート

【1】予約語語

コンピュータに実行してもらう命令で、C言語に特有の名前が付いている。
  • プログラムの制御構造:
if else for while break do switch continue

使用法

ifelse

while( ){

  break;

}

switch( ){

   case :

     continue;

  case :

     break;

  default:

     break;

}

for( ){

}

do{

} while( )

  • 演算子:
goto return sizeof
  • データ型:
char int float double void
  • 型修飾子:
short long signed unsigned auto
static register extern volatile const
struct union enum typedef  
目次へ戻る
【2】演算子

  • 通常の演算子:
+、−、*、/、% <、>、<=、>=、==、!=
  • C言語特有の演算子:
+=、−=、*=、/=、%= &、|、&&、||、!
++、−−  
目次へ戻る
【3】空白文字

スペース、タブ、復帰(文の先頭に戻る)、改行(次の行に移る)、改ページ(次のページに移る)等は空白文字とよばれ、画面には表示されません。空白は幾つあっても1つの空白と見なされます。(行を指定できる)改行文字も空白と同じあつかいですからコンピュータにとって行があろうがなかろうが同じで、C言語では行という概念はありません。ただ、人間が見やすいように、改行してプログラムを書いていきます。
目次へ戻る
【4】定数

C言語で使う数値として、10進数や16進数等の数字が扱えます。
種類 表記法 内容 種類 表記法 内容

8進数 

033 

0〜7の数字先頭に0を付ける

10進数 

123 

0〜9の数字先頭は0以外の数字

16進数 

0x1b 

0〜9,A〜F(a〜f)の数字先頭に0X(0x)を付ける

  

unsigned型

123U

末尾にU(u)を付ける

long型

123L

末尾にL(l)を付ける

unsigned long型

123UL

末尾にUL(ul)を付ける

  

小数点形式

3.1415

ピリオドを使う

指数形式

3.141E00

E(e)を使う

float型

123.0F

末尾にF(f)を付ける

long double型

123.0L

末尾にL(l)を付ける

1文字

'a'

’で囲む(文字の数値)

制御文字

'\n'

'で囲む(文字の数値)

文字列

"Hellow"

文字列を"で囲む

  

目次へ戻る
【5】整数の大きさ

コンピュータの頭脳は2進数で制御されている。2進数で何桁を取り扱っているかを、まず、教えておかないと何もわからない。そこで、何桁かを扱うかの取り決めをしておく。C言語では、数種類の桁数が設定されている。コンピュータに覚えやすい種類なので人間には覚えにくい。教科書60ページの4・3「整数の取り扱い」62ページの4・4「データ型」参照)

目次へ戻る
【6】負の整数

全部で2N種類の数は、負の数まで考慮に入れるかどうかを前もって指定する。教科書60ページの5・3「負の数と整数」参照)

プログラム上では?

目次へ戻る
【7】間違った数を予言する

2Nの種類がある。ここで例として文字型をとってみよう。N=128のとき(文字型)で0〜255か−128〜127である。とにかくコンピュータは256種類しか数がないので、入りきらないときは、また、元に戻って、初め(0か−128)から勘定して行く。例えば、

129=−127

が成立する。教科書62ページの4・3・3「オーバーフロー」62ページの5・3・3「データ数値のオーバーフロー」参照)

目次へ戻る
【8】小数点の数

IEEE(米国電気電子技術者協会)の形式に従うのが標準だが。。。。C言語開発社によって違っている。小数点の数といえども、2進数なので、人間の区切りのいい数、例えば「0.1」は、コンピュータの2進数では、限りなく「0.1」に近い数ということになる。常に、誤差をふくんでいることに注意。教科書63ページの4・4「データ型【3−1】実数型」以降参照)
  • float型:0〜±約1038 ほとんど使用しない:次のdouble型を使用)

  • double型:0〜±約10308

その他に、long double型:0〜±約104932がある

目次へ戻る
【9】画面に現れない文字

画面に表示される文字などを見やすいように、並べたり、行替えしたり、する制御コードは¥記号と組み合わせて使用する。教科書88ページの6・4・4「エスケープ文字」参照)

「'」や「”」には特別の意味があり、「'A'」は数値「65」で「文字数値」になっている。また、"abc"で文字列を表すように使用されている。

と画面に表示させるには

のように「\"」や「\'」を用いる。

【10】printf関数:データに応じた型指定

printf関数は、単なる文字列の表示だけでなく、数値の表示もできます。ただし、数字の大きさ毎に、適切な指定が必要です。

指定を間違えると、値が目茶苦茶になったりする。

目次へ戻る

プログラムの例(repo2.c)

使用しているVC++6.0(Microsoft)での整数や小数点数の取れる値を表示します。教科書72ページの5・2・2「最小値・最大値・大きさ」参照)

sizeof演算子:自動的にデータ型で使用するアドレスの数を計算してくれる。

データ型

sizeof演算子 計算値
文字型 char sizeof(char)
短い整数型 short sizeof(short)
長い整数型 long sizeof(long)
整数型 int sizeof(int) 2か4
倍精度浮動小数点型 double sizeof(double)
長倍精度浮動小数点型 long double sizeof(long double) 8以上

この計算値を実際にプログラムで表示させる。

データ型

最小値 最大値
文字型 char CHAR_MIN CHAR_MAX
短い整数型 short SHRT_MIN SHRT_MAX
長い整数型 long LONG_MIN LONG_MAX
整数型 int INT_MIN INT_MAX
倍精度浮動小数点型 double DBL_MIN DBL_MAX
長倍精度浮動小数点型 long double LDBL_MIN LDBL_MAX

これらニックネームはlimits.h内で定義されている。

目次へ戻る
第二回目レポート(Web上の講義録は最新ではありません。必ずPDFファイルで確認するように)

学生証番号と氏名を明記すること

必ず表紙を付け、このレポート問題を印刷し表紙の次にいれること
(A4レポート用紙)

  • 1)第一回目講義録の四則演算を小数点数を使える計算用に変更する。変更したプログラムを提出。但し、割り算の剰り(a%b)の計算は使用しないのでプログラムから削除しておくこと。
    • プログラム
    • 実行したときの画面コピー

    以上の2点を提出すること。ここで、小数点数をキーボードから読み込むのに使用するscanf関数の書式%dの代わりに%lfにすること。

  • 2) repo2.c
    • プログラム
    • 実行したときの画面コピー

    の2点の提出と

    • 小数点数の範囲をプログラムの結果を利用して解答せよ。
      • a)floatの範囲
      • b)doubleの範囲
      • c)long doubleの範囲
  • 3)短い整数型の変数xを用いたプログラム(short intと%hd)で「30000+10000」の結果を画面に表示させましたが「40000」にはなりませんでした。画面には幾つと表示されるたでしょうか?
    • プログラム
    • 実行したときの画面コピー

    の2点の提出と

  • 4)文字型2進数8桁であることを知って-2を8桁の2進数であらわすこと。教科書74ページの5・3を参考にするとよい。
  • 5)整数値の大きさについて・・・
    • 整数値で最大の大きさは、長い整数型で与えられるが、その最大の数値:4294967295はどのように計算されたかを述べよ。
    • 現在(2002年)のハードディスクの容量は180GBまである(1GB=1,073,741,824バイト=1024×1024×1024バイト)。
      • 180GBのハードディスクの容量は、C言語での最大の値を与える長い整数型の範囲にないことを確認すること。
      • 従って、新たな整数型を作らないと、180GBの容量を表示できるC言語プログラムが作れない。あなたならどのような整数を新たに作成するかを述べよ。
         
目次へ戻る

前へ ホーム 上へ 次へ

このWeb サイトではインターネットエクスプローラVer.3.0あるいはそれ以上が推奨です Internet Explorer
この Web サイト(since 1997年12月1日)に関する質問やコメントについては、Mail.gif (4196 バイト)安江 まで電子メールをお送りください。
Copyright © 1997-2022/10 東海大学理学部物理学科安江研究室 All rights reserved
最終更新日: 2022年10月14日
マイクロソフト Front Page98