PowerPoint プレゼンテーション

広島工大
前回の内容
• はじめてのC
• コメント
• 関数、main()
• 文
情報基礎実習Ⅰ
1
広島工大
今日の内容
• 変数の型
• 入力と出力
情報基礎実習Ⅰ
2
広島工大
C言語の基礎
文(Sentence)
文は宣言文と実行文がある。文と文はセミコロン;で区切る。
#付きの行と関数の定義にはセミコロンは付けない
例:c03.c
予約語
予約語はC言語自身があらかじめ定義しキーワードとして
使うものなので、関数名と変数名として使うことができない。
情報基礎実習Ⅰ
3
広島工大
C言語の基礎
変数の型
C言語では使用する変数はすべて宣言する必要がある。
基本となるデータ型
int, char, float
他
short, long, unsigned, double
各型のデータのサイズはコンパイラに依存する
例:各種の変数の型の占めるサイズをバイト単位で求める。
情報基礎実習Ⅰ
4
広島工大
C言語の基礎
制御文字(エスケープシーケンス)
printf(“Hello, welcome to C world.\n”);
\0
\b
\f
\n
\r
\t
\\
\’
\”
ナル
バックスペース
改ページ
改行
復帰
水平タブ
バックスラッシュ
コーテーション
ダブルコーテーション
情報基礎実習Ⅰ
5
広島工大
入力と出力
• 特殊な場合を除いて入出力は必要である。
• 入出力は標準ライブラリ関数を用いて行う。
よく利用する入出力関数
scanf() --- 入力
printf() --- 出力
使い方はUNIXの場合manコマンドで参照できる。
情報基礎実習Ⅰ
6
広島工大
ヘッダファイル
C言語でプログラムを書くとき、標準関数や予め定義したマクロ
などを利用した場合、その関数はどのヘッダファイルに含んで
いるのかコンパイラに教える必要がある。
例えば、scanf()やprintf()を使っている場合、プログラムの最初
のところで次の文が必要とする。
#include <stdio.h>
その理由は、scanf()とprintf()の原型がstdio.hファイルに定義
されている。
情報基礎実習Ⅰ
7
出力関数printf()
広島工大
printf()の書式
printf(char *format,arg_list)
これは文字列formatに従って、変数の値を標準出力に出力する
関数である。
例:
Printf(“Hello World.\n”);
Printf(“a = %d, b = %f\n”,a,b);
情報基礎実習Ⅰ
8
広島工大
入力関数scanf()
scanf()の書式
scanf(char *format,arg_list)
これは文字列formatに従って標準入力装置からデータを入力し
変数に代入する関数である。
変数に値を代入するためにscanf()関数の引数は変数のアドレス
を指定するようになっている。
変数のアドレスは変数名の前に&(アンパサンド)をつけて表す。
例:
Scanf(“%d”,&a);
Scanf(“%d %d”,&a,&b);
情報基礎実習Ⅰ
9
scanf()とprintf()のformat
書式:
広島工大
%type
typeにはd, o, x, X, f, e, c, sなどが指定できる。
一文字
文字列
十進数
十進数
仮数部と指数部
に分ける実数
%f 実数
%x 十六進数
%X 十六進数
%o 八進数
その他
%c
%s
%d
%i
%e
36という数字の進数が
分からないと意味は不明
情報基礎実習Ⅰ
10
getchar()とputchar()関数
広島工大
getchar()は標準入力から1文字(ASCII文字)を読み込み、その
ASCIコードを値として返す。
 戻り値は整数(integer)である。
 引数を持たない関数である。
putchar()は1個のint型の引数を標準出力に送る。
例: putchar(c);
この文について、
整数cの値をASCIIコードとして、そのコードをもつ文字を出力
情報基礎実習Ⅰ
11
広島工大
マクロ
マクロ(macro)
#define MAX 101
#define max(x,y) (((x)>(y)) ? (x): (y))
上記のような#で始まる行はプリプロセッサで処理する。(書き直し
拡張Cソースプログラムを生成する。
ソースコードの中に表れる定型的文字列や一連の式や数字
などを簡単な文字列(マクロ)で定義し、ソースコードが簡潔
で理解しやすくなる。
コードにマクロを使うと、後から数値の変更が容易である。
例:マクロ定義を使ったプログラム例。
情報基礎実習Ⅰ
12