スポンサーリンク

C言語で使う関数・演算子・変数型宣言の説明とよく使う処理は関数にする方法

printf

変換文字例 簡易説明
%d int a;宣言 printf(“%d\n”,a) 10進数で出力
%f float a;宣言 printf(“%f\n”,a) 浮動小数点を含む実数を出力
%c 文字として出力
%s 文字例として出力
%o 8進数で出力
%x %X 16進数で出力 %xは小文字 %Xは大文字での出力

変数型宣言の種類

型 種類 宣言例
int 整数 int a;
float 実数 float b;
char 文字 char c;
– 文字例 char d[10] (配列になります)

計算に使う演算子

演算子 説明 使用例 aの値 備考
+ 加算 a=100+6; 106
– 減算 a=100-6 94
* 乗算 a=100*6 600
/ 除算 a=100/6 16 小数点以下は出力無
% 剰余 a=100%6 4 小数点以下の余りを出力
++ 1を加算 ++a; 6 ※aの値を5とした場合
— 1を減算 –a; 4 ※aの値を5とした場合

データー入出力基本

データー種別 入力方法 出力方法
1文字 a=getchar(); putchar(a);
文字例 gets(s); puts(s);
整数例 scanf(“%d”,&a); printf(“%d\n”,a);
実数例 scanf(“%f”,&d); printf(“%f\n”,d);

関係演算子

演算子 条件例 説明
> if(a > 10) aが10より大きい場合。10以下なら当てはまらない
>= if(a >= 10) aが10以上の場合。
< if(a < 10) aが10未満の場合。9以下なら当てはまる。
<= if(a <= 10) aが10以下の場合。
== if(a == 10) aが10の時だけ当てはまる。
!= if(a != 10) aが10以外なら当てはまる。

論理演算子

演算子 条件例 説明
&& if(a==1 && b==2) 論理積 (かつ) aが1且つbが2の場合
|| if(a==1 || b==2) 論理和 (または) aが1又はbが2の場合
! if(!(a==1 && b==2)) 否定 (ではない) aが1且つbが2、ではない場合

繰り返し条件

「for / while」条件の記述例

記述
/*iの値が1から10になるまで繰り返す。*/
for(i=1; I<=10; i++)
sum=sum+i;
補足実行条件は短文の場合 {} は不要でもOK/*実行条件が複数の場合は{}が必要 */
for(i=1; i<=10; i++){
sum=sum+i;
mul=mul*i;
}/*10未満の条件なので、0から9までの繰り返し条件になります。関係演算子(”i<10″)は10を含みません */
for(i=1; i<10; i++)
sum=sum+i;/*ループするたびに2が加算される条件
(i=i+3)にすると3が加算されていきます */
for(i=10; i<=20; i=i+2){
・・・・
}/*ループするたび2倍数になります。 */
for(i=10; i<=2000; i=i*2){
・・・
}/*a[i]が0以外のときは繰り返しなさいと言う条件 */
for(i=20; i>=1; i–){
・・・
} 20から1までデクリメント(減算)していくループ条件
while(a{i} !=0){
i++;
}/*sumが1000以下の場合は繰り返しなさい */
while(sum<=1000){
sum=sum+dt
++dt
}

/*無限ループ条件 */
while(1){
・・・
}

ファイル書き込み関数

記述 説明
fgetc 1文字読み込み
fputc 1文字書き込み
fgets 文字列読み込み
fputs 文字列書き込み
fscanf 数字などの書式付読み込み
fprintf 数字などの書式付書き込み

よく使う処理は関数にする

頻繁に必要とする処理を関数にしてしまう方法を勉強してみたいと思います。

乗数を計算してもらう関数「beki」を書いて、それぞれの乗数を計算させます。

#include <stdio.h>
int beki(int a, int b);main()
{printf(“%d\n”,beki(2,3));

printf(“%d\n”,beki(3,4));
}

int beki(int a, int b)
{
int i,ans;

ans=1;
for(i=1; i<=b; i++){
ans=ans*a;
}
return ans;
}

ソースの解説
『main()』の前に乗数を計算してもらう関数のプロトタイプを宣言【 int beki(int a, int b); 】。その後に【 printf 】で『2の3乗』【  beki(2,3) 】と『3の4乗』【 beki(3,4) 】を出力するようにしています。その後ろに本題の関数とする計算処理を書いて【 return 】にて戻り値(処理結果)を呼び出し側に戻し処理を打ち切ります。

 

乗数計算結果です。
上段が2の3乗結果、下段が3の4乗結果です。

関数本体に付いて補足

関数を書くには以下のことを決めておく必要があります。
関数の名前
関数に渡すデーターの型(例:整数int)と名前
関数から戻るデーターの型は何か?
関数本体の処理方法
結果を戻す為の記述

関数bekiの本体です。関数に渡すデーターを『引数』と言います。

先に関数を書いてしまう方法

もう一つの書き方としては前述は関数のプロトタイプを書いてからmain関数の後ろに関数本体を各方法を勉強しましたが、今回は先に関数を書いてしまう方法です。

#include <stdio.h>

int beki(int a, int b)
{
int i,ans;
ans=1;
for(i=1; i<= b; i++){
ans=ans*a;
}

return ans;
}

main()
{
printf(“%d\n”,beki(3,3));
}

ソースの解説
関数を先に書いてもいいとの事です。その際にはプロトタイプを書く必要はありません。

実行結果です。

関数にする方法に付いては、二通り勉強しましたが、正当な書き方は前者『プロトタイプ』を先に書く方法が良いとされているとの事です。

コメント

タイトルとURLをコピーしました